- 我們新建一個
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/