- 我们新建一个
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/
- 我们尝试用
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
这种拷贝不是我们想要的,这改变了目录结构,会导致很多问题。我们需要的是原汁原味
- 这时候我们就需要使用
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/