Linux文件管理与bash特性

时间:2016-10-15 05:50:07 

Linux上的文件管理命令

目录管理命令:

mkdir:make directories

mkdir [OPTION]… DIRECTORY…

-p: 自动按需创建父目录;

-v: verbose,显示详细过程;

-m MODE:直接给定权限;

注意:路径基名方为命令的作用对象;基名之前的路径必须得存在;

rmdir:remove empty directories

rmdir [OPTION]… DIRECTORY…

-p:删除某目录后,如果其父目录为空,则一并删除之;

-v: 显示过程;

文件管理命令

cp命令:copy

源文件;目标文件;

单源复制:cp [OPTION]… [-T] SOURCE DEST

多源复制:cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

单源复制:cp [OPTION]… [-T] SOURCE DEST

如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;

如果DEST存在:

如果DEST是非目录文件:则覆盖目标文件;

如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

多源复制:cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

如果DEST不存在:错误;

如果DEST存在:

如果DEST是非目录文件:错误;

如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

常用选项:

-i:交互式复制,即覆盖之前提醒用户确认;

-f:强制覆盖目标文件;

-r, -R:递归复制目录;

-d:复制符号链接文件本身,而非其指向的源文件;

-a:-dR –preserve=all, archive,用于实现归档;

–preserv=

mode:权限

ownership:属主和属组

timestamps: 时间戳

context:安全标签

xattr:扩展属性

links:符号链接

all:上述所有属性

mv命令:move

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE..

常用选项:

-i:交互式;

-f:force

rm命令:remove

rm [OPTION]… FILE…

常用选项:

-i:interactive

-f:force

-r: recursive

bash的特性

命令的执行状态结果

命令执行的状态结果:

bash通过状态返回值来输出此结果:

成功:0

失败:1-255

命令行展开

~:自动展开为用户的家目录,或指定的用户的家目录;

{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

创建/tmp目录下的:a_c, a_d, b_c, b_d

touch {a,b}_{c,d}

创建/tmp/mylinux目录下的

mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

文件元数据

文件元数据主要包括权限,大小,inode,属主,属组,access time, modify time, change time,etc…

文件的元数据可以用stat命令查看。

touch命令可以修改时间戳:

touch [OPTION]… FILE…

-c: 指定的文件路径不存在时不予创建;

-a: 仅修改access time;

-m:仅修改modify time;

-t STAMP

[[CC]YY]MMDDhhmm[.ss]

命令别名&引用命令的执行结果

可以使用alias name=value形式定义命令别名。

引用命令的执行结果:

$(COMMAND)

或`COMMAND`

练习

显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

ls -ld /var/l*[0-9]*[a-z]

显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

ls -ld /etc/[0-9]*[^[:digit:]]

显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

ls -ld /etc/[^[:alpha:]][a-z]*

在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`

复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

cp -r /etc/p*[^0-9] /tmp/mytest1/

复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

cp -r /etc/*.d /tmp/mytest2/

复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

cp -r /etc/[lmn]*.conf /tmp/mytest3/

看不过瘾?点击下面链接!
本站微信公众号:gsjx365,天天有好故事感动你!

相关电脑知识

美图欣赏

电脑知识排行榜