|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 403|回復: 0
打印 上一主題 下一主題

ln 命令的使用

[複製鏈接]

86

主題

3

好友

542

積分

中學生

Rank: 3Rank: 3

  • TA的每日心情
    開心
    2024-5-9 21:05
  • 簽到天數: 1593 天

    [LV.Master]伴壇終老

    推廣值
    0
    貢獻值
    0
    金錢
    7167
    威望
    542
    主題
    86
    樓主
    發表於 2014-11-14 21:31:00
    ln 链接命令的使用
    ln命令是linux中一个非常重要命令。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。
    当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
       例如:ln -s /bin/less /usr/local/bin/less            -s 是代号(symbolic)的意思。
    这里有两点要注意:
       第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
       第二,ln的链接又符号链接和硬链接两种,符号链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是符号链接还是硬链接,文件都保持同步变化。
    如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了。  
       硬链接与符号链接的区别在于硬链接与原来的文件有相同的i-node即它们是无差别的指向一个存储数据的空间的索引. 硬链接产生的文件与之前的文件名具有相同的意义,而且,由于都是无差别的指向同一个存储空间,所以对硬链接产生的文件进行的操作,实际上都是对于那一个存储空间进行的操作。
    而且,当一个存储空间,具有几个硬链接时,删除其中的一个,并不会对存储空间进行操作,所以其它的硬链接不会受到影响。 此种方式,类似于C语言里的指针,当一个存储空间里面有几个指针指向它时,删除其中的一个指针并不会带来存储空间被回收的操作。
        而符号链接可以理解为指向原来的文件的索引的索引.它与原来的文件是两个不同的文件.所以这样的话假如存在三个文件的话,a是原文件,b是a的硬链接,而c 是a 的符号链接.刚不管是那个文件或者目录的内容改变都会使得其它的文件的内容改变.对于原文件的删除,则c将变的不可用,而对b却没有任何的影响.b,c的删除不会对任何文件有影响.
    注:
       1. 对于ln命令默认是建立硬链接的.
       2. -s不是soft(软)的意思,而是symbolic(符号)的意思,因此应该是符号链接

    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-5-23 18:50 , Processed in 0.013140 second(s), 16 queries , Gzip On, Memcache On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部