首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cp -sr和ln -s符号链接的区别

cp -sr和ln -s符号链接的区别
EN

Stack Overflow用户
提问于 2018-04-27 17:54:11
回答 1查看 1.4K关注 0票数 1

我试图在我的Dropbox中建立符号链接,这样我的计算机上就不会有重复的文件(文件空间有限)。在in -s和cp -s中,我遇到了一些令人困惑的行为。基本上,ln -s似乎建立了一个指向原始文件夹的链接,但随后将文件夹中的所有文件复制到一个新的位置。cp -sr递归地创建指向文件夹中所有文件的链接(这是所需的行为)。

例如:

代码语言:javascript
复制
nate@auerilas ~ $ mkdir ~/Desktop/test_ln
nate@auerilas ~ $ mkdir ~/Desktop/test_cp
nate@auerilas ~ $ cp -sr ~/Documents/GIS_Files/WorldClim2/Monthly/Prec/ ~/Desktop/test_cp
nate@auerilas ~ $ ln -s ~/Documents/GIS_Files/WorldClim2/Monthly/Prec/ ~/Desktop/test_ln

nate@auerilas ~ $ cd ~/Desktop/test_cp/Prec
nate@auerilas ~/Desktop/test_cp/Prec $ ls -ls
total 52
4 lrwxrwxrwx 1 nate nate 65 Apr 27 11:40 readme.txt -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/readme.txt
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_01.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_01.tif
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_02.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_02.tif
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_03.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_03.tif
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_04.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_04.tif
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_05.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_05.tif
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_06.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_06.tif
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_07.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_07.tif
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_08.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_08.tif
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_09.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_09.tif
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_10.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_10.tif
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_11.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_11.tif
4 lrwxrwxrwx 1 nate nate 76 Apr 27 11:40 wc2.0_30s_prec_12.tif -> /home/nate/Documents/GIS_Files/WorldClim2/Monthly/Prec/wc2.0_30s_prec_12.tif

nate@auerilas ~ $ cd ~/Desktop/test_ln/Prec
nate@auerilas ~/Desktop/test_ln/Prec $ ls -ls
total 1030608
    8 -rw-rw-r-- 1 nate nate      256 Jul  4  2016 readme.txt
74828 -rw-rw-r-- 1 nate nate 76618603 Jun 30  2016 wc2.0_30s_prec_01.tif
76620 -rw-rw-r-- 1 nate nate 78453928 Jun 30  2016 wc2.0_30s_prec_02.tif
86664 -rw-rw-r-- 1 nate nate 88738160 Jun 30  2016 wc2.0_30s_prec_03.tif
89424 -rw-rw-r-- 1 nate nate 91564709 Jun 30  2016 wc2.0_30s_prec_04.tif
88272 -rw-rw-r-- 1 nate nate 90386408 Jun 30  2016 wc2.0_30s_prec_05.tif
90364 -rw-rw-r-- 1 nate nate 92524861 Jun 30  2016 wc2.0_30s_prec_06.tif
92252 -rw-rw-r-- 1 nate nate 94459125 Jun 30  2016 wc2.0_30s_prec_07.tif
94700 -rw-rw-r-- 1 nate nate 96964870 Jun 30  2016 wc2.0_30s_prec_08.tif
88708 -rw-rw-r-- 1 nate nate 90829431 Jun 30  2016 wc2.0_30s_prec_09.tif
92756 -rw-rw-r-- 1 nate nate 94977702 Jun 30  2016 wc2.0_30s_prec_10.tif
79808 -rw-rw-r-- 1 nate nate 81716504 Jun 30  2016 wc2.0_30s_prec_11.tif
76204 -rw-rw-r-- 1 nate nate 78025342 Jun 30  2016 wc2.0_30s_prec_12.tif

请注意这两个方法在文件大小上的差异,以及ln -s生成的文件缺乏链接。如果我进入我的文件浏览器并右击查看属性,我也会看到一些不同的东西。

ln -s

代码语言:javascript
复制
Type Image
Size 76.6 MB
Location /home/nate/Desktop/test_ln/Prec

cp -sr

代码语言:javascript
复制
Type Link to Image
Link target /home/nate/Documents/GIS_File..nthly/Prec/wc2.0...
Size 76.6 MB
Location /home/nate/Desktop/test_cp/Prec

因此cp -sr看起来实际上是链接目录中的每个文件,而ln -s似乎只链接顶部文件夹并复制文件夹中的文件,从而复制文件。

对吗?

问题是,如果我使用cp -sr,只有文件本身是链接的,而不是顶部文件夹。因此,如果我在硬盘上添加或删除一个文件,更改就不会复制到Dropbox

运行Linux 18.3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-27 17:59:20

你说得对。这里的info cp显式地说它只链接非目录:

“-s”--符号链接--创建符号链接,而不是非目录的副本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50067829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档