文件管理命令:
mkdir 创建空目录
语法:
mkdir [选项]…目录…
选项:
- -P:逐层创建目录。
- -v:显示过程。
- -m:直接给定权限。
注意:路径的基名为命令作用对象。基名路径必须存在。
示例
创建/tmp/x1/a/a1和/tmp/x1/b
rmdir 移除空目录
语法
rmdir [选项]…目录…
选项:
- -p:删除子级后,向继续父目录逐层删除。
- -v:显示过程
示例
删除/tmp/x1/a/a1和/tmp/x1/b
cp命令:copy
是将源文件(suorce)复制到目标文件(dastination/DEST)
复制文件可以分为两种:
- 单源文件复制:
- 如果 目录DEST不存在,则会先创建文件,并赋值源文件下的数据流到DEST中;
- 如果DEST存在:
- 如果DEST是目录文件并且包含数据文件,则会覆盖目标文件;
- 如果DEST是目录文件,则现在DEST目标下创建一个与源文件同名的文件,并将源文件的数据流复制DEST的目录文件内。
- 多源复制:
- 如果DEST不存在便会提示错误。
- 如果DEST是目录文件,则现在的DEST目标下创建一个与源文件同名的文件,并将源文件的数据流复制到DEST目录文件内。
语法:
- 单源复制:
- cp [选项]…[T] SOURCE DEST
- 多源复制:
- cp [OPTION]… SOURCE… DIRECTORY
- cp [OPTION]… -t DIRECTORY SOURCE…
常用选项:
- -i:交互式复制,即覆盖之前提醒用户确认;
- -f:强制覆盖目标文件;
- -r -R:递归复制目录;将目录下的文件一并复制过去
- -d: 复制符号链接本身,而非其指向的源文件。
- -a: -dR –preserve=all,archive,用其实现归档;
- -p:保留保留源文件所有者的属性
- mode:权限
- ownership:属主属组
- timestamps:时间戳
- context:安全标签
- xattr:扩展属性
- links:符号链接
- all:上述所有属性
示例:
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest1目录
执行命令 cp /etc/p*[^0-9] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest2目录
执行命令 cp -a /etc/*.d /tmp/mytest2
12、复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest3目录
mv命令:move
- 源文件复制到指定的目录下,文件名不变。如果目标文件不是目录文件则会变更目标文件名,并覆盖以存在的同名文件。
- 如果是在同目录下作重命名。多个源复制到目标文件时保存源文件名不变。
语法:
- mv [OPTION]…SUORCE DEST
- mv [OPTION]…SUORCE…DEST
- mv [OPTION]…target-directory=DIRECTORY SOURCE…
选项:
- -i:交互式移动,覆盖前提示。
- -f:覆盖前永不提示。
- -b:档文件存在时,覆盖前为其创建一个备份。
- -S<后缀>:为备份文件指定后缀,而不是用默认的后缀。
- -u:当源文件与目标文件重复且目标文件比较新或目标文件不存在时,才执行移动操作。
- –target-directory=DIRECTORY:移动全部“源文件”参数到“目录”中。
示例:
1、移动sys符号链接文件到/tmp/kernel并备份
rm命令:
移除每个指定的文件,默认情况下,他不能移除目录。但当使用-r或者-R选项时,在指定目录下的整个指定的目录树都会被移除。
语法:
rm [OPTIONS]…FILE…
常用选项:
- -i:提示是否移除每个文件。如果是则删除,否行则跳过。
- -f:不提示直接删除
- -r:递归的移除目录中的每一个文件
示例:
1、删除之前的演示目录/tmp/kernel
元数据
所有文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,元数据是指这个文件的的特征信息,包含访问权限、文件的拥有者和文件数据的块分布信息等。
时间戳metadata: :
- access time:最近访问 [简称a time]:2017-11-27 21:46:04.519521528 +0800
- modify time:最近更改 [简称m time]:2017-11-27 21:46:04.519521528 +0800
- change time:最近改动 [简称c time]:2017-11-27 21:46:04.519521528 +0800
stat 命令
显示文件或文件系统的状态。
格式:
stat FILE…
touch 命令
触摸改变文件的时间戳
选项:
- -c:指定的文件路径不存在时不予创建。
- -a:仅修改 acces time
- -m:仅修改 modify time
- -t:STAMP [[CC]YY]MMDDhhmm[.ss]
bash的基础特性之一:查看命令的执行状态结果。
bash命令执行时都会将末次执行的命令状态都将保存与bash的特殊变量$?中,可以使用echo $?进行查看执行命令结果。
- 查看命令装来确认命令是否执行成功,返回值为0时标示成功。
- 根据命令的功能呢不同返回值为1-255之间的任意数则是标示命令执行失败。
格式:
$?
示例:
1、查看ls的执行状态返回值
2、查看符号链接文件的第一行,查看错误返回值。
3、ls /var 将结果输出给 /dev/null 查看返回值
4、创建一个tfile开头后是当前是日期和时间的文件,文件名为:tfile-2016-05-27-09-32-22
bash的基础特性之一:命令行展开。
- ~:自动展开为用户的家目录,或指定的用户的家目录。
- {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径。
示例 1
创建/tmo目录下的a_b、a_d、b_c、b_d
mkdir -pv /tmp/{a,b}_{c,d}
:
alias命令:
语法:
定义别名:alias 别名=命令
撤销别名: unalias 别名
示例:
给ifconfig 设置别名为ifc,。
使用命令引用另一个命令的结果创建文件。
创建/tmp/mylinux目录下的:
mkdir -p /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}}
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现1位数字(可以有其他字符)的文件或目录。
在/var下新建了3个文件目录分别是:lock99a、 look8a、like55a、
执行命令 ls /var/l*[0-9]*[a-z]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
在/var下新建了3个文件目录分别是:9998a、8888a、66a.
执行命令 ls -d /etc/[0-9]*[a-z]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
在/etc下创建9a998
执行命令 ls -d /etc/[0-9][A-Z,a-z]*
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest1目录
执行命令 cp /etc/p*[^0-9] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest2目录
执行命令 cp -a /etc/*.d /tmp/mytest2
12、复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
多源复制需要目标目录存在,所以首先建立/tmp/mytest3目录
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89806