目录
复制文件或目录-cp
将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp [选项]...源文件或目录...目标文件或目录...
注:此时cp为“cp -i”别名
常用选项
-f -i -p -r
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制复制
-i:覆盖目标同名文件或目录时提醒用户确认
-p:复制时保持源文件的权限、属主及时间标记等属性不变
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在
强制复制:/bin/cp -f
\cp -f
例如,以下两个操作将把/bin/touch 命令程序复制到当前目录下,并命名为 mytouch; 另外将/etc/yum.conf 文件复制一份作为备份,添加.bak 扩展名,仍存放在/etc 目录中。
示例:将etc中123.txt文件复制到根目录下
以下两个操作将把/bin/123.txt 文件程序复制到当前目录下,并命名为 321.txt; 另外将/etc/123.txt 文件复制一份作为备份,添加.bak 扩展名,仍存放在/etc 目录中。
移动文件或目录-mv
将指定的文件或目录转移位置
如果目标位置与源位置相同,则相当于执行重命名操作
mv [选项]...源文件或目录... 目标文件或目录
mv mytouch mkfile
mv mkfile public_html/
mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
rename 旧字符 新字符 目标文件
例:rename jpg gif *.jpg
查找命令文件存放目录-which
搜索范围有环境变量PATH决定(echo $PATH)
which 命令|程序名 //默认当找到一个目标后不再继续查找
或
which -a 命令|程序名 //在所有搜索路径中查找
示例:
which ls
which history
注:使用which查找内部命令时,将找不到对应的程序
查找文件或目录-find
采用递归方式,根据目标的名称、类型、大小等不同属性进行精确查找
find [查找范围] [查找条件表达式]
查找范围:查找文件或子目录的目录位置
查找条件表达式:查找条件类型
常见查找条件类型
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找 一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件 常用的容量单位包括kB(注意k是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找 文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等块设备文件(b):成块读取数据的设备(硬盘、内存、光驱) 字符设备文件(c):按单个字符读取数据的设备(键盘,鼠标) |
使用find命令实现多个查找条件
各表达式之间使用逻辑运算符
-“a” 表示 而且 (and)
-“o”表示 或者 (or)
示例:
find /boot -size +1024k -a -name "vmlinuz"
find /boot -size +1024k -o -name "vmlinuz"
find之exec用法
-exec参数后面跟的是Linux命令,它是以分号“;”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”
{}代表前面find查找出来的文件名
find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将它们列出
find ./-type f -exec ls -l {} \;