cp

cp(选项)(参数)   复制
当复制多个源文件时,目标必须是个目录。
cp命令默认使用会带上-i选项,当目标已有文件时,会询问用户是否覆盖掉,可以用\cp来取消-i选项

-a:将文件的所有属性都一并复制,用于归档文件。,以后还有归档压缩的命令
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,如果目标文件或目录都存在直接覆盖

1
2
3
4
5
[root@bogon admin]# cp -f a/c b/
cp: overwrite `b/c'? y
强制复制也会提示询问用户是否覆盖,可以用\
[root@bogon admin]# \cp -f a/c b/
[root@bogon admin]#

 -i:如果目标文件或目标目录都存在,询问用户是否覆盖

1
2
3
4
5
[root@bogon admin]# cp -i a/c b/
cp: overwrite `b/c'? y
这也是cp命令默认的方式
[root@bogon admin]# alias cp
alias cp='cp -i'

-l:对源文件建立硬连接,复制源文件的innode号,而非复制文件;

1
2
3
4
5
6
[root@bogon admin]# cp /a a
[root@bogon admin]# cp -l /a aa
[root@bogon admin]# ls -li /a a aa          加上-i显示出文件的inode号
139923 -rwxr-xr-x. 1 root root 0 Dec 22 01:45 a          这个是直接复制过来的文件
 12090 -rwxrwxrwx. 2 root root 0 Dec 22 00:55 /a       这货是源文件
 12090 -rwxrwxrwx. 2 root root 0 Dec 22 00:55 aa      这个是通过cp -l复制过来的文件

 -P:保留源文件或目录的属性;

1
2
3
4
5
6
7
8
9
10
11
[root@bogon admin]# cp aa /
[root@bogon admin]# ls -l aa /aa
-rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 aa
-rwxr-xr-x. 1 root  root  0 Dec 22 01:13 /aa
以root用户为例,当我复制admin用户家目录下的aa文件到根目录下时,文件的属主和属组变成了root。
[root@bogon admin]# cp -p aa /
cp: overwrite `/aa'? y
[root@bogon admin]# ls -l aa /aa
-rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 aa
-rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 /aa
当加上-p选项后,复制完成后的文件属主和属组没有发生变化,还是原来的admin<br>这个-p貌似对原文件属主属组为root的无效???

-R/r:递归处理,将指定目录下的所有文件与子目录一并复制;

1
2
3
4
5
[root@bogon admin]# cp -rv b c
`b' -> `c/b'
`b/c' -> `c/b/c'
`b/c/d' -> `c/b/c/d'
`b/c/d/e' -> `c/b/c/d/e'

 -s:对源文件建立符号连接,而非复制文件;

1
2
3
[root@bogon admin]# cp -s /a aa
[root@bogon admin]# ls -l aa
lrwxrwxrwx. 1 root root 2 Dec 22 01:32 aa -> /a

 -b:覆盖已存在的文件目标前将目标文件备份;

1
2
3
4
5
6
[root@bogon admin]# cp -bv /a a
cp: overwrite `a'? y
`/a' -> `a' (backup: `a~')
[root@bogon admin]# ls -l a*
-rwxr-xr-x. 1 root root 0 Dec 22 01:42 a
-rwxrwxrwx. 2 root root 0 Dec 22 00:55 a~

 -v:显示操作过程

1
上面都已经显示过了

 

posted @   ForLivetoLearn  阅读(399)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示