1. cp命令
cp命令可以用于复制文件\文件夹,cp命令来自英文单词:copy。
语法:cp [选项] 参数1 参数2
参数1:Linux路径,表示被复制的文件或文件夹
参数2:Linux路径,表示要复制去的地方
选项包括:
cp命令复制文件:
[root@localhost ~]# touch cangls
#建立源文件
[root@localhost ~]# cp cangls /tmp/
#把源文件不改名复制到 /tmp/ 目录下
[root@localhost ~]# cp cangls /tmp/bols
#改名复制
cp默认为cp -i 的别名,也就是说,cp命令等于cp -i :
[root@localhost ~]# cp cangls /tmp/
cp:是否覆盖"/tmp/cangls"?y
#目标位置有同名文件,所以会提示是否覆盖
复制目录:
[root@localhost ~]# mkdir movie
#测试目录
[root@localhost ~]# cp -r /root/movie/ /tmp/
如果在复制软链接文件时不使用 "-d" 选项,则 cp 命令复制的是源文件,而不是软链接文件;只有
加入了 "-d" 选项,才会复制软链接文件:
[root@localhost ~]# cp /tmp/cangls_slink /tmp/cangls_t1
#复制软链接文件,不加"-d"选项
[root@localhost ~]# cp -d /tmp/cangls_slink /tmp/cangls_t2
#复制软链接文件,加入"-d"选项
[root@localhost ~]# ll /tmp/cangls_t1 /tmp/cangls_t2
-rw-r--r-- 1 root root 0 6月 14 05:56 /tmp/cangls_t1
lrwxrwxrwx 1 root root 12 6 月 14 05:56/tmp/ cangls_t2-> /root/cangls
当执行备份、曰志备份的时候,这些文件的时间可能是一个重要的参数,这就需执行 "-p" 选项。
这个选项会保留源文件的属性,包括所有者、所属组和时间。
使用 "-l" 选项,则目标文件会被建立为源文件的硬链接;而使用了 "-s" 选项,则目标文件会被建立
为源文件的软链接。
这两个选项和 "-d" 选项是不同的,"d" 选项要求源文件必须是软链接,目标文件才会复制为软链
接;而 "-l" 和 "-s" 选项的源文件只需是普通文件,目标文件就可以直接复制为硬链接和软链接。
2. mv命令
mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move。
语法:mv [选项] 参数1 参数2
参数1:Linux路径,表示被移动的文件或文件夹
参数2:Linux路径,表示要移动去的文件夹
移动文件或目录,类似cp命令,mv命令默认执行的也是 mv -i 的别名,如果移动的目标位置已经
存在同名的文件,则同样会提示是否覆盖:
[root@localhost ~]# mv cangls /tmp
#源文件会被删除
[root@localhost ~]# mkdir movie
[root@localhost ~]# mv movie/ /tmp
#也可以移动目录。和 rm、cp 不同的是,mv 移动目录不需要加入 "-r" 选项
[root@localhost ~]# mv cangls /tmp
mv:是否覆盖"tmp/cangls"?y
目标目录下已经存在同名文件,则会提示是否覆盖,需要手工确认。这时如果移动的同名文件较
多,则需要一个一个文件进行确认,如果确认需要覆盖已经存在的同名文件,则可以使用 "-f" 选项
进行强制移动,这就不再需要用户手工确认了。
如果源文件和目标文件在同一目录中,那就是改名:
[root@localhost ~]# mv bols lmls
#把 bols 改名为 lmls
目录也可以按照同样的方法改名。
如果想要知道在移动过程中有哪些文件进行了移动,则可以使用 "-v" 选项来查看详细的移动信息:
[root@localhost ~]# touch test1.txt test2.txt test3.txt
#建立三个测试文件
[root@localhost ~]# mv -v *.txt /tmp
"test1.txt" -> "/tmp/test1.txt"
"test2.txt" -> "/tmp/test2.txt"
"test3.txt" -> "/tmp/test3.txt"
3. rm 命令
rm命令可用于删除文件、文件夹。rm命令来自英文单词:remove。
语法:rm [选项] 参数1、参数2、......、参数n
参数1、参数2、......、参数N 表示要删除的文件或文件夹路径,按照空格隔开
选项包括:
rm 命令会永久性地删除文件或目录,也就是说,如果没有对文件或目录进行备份,一旦使用 rm
命令将其删除,将无法恢复。
同样的,rm 命令如果任何选项都不加,则默认执行的是"rm -i 文件名",也就是在删除一个文件之
前会先询问是否删除。
如果需要删除目录,则需要使用"-r"选项:
[root@localhost ~]# mkdir -p /test/lm/movie/jp
#递归建立测试目录
[root@localhost ~]# rm /test
rm:无法删除"/test/": 是一个目录
#如果不加"-r"选项,则会报错
[root@localhost ~]# rm -r /test
rm:是否进入目录"/test"?y
rm:是否进入目录"/test/lm/movie"?y
rm:是否删除目录"/test/lm/movie/jp"?y
rm:是否删除目录"/test/lm/movie"?y
rm:是否删除目录"/test/lm"?y
rm:是否删除目录"/test"?y
#会分别询问是否进入子目录、是否删除子目录
虽然 "-rf" 选项是用来删除目录的,但是删除文件也不会报错。所以,为了使用方便,一般不论是
删除文件还是删除目录,都会直接使用 "-rf" 选项。