linux命令cp的一个小坑

  1. 我们新建一个dir1目录,目录结构如下,其中可以看到link1是一个软连接
bytedance@dannyliudemac-pro:test$ ls -al dir1/
total 0
drwxr-xr-x  5 bytedance  staff  160  7 19 15:15 .
drwxr-xr-x  5 bytedance  staff  160  7 19 15:16 ..
drwxr-xr-x  3 bytedance  staff   96  7 19 15:14 dir_sub1
-rw-r--r--  1 bytedance  staff    0  7 19 15:12 file1
lrwxr-xr-x  1 bytedance  staff    9  7 19 15:15 link1 -> dir_sub1/
  1. 我们尝试用cp -rf dir1/ dir2命令拷贝dir1目录到dir2。我们看下dir2的目录结构,可以看到link1不再是软链了,而是一个实实在在的目录,它把自己软链的文件直接拷贝到了自己目录下了
bytedance@dannyliudemac-pro:test$ ls -al dir2
total 0
drwxr-xr-x  5 bytedance  staff  160  7 19 15:25 .
drwxr-xr-x  4 bytedance  staff  128  7 19 15:25 ..
drwxr-xr-x  3 bytedance  staff   96  7 19 15:25 dir_sub1
-rw-r--r--  1 bytedance  staff    0  7 19 15:25 file1
drwxr-xr-x  3 bytedance  staff   96  7 19 15:25 link1

这种拷贝不是我们想要的,这改变了目录结构,会导致很多问题。我们需要的是原汁原味

  1. 这时候我们就需要使用cp -Rf dir1/ dir3命令拷贝,这样拷贝出来的目录结构才会是原汁原味的
bytedance@dannyliudemac-pro:test$ ls -al dir3/
total 0
drwxr-xr-x  5 bytedance  staff  160  7 19 15:31 .
drwxr-xr-x  5 bytedance  staff  160  7 19 15:31 ..
drwxr-xr-x  3 bytedance  staff   96  7 19 15:31 dir_sub1
-rw-r--r--  1 bytedance  staff    0  7 19 15:31 file1
lrwxr-xr-x  1 bytedance  staff    9  7 19 15:31 link1 -> dir_sub1/
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Linux常用命令大全(非常全!!!) - 鸿燕藏锋 - 博客园 系统信息 arch 显示机器的处理器架构(1) ...
    Meathill大魔王阅读 379评论 0 1
  • cd命令: cd --直接回到家目录 cd ~ --直接回到家目录 cd .. --返回上级目录 cd ....
    柒夏锦阅读 244评论 0 0
  • 第一章 引言 shell 是和键盘打交道的,但你也可以在终端仿真器里使用鼠标。X 窗口系统 (使 GUI 工作的底...
    cccshuang阅读 355评论 0 0
  • 进程 ps -aux | grep apache //查找apache 进程ps -ef | grep apa...
    Bravelee阅读 565评论 0 1
  • 拷贝来的,还需要整理。。。 一、系统信息 二、关机(系统的关机、重启以及登出) 三、文件和目录 四、文件搜索 五、...
    帅可儿妞阅读 353评论 0 0