前言
Linux中,复制、删除与移动都是些基础而又常用的命令,简单的说,要复制文件,就使用cp(copy)
这个命令即可,当然除了单纯的复制之外,还可以创建连接文件
(就是快捷方式),对比两个文件的新旧而予以更新
,以及复制整个目录
。至于移动文件与目录,则可以使用mv(move)
,这个命令也可以用来重命名(rename)
。至于删除则使用rm(remove)
命令。
cp(复制文件或目录)
#cp [-adfilnprsu] 源文件(source) 目标文件(destination) #cp [options] source1 source2 source3 ... directory 参数: -a : 复制所有的特性 -d : 若源文件为连接文件(link file),则复制连接文件而非文件本身 -f : 为强制(force)的意思,若目录文件已存在并且不能开启,则删除后再尝试一次 -i : 若目标文件已存在,则覆盖时先询问 -l : 创建硬链接(hard link)文件,而非复制文件本身 -n : 不覆盖已经存在的文件 -p : 连同文件的属性一起复制,而非使用默认属性(备份常用) -r : 递归复制,用于目录的复制 -s : 复制成为符号链接文件(symbolic link),即“快捷方式”文件 -u : 若目标文件比源文件旧,则更新目标文件 最后要注意,如果源文件有多个,则最后一个目标文件一定要是“目录”才可以
举例
1. 使用root
用户,把 /test/movie/xiaoli.avi 文件复制到 /test/mp4/ 下
[root@VM_112_250_centos test]# cd /test/mp4/ ==>切换到mp4目录 [root@VM_112_250_centos mp4]# cp /test/movie/xiaoli.avi . ==>复制到当前目录 [root@VM_112_250_centos mp4]# ls -l /test/movie/ . ==>查看文件信息 .: total 0 -rw-r--r-- 1 root root 0 Dec 19 23:57 xiaoli.avi /test/movie/: total 0 -rw-rw-r-- 1 lilei lilei 0 Dec 19 23:57 xiaoli.avi
如果注意就会看到,文件的权限信息发生了变化
那如果想要把所有的文件属性都复制过来,则可以添加-a
说明:
在默认条件中,cp
的源文件和目的文件的文件权限是不同的,目的文件的所有者通常会是命令操作者本身。
备份文件或复制特殊权限的文件时应特别注意,应加上-a
或者-p
等可以完整复制文件权限的参数才行。
[root@VM_112_250_centos mp4]# cp -a /test/movie/xiaoli.avi . ==>复制到当前目录 [root@VM_112_250_centos mp4]# ls -l /test/movie/ . ==>查看文件信息 .: total 0 -rw-rw-r-- 1 lilei lilei 0 Dec 19 23:57 xiaoli.avi /test/movie/: total 0 -rw-rw-r-- 1 lilei lilei 0 Dec 19 23:57 xiaoli.avi
2. 把 /test/movie/ 目录复制到 /test/ 下
[root@VM_112_250_centos mp4]# cp /test/movie/ /test/mp4 ==>如果是目录不能直接复制 cp: omitting directory '/test/movie/' [root@VM_112_250_centos mp4]# cp -r /test/movie/ /test/mp4
再次强调,虽然 cp -r
可以复制整个目录,但是文件与目录的权限可能会被改变
所以也可以利用 cp -a
来执行复制目录的操作,尤其是在备份的时候
[root@VM_112_250_centos mp4]# cp -a /test/movie/ /test/mp4/
rm(删除文件或目录)
# rm [-fir] 文件或目录 参数: -f : 就是force的意思,忽略不存在的文件,不会出现警告信息 -i : 互动模式,在删除前会询问用户是否操作 -r : 递归删除。最常用在目录的删除,不过这是非常危险的参数。
举例:
1. 把 /test/movie/xiaoli.avi 文件删除
[root@VM_112_250_centos ~]# cd /test/movie/ [root@VM_112_250_centos movie]# rm -i xiaoli.avi rm: remove regular empty file 'xiaoli.avi'? y 如果加上 -i 参数就会询问你是否删除,避免误操作。
说明:
通常在linux系统下,为了避免误操作,删除时都默认添加了 -i
参数
使用 rm -r
这个命令,应特别注意,因为系统不会询问你是否删除,要避免一不小心删除服务器所有文件的悲剧啊( rm -rf / )
mv(移动文件与目录,或重命名)
# mv [-fiu] source destination # mv [options] source1 source2 source3 ... directory 参数: -f : force强制的意思,如果目录文件已存在,不会询问而直接覆盖 -i : 若目标文件已存在,则会询问是否覆盖 -u : 若目标文件已存在,切source比较新,才会更新
举例:
1. 把 /test/mp4/xiaoli.avi 移动至 /test 目录并重命名为 lili.avi
[root@VM_112_250_centos ~]# cd /test/mp4/ [root@VM_112_250_centos mp4]# mv xiaoli.avi /test/lili.avi
本文固定链接:心知博客 » Linux下的复制、删除与移动命令:cp , rm , mv
本站内容除特别标注外均为原创,欢迎转载,但请保留出处!