Linux下cp命令,实例解析

其实,cp命令对大家来讲,已经司空见惯了,我没有必要在这边罗嗦了。直到我发现cp并不是简单到大家可以不去关心。
我这里讲两个例子,大家在以后的学习过程中可以注意:
1)cp文件的时候,并不总是拷贝文件权限的
[root@localhost test]# touch a
[root@localhost test]# vim a
[root@localhost test]# ls

a
[root@localhost test]# ls -l
总计 8
-rw-r--r-- 1 root root 24 04-29 00:04 a

[root@localhost test]# cp a b
[root@localhost test]# ls

a b
[root@localhost test]# ls -l
总计 16
-rw-r--r-- 1 root root 24 04-29 00:04 a
-rw-r--r-- 1 root root 24 04-29 00:04 b

[root@localhost test]# chmod 755 a
[root@localhost test]# ls -l
总计 16
-rwxr-xr-x 1 root root 24 04-29 00:04 a
-rw-r--r-- 1 root root 24 04-29 00:04 b

[root@localhost test]# cp a b
cp:是否覆盖“b”? y
[root@localhost test]# ls -l
总计 16
-rwxr-xr-x 1 root root 24 04-29 00:04 a
-rw-r--r-- 1 root root 24 04-29 00:05 b

[root@localhost test]#

从上面的例子可以看出,刚开始创建了a文件,此时a文件的权限是644。然后拷贝了一份文件b,查看b文件的权限是644。证明此时cp文件的权限是跟着走的。
后面,我们把a文件的权限修改为755,然后再次拷贝a文件到b,此时再次查看文件b的权限,文件b的权限仍然为644,这就证明了文件在cp时权限没有跟着带走。
如果目标文件不存在,权限可以从源文件带给目标文件,如果目标文件已存在,则源文件的权限不会强加给目标文件。

2)cp并不总是成功的
如果要cp一个目录,就必须使用cp -r来拷贝,下面的例子:
[root@localhost test]# ls
[root@localhost test]# mkdir a
[root@localhost test]# mkdir b
[root@localhost test]# l

总计 32
drwxr-xr-x 4 root root 4096 04-29 00:19 .
drwxr-xr-x 4 root root 4096 04-29 00:04 ..
drwxr-xr-x 2 root root 4096 04-29 00:19 a
drwxr-xr-x 2 root root 4096 04-29 00:19 b

[root@localhost test]# cp a b
cp: 略过目录 “a”
[root@localhost test]# l b
总计 16
drwxr-xr-x 2 root root 4096 04-29 00:19 .
drwxr-xr-x 4 root root 4096 04-29 00:19 ..

[root@localhost test]# cp -r a b
[root@localhost test]# l b

总计 24
drwxr-xr-x 3 root root 4096 04-29 00:19 .
drwxr-xr-x 4 root root 4096 04-29 00:19 ..
drwxr-xr-x 2 root root 4096 04-29 00:19 a

[root@localhost test]#                                 

a和b都是目录,第一次使用cp命令拷贝文件,拷贝失败。提示cp:略过目录"a"
第二次拷贝,加上-r选项,cp成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值