AIX操作的时候,cp命令其实是没有任何提示,就直接操作的。
那么很自然,就有一个疑问,当遇到同名文件的时候,cp命令是怎么执行的?会对目标文件有什么影响?

下面来探究一下。

先做一个测试文件:

root@uxgdc115:/cp_test # pwd
/cp_test
root@uxgdc115:/cp_test # 
root@uxgdc115:/cp_test # echo "Hello world" > cp_orig
root@uxgdc115:/cp_test # cat cp_orig
Hello world
root@uxgdc115:/cp_test # 
root@uxgdc115:/cp_test # 

先做第一次cp:

root@uxgdc115:/cp_test # ls -ltr
total 8
-rw-------    1 root     system           12 Aug 19 14:05 cp_orig
root@uxgdc115:/cp_test # 
root@uxgdc115:/cp_test # cp cp_orig cp_target
root@uxgdc115:/cp_test # 
root@uxgdc115:/cp_test # ls -ltr
total 16
-rw-------    1 root     system           12 Aug 19 14:05 cp_orig
-rw-------    1 root     system           12 Aug 19 14:09 cp_target
root@uxgdc115:/cp_test # 
root@uxgdc115:/cp_test # cat cp_target
Hello world
root@uxgdc115:/cp_test # 

第二次cp前,改变源文件的内容:

root@uxgdc115:/cp_test # cat cp_orig
----------------
Hello world
----------------

this is second time
root@uxgdc115:/cp_test # 

如上修改了源文件的内容,复制后,就更能较为直观的看到cp操作对目标文件的影响。

第二次cp:

root@uxgdc115:/cp_test # ls -ltra
total 64
drwxr-xr-x   52 root     system        24576 Aug 19 14:02 ..
-rw-------    1 root     system           12 Aug 19 14:09 cp_target
drwx------    2 root     system          256 Aug 19 14:09 .
-rw-------    1 root     system           67 Aug 19 14:10 cp_orig
root@uxgdc115:/cp_test # 
root@uxgdc115:/cp_test # cp cp_orig cp_target
root@uxgdc115:/cp_test # 
root@uxgdc115:/cp_test # cat cp_target
----------------
Hello world
----------------

this is second time
root@uxgdc115:/cp_test # ls -ltra
total 64
drwxr-xr-x   52 root     system        24576 Aug 19 14:02 ..
drwx------    2 root     system          256 Aug 19 14:09 .
-rw-------    1 root     system           67 Aug 19 14:10 cp_orig
-rw-------    1 root     system           67 Aug 19 14:12 cp_target
root@uxgdc115:/cp_test # 

可以看到,AIX的cp是覆盖,而且覆盖前,没有任何提示的交互操作。
——————————————————
Done。

说点什么

avatar

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

  Subscribe  
提醒