1 命令功能(简要说明):
用来将一个或者多个源文件或者目录复制到指定的目的文件或者目录。它可以将单个源文件复制成一个指定文件名的具体的文件或者一个已存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将会出错。cp --> copy
2 命令语法:
cp 【选项】 源文件(目录)....目标路径 #注:【】中的内容为非必选项
3 命令选项(只做常用命令参数讲述):
使用帮助命令:man cp 或 cp -help
-a,--archive 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d,--no-dereference,--preserve=links 复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f,--force 强行复制文件或目录,不论目标文件或目录是否已存在。
-i,--interactive 与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p,--preserve 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中,保存源文件或 目录的属性。
-R/r,--recursive 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l,--link 不复制文件,只是生成链接文件。
4 使用范例:
(1)cp -r 源目录(文件) 目标目录
#复制当前目录下的Japan目录到指定/home/command_test/ 下 [root@localhost home]# cp -r Japan /home/command_test/ [root@localhost home]# cd command_test/ [root@localhost command_test]# ls Japan [root@localhost command_test]#
(2)cp -f 源目录(文件) 目标目录 ------------这里注意下默认cp命令是有别名(alias cp='cp -i'),并且无法强制覆盖,即使使用-f 参数也无法强制覆盖文件,可以使用cp 执行cp命令时不走alias。
#注意下面使用cp命令是,有无参数-p 结果都会询问你是否需要覆盖;cp命令语句最后面的 ". " 代表的是当前目录 [root@localhost home]# cd Japan/ [root@localhost Japan]# ls boduo canglaoshi dabao.txt emoji.txt happy.txt xiaoze [root@localhost Japan]# cd /home/command_test/ [root@localhost command_test]# ls 1.txt dabao.txt Japan [root@localhost command_test]# cp /home/Japan/dabao.txt . cp:是否覆盖"./dabao.txt"? y [root@localhost command_test]# cp -f /home/Japan/dabao.txt . cp:是否覆盖"./dabao.txt"? y [root@localhost command_test]# cp -f /home/Japan/dabao.txt . [root@localhost command_test]#