一、简介
cp(英文全拼:copy)命令是用于复制文件或目录使用。
通过cp命令,用户可以将指定的文件或目录从一个位置复制到另一个位置,同时还可以通过添加特殊参数,复制的同时可以保留原始文件的属性。
二、语法
语法:cp [选项]... 源文件... 目录
参数说明:
|
参数 |
说明 |
|
-r或-R |
递归复制目录及其内容(用于复制目录) |
|
-i |
交互模式,覆盖前提示用户确认 |
|
-f |
强制复制,覆盖目标文件而不提示 |
|
-v |
显示详细的复制过程(verbose) |
|
-p |
保留文件的原始属性(如权限、时间戳等) |
|
-a |
归档模式,等同于 -dpR,保留所有文件属性和递归复制目录 |
|
-u |
仅当源文件比目标文件新时才复制(更新模式) |
|
-l |
创建硬链接而不是复制文件 |
|
-s |
创建符号链接(软链接)而不是复制文件 |
三、 实战
1、复制文件到指定目录
[root@app01 app]# cp test.txt /app/soft
2、复制指定文件,并重新命名
[root@app01 app]# cp test.txt /app/soft/new.txt
3、递归复制目录
[root@app01 app]# cp -r abc /app/soft
将 abc目录及其目录的内容递归复制到soft目录中。
4、交互式复制
[root@app01 app]# cp -i abc.txt /app/soft
如果目标目录有同名文件存在,则会提示是否要覆盖。
[root@app01 app]# cp -i abc.txt /app/soft
cp:是否覆盖"/app/soft/abc.txt"? y
5、保留文件属性复制
[root@app01 app]# cp -p file.txt /app/soft
用该参数复制文件时,会保留其原始权限及用户归属信息
6、仅当源文件比目录文件新时才复制
[root@app01 app]# cat abc.txt
[root@app01 app]# cat /app/soft/abc.txt
aaa
[root@app01 app]# cp -u abc.txt /app/soft
[root@app01 app]# cat /app/soft/abc.txt
aaa
上面操作发现当目标目录中的abc.txt内容比源文件abc.txt内容新,使用-u参数执行复制后,没有进行复制。
当源文件内容比目的地文件内容更新时,才会进行复制覆盖操作。如下:
[root@app01 app]# cat abc.txt
aaabbbbccccc
[root@app01 app]# cat /app/soft/abc.txt
aaa
[root@app01 app]# cp -u abc.txt /app/soft
cp:是否覆盖"/app/soft/abc.txt"? y
[root@app01 app]# cat /app/soft/abc.txt
aaabbbbccccc
7、显示复制的过程
[root@app01 app]# cp -v test.txt /app/soft
"test.txt" -> "/app/soft/test.txt"
8、创建硬链接或符号链接,不复制文件
[root@app01 app]# cp -l file.txt /path/to/destination/ # 创建硬链接
[root@app01 app]# cp -s file.txt /path/to/destination/ # 创建符号链接
-l(硬链接):与源文件共用空间,不额外占用磁盘
-s(符号链接):占用少量空间存储路径信息
9、复制多个文件到指定目录
[root@app01 app]# cp file1.txt file2.txt /app/soft/
10、使用通配符复制文件
[root@app01 app]# cp *.txt /app/soft/
复制所有以.txt结尾的文件到指定目录。
以上只是 cp 命令的一些常见用法,大家可以通过 man cp 命令查看更多选项和用法。
Linux cp命令用法大全

1万+

被折叠的 条评论
为什么被折叠?



