Linux运维常用文件管理命令:
- cp
- mv
- rm
cp命令:
- 作用:复制文件(或者目录等)。可以使用这个命令复制一个文件到一个指定的目的地,或者复制任意多个文件到一个目的目录。
- 格式:
1 单源复制:cp [OPTION]... [-T] SOURCE DEST # OPTION:选项 SOURCE:源文件 DEST:目标文件或目录 2 多源复制:cp [OPTION]... SOURCE... DIRECTORY # DIRECTORY:目录 3 cp [OPTION]... -t DIRECTORY SOURCE...
- 格式说明:
- 在单源复制中,有两种情况需要说明一下,DEST存在和不存在。(1)当DEST不存在时,会事先创建此文件,并复制文件的数据流至DEST中; (2)DEST存在:如果DEST是非目录文件时,则覆盖目标文件;如果DEST是目录文件,则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流:
- 在多源复制中也有两种情况,DEST存在和不存在。(1)如果DEST不存在:错误;(2)如果DEST存在:当DEST是非目录文件时,错误;当DEST是目录文件,分别复制每个文件至目标目录中,并保持原名。
- 常用选项:
1 -i:交互式复制,在覆盖操作前提醒用户确认; 2 -r:递归复制目录及内部的所有内容; 3 -a:归档复制,尽可能保持文件的结构和属性; 4 -d:复制符号链接作为符号链接而不是复制它指向的文件; 5 -p,--preserve[=ATTR_LIST]:保持原有文件的属性信息,其中ATTR_LIST选项包括mode,ownership,timestamp,links,xattr,context,all等; 6 -f:强制覆盖,不作覆盖提醒; 7 -v:显示命令执行过程;
- 使用示例:
- 复制 /etc/fstab文件到 tmp 目录下为test.txt
~]# cp /etc/fstab /tmp/test.txt
~]# ls /tmp
~]# test.txt - 复制/etc/issue文件覆盖/tmp/test.txt
~]# cp /etc/issue /tmp/test.txt cp: overwrite ‘/tmp/test.txt’? y
- 复制文件并保留文件的timestamp信息
~]# cp --preserve=timestamp /etc/passwd /tmp ~]# ll /etc/passwd /tmp/passwd -rw-r--r--. 1 root root 2192 Jun 10 22:38 /etc/passwd -rw-r--r--. 1 root root 2192 Jun 10 22:38 /tmp/passwd
- 复制 /etc/fstab文件到 tmp 目录下为test.txt
mv命令:
- 作用:移动文件(目录)或者用于对文件(目录)的重命名。如果将一个文件移动到一个已存在的目标文件中,则会将目标文件的内容覆盖。
- 注意事项:
- 移动文件或目录时,可以不止一个
- mv与cp命令的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
- 格式:
mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE...
- 常用选项:
-i:交互式操作,覆盖前先询问用户确认。 -f:强制覆盖重复文件或目录; -t,--target-directory=<DIR>:指定全部的源文件要移动到的目标目录;
- 使用示例
- 文件重命名
~]# ll /tmp/test.txt -rw-r--r--. 1 root root 23 Jul 25 21:36 /tmp/test.txt ~]# mv /tmp/test.txt /tmp/test2.txt ~]# ll /tmp/test2.txt -rw-r--r--. 1 root root 23 Jul 25 21:36 /tmp/test2.txt
- 移动文件
~]# mv /tmp/test2.txt /etc ~]# ll /etc/test2.txt -rw-r--r--. 1 root root 23 Jul 25 21:36 /etc/test2.txt
rm命令:
- 作用:rm命令可以删除一个目录中的一个或多个文件和目录。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
- 注意:由于使用rm命令所删除的文件几乎无法恢复,所以建议不用的文件不要直接删除,而是移动至某个专用目录:(模拟回收站)
- 格式:rm [OPTION]... FILE...
- 常用选项:
1 -f:强制删除文件或目录; 2 -i:交互模式,在删除已有文件或目录前先与用户确认; 3 -r:递归,将指定的目录下的所有文件与子目录一并处理; 4 -v:显示详细的执行过程; 5 -d:删除空目录;
- 使用示例:
- 交互式删除文件
~]# rm -i /etc/test2.txt rm: remove regular file ‘/etc/test2.txt’? y
- 递归删除目录:
~]# rm -r test rm: descend into directory ‘test’? y rm: remove regular file ‘test/test_1’? y rm: remove regular file ‘test/.test_1.swp’? y rm: descend into directory ‘test/test1’? y rm: descend into directory ‘test/test1/test2’? y rm: remove directory ‘test/test1/test2/test3’? y rm: remove directory ‘test/test1/test2’? y rm: remove directory ‘test/test1’? y rm: remove directory ‘test’? y