linux命令-cp命令
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
cp命令
简介
cp(Copy file):将源文件复制至目标文件
或将多个源文件复制至目标目录。
语法
cp [选项] ... [-T] 源文件 目标文件
cp [选项] ... 源文件 目录
cp [选项] ... -t 目录 源文件
选项
-a
,-archive
: 等于-dR –preserve=all,与同时指定 -dpR 这三个选项效果一样,用于复制整个目录,包括目录中的子目录等都递归的复制,而且还要保持文件的访问模式,所有者,时间戳等属性与原文件一样。--backup[=CONTROL]
: 为每个已存在的目标文件创建备份,类似–backup 但不接受参数-b
: 类似–backup 但不接受参数--copy-contents
: 在递归(recursive)处理时复制特殊文件内容-d
: 等于–no-dereference –preserve=links-f
,-force
: 如果目标文件无法打开则将其移除并重试(当 -n 选项存在时则不需再选此项)-i
,--interactive
: 覆盖前询问(使前面的 -n 选项失效)
- 默认cp命令覆盖目标文件时是不会提示的,很多Linux发行版里的cp都被设置别名cp -i
,其实作用就是给用户一个提醒。
- 如果你不想被提示,那么请这样输入:\cp source target,或者使用cp命令的绝对路径/bin/cp-H
:跟随源文件中的命令行符号链接-l
,-link
: 对源文件建立硬链接,而非复制文件-L
,-dereference
: 总是跟随符号链接-n
,-no-clobber
: 不要覆盖已存在的文件(使前面的 -i 选项失效)-P
,--no-dereference
: 不跟随源文件中的符号链接-p
: 等于–preserve=模式,所有权,时间戳--preserve [=属性列表]
保持指定的属性(默认:模式,所有权,时间戳),如果可能保持附加属性:环境、链接、xattr 等-c
: same as –preserve=context--sno-preserve=属性列表
:不保留指定的文件属性--parents
: 复制前在目标目录创建来源文件路径中的所有目录-R
,-r
,--recursive
: 递归复制目录及其子目录内的所有内容--reflink[=WHEN]
: 控制克隆/CoW 副本。请查看下面的内如。--remove-destination
: 尝试打开目标文件前先删除已存在的目的地文件 (相对于 –force 选项)--sparse=WHEN
: 控制创建稀疏文件的方式--strip-trailing-slashes
: 删除参数中所有源文件/目录末端的斜杠-s
,--symbolic-link
: 只创建符号链接而不复制文件-S
,--suffix=后缀
: 自行指定备份文件的后缀-t
,--target-directory=目录
: 将所有参数指定的源文件/目录 复制至目标目录-T
,--no-target-directory
将目标目录视作普通文件-u
,--update
: copy only when the SOURCE file is newer than the destination file or when the destination file is missing-v
,--verbose
: 详细显示命令执行的操作。-x
,--one-file-system
复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件-Z
,--context=CONTEXT
: set security context of copy to CONTEXT`
实例
1、将文件a.txt 复制成文件b.txt
[root@VM_0_4_centos cp]# touch a.txt
[root@VM_0_4_centos cp]# cp a.txt b.txt
[root@VM_0_4_centos cp]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 21 19:59 a.txt
-rw-r--r-- 1 root root 0 Jun 21 19:59 b.txt
2、将文件a.txt复制成文件b.txt,显示详细信息
[root@VM_0_4_centos cp]# cp -v a.txt c.txt
‘a.txt’ -> ‘c.txt’
3、复制文件,只有源文件较目的文件的修改时间新时,才复制文件
[root@VM_0_4_centos cp]# cp -uv a.txt d.txt
‘a.txt’ -> ‘d.txt’
[root@VM_0_4_centos cp]# ll
-rw-r--r-- 1 root root 0 Jun 21 19:59 a.txt
-rw-r--r-- 1 root root 0 Jun 21 19:59 b.txt
-rw-r--r-- 1 root root 0 Jun 21 21:46 c.t
-rw-r--r-- 1 root root 0 Jun 21 21:47 c.txt
-rw-r--r-- 1 root root 0 Jun 21 21:48 d.txt
[root@VM_0_4_centos cp]# cp -uv a.txt d.txt
[root@VM_0_4_centos cp]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 21 19:59 a.txt
-rw-r--r-- 1 root root 0 Jun 21 19:59 b.txt
-rw-r--r-- 1 root root 0 Jun 21 21:46 c.t
-rw-r--r-- 1 root root 0 Jun 21 21:47 c.txt
-rw-r--r-- 1 root root 0 Jun 21 21:48 d.txt
4、采用交互方式将文件a.txt复制成文件d.txt
[root@VM_0_4_centos cp]# cp -i a.txt e.txt
cp: overwrite ‘e.txt’? y
5、将文件a.txt复制成d.txt,因为目的文件已经存在,所以指定使用强制复制的模式
[root@VM_0_4_centos cp]# \cp -f a.txt e.txt
6、递归将目录dir1复制到目录dir2下面(此时dir2不存在)
[root@VM_0_4_centos cp]# cp dir1 dir2
cp: omitting directory ‘dir1’
[root@VM_0_4_centos cp]# cp -r dir1 dir2
7、复制时保留文件属性
[root@VM_0_4_centos cp]# cp -p a.txt f.txt
[root@VM_0_4_centos cp]# ll
total 8
-rw-r--r-- 1 root root 0 Jun 21 19:59 a.txt
-rw-r--r-- 1 root root 0 Jun 21 19:59 b.txt
-rw-r--r-- 1 root root 0 Jun 21 21:46 c.t
-rw-r--r-- 1 root root 0 Jun 21 21:47 c.txt
drwxr-xr-x 2 root root 4096 Jun 21 22:03 dir1
drwxr-xr-x 2 root root 4096 Jun 21 22:04 dir2
-rw-r--r-- 1 root root 0 Jun 21 21:48 d.txt
-rw-r--r-- 1 root root 0 Jun 21 21:59 e.txt
-rw-r--r-- 1 root root 0 Jun 21 19:59 f.txt
8、复制时产生备份文件(如果文件存在的话,会对之前的文件备份)
[root@VM_0_4_centos cp]# cp -bv c.txt /tmp/
cp: overwrite ‘/tmp/c.txt’?
[root@VM_0_4_centos cp]# cp -bv c.txt /tmp/
cp: overwrite ‘/tmp/c.txt’? y
‘c.txt’ -> ‘/tmp/c.txt’ (backup: ‘/tmp/c.txt~’)
9、复制的 a.txt 建立一个连结档 a_link.txt
[root@VM_0_4_centos cp]# cp -s a.txt a_link
lrwxrwxrwx 1 root root 5 Jun 21 22:25 a_link -> a.txt
-rw-r--r-- 1 root root 0 Jun 21 19:59 a.txt
10、不随符号链接拷贝原文件
[root@VM_0_4_centos cp]# cp a_link.txt b_bink.txt
[root@VM_0_4_centos cp]# ll
total 0
lrwxrwxrwx 1 root root 5 Jun 21 22:32 a_link.txt -> a.txt
-rw-r--r-- 1 root root 0 Jun 21 22:31 a.txt
-rw-r--r-- 1 root root 0 Jun 21 22:32 b_bink.txt
[root@VM_0_4_centos cp]# cp -P a_link.txt c_bink.txt
[root@VM_0_4_centos cp]# ll
total 0
lrwxrwxrwx 1 root root 5 Jun 21 22:32 a_link.txt -> a.txt
-rw-r--r-- 1 root root 0 Jun 21 22:31 a.txt
-rw-r--r-- 1 root root 0 Jun 21 22:32 b_bink.txt
lrwxrwxrwx 1 root root 5 Jun 21 22:33 c_bink.txt -> a.txt
11、指定备份文件尾标
[root@VM_0_4_centos cp]# cp -v -S _back a.txt /tmp/
cp: overwrite ‘/tmp/a.txt’? y
‘a.txt’ -> ‘/tmp/a.txt’ (backup: ‘/tmp/a.txt_back’)
#默认情况
[root@VM_0_4_centos cp]# cp -bv a.txt /tmp/
cp: overwrite ‘/tmp/a.txt’? y
‘a.txt’ -> ‘/tmp/a.txt’ (backup: ‘/tmp/a.txt~’)
参考
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献2条内容
所有评论(0)