linux系列(八):cp命令
1、命令格式:
cp [选项]... [-T] 源 目的
2、命令功能:
将源文件复制至目标文件,或将多个源文件复制至目标目录。
3、命令参数:
-a:此参数的效果和同时指定"-dpR"参数相同; -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录; -f:强行复制文件或目录,不论目标文件或目录是否已存在; -i:覆盖既有文件之前先询问用户; -l:对源文件建立硬连接,而非复制文件; -p:保留源文件或目录的属性; -R/r:递归处理,将指定目录下的所有文件与子目录一并处理; -s:对源文件建立符号连接,而非复制文件; -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件; -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀; -b:覆盖已存在的文件目标前将目标文件备份; -v:详细显示命令执行的操作。
4、简单实例:
(1)、复制单个文件到目标目录,文件在目标文件中不存在
命令:
cp a.txt test1/
输出:
felix@felix-computer:~/test$ tree . ├── a.txt └── test1 1 directory, 1 file felix@felix-computer:~/test$ cp a.txt test1/ felix@felix-computer:~/test$ tree . ├── a.txt └── test1 └── a.txt 1 directory, 2 files
(2)、目标文件存在时,会询问是否覆盖
命令:
cp -i a.txt test1/
输出:
felix@felix-computer:~/test$ tree . ├── a.txt └── test1 └── a.txt 1 directory, 2 files felix@felix-computer:~/test$ cp -i a.txt test1/ cp:是否覆盖'test1/a.txt'? y felix@felix-computer:~/test$ tree . ├── a.txt └── test1 └── a.txt 1 directory, 2 files
(3)、复制整个目录
命令:
cp -r test1 test2
输出:
当文件夹存在时,赋值到目标文件夹中 felix@felix-computer:~/test$ tree . ├── test1 │ └── a.txt └── test2 2 directories, 1 file felix@felix-computer:~/test$ cp -r test1 test2 felix@felix-computer:~/test$ tree . ├── test1 │ └── a.txt └── test2 └── test1 └── a.txt 3 directories, 2 files 当文件夹不存在时,新建 felix@felix-computer:~/test$ tree . ├── test1 │ └── a.txt └── test2 └── test1 └── a.txt 3 directories, 2 files felix@felix-computer:~/test$ cp -r test1 test3 felix@felix-computer:~/test$ tree . ├── test1 │ └── a.txt ├── test2 │ └── test1 │ └── a.txt └── test3 └── a.txt 4 directories, 3 files
(4)、给文件创建一个快捷方式
命令:
cp -s test1/test2/test3/a.txt a_link.txt
输出:
felix@felix-computer:~/test$ tree . └── test1 └── test2 └── test3 └── a.txt 3 directories, 1 file felix@felix-computer:~/test$ cp -s test1/test2/test3/a.txt a_link.txt felix@felix-computer:~/test$ tree . ├── a_link.txt -> test1/test2/test3/a.txt └── test1 └── test2 └── test3 └── a.txt 3 directories, 2 files