首頁  >  問答  >  主體

linux中什么命令可以判断硬链接和软链接?

linux中什么命令可以判断硬链接和软链接?
比如,在centos7.2的/etc/systemd/system目录,有一个mysqld.service,图标上有个箭头,但怎么区分这是软链接还是硬链接呢?以及它指向文件的位置怎么查看?
百度了一下,没找到相关答案。

天蓬老师天蓬老师2721 天前575

全部回覆(6)我來回復

  • PHPz

    PHPz2017-04-17 15:20:12


    如上圖:ls -al顯示,軟連接開頭是l,而且在檔案名稱顯示時有「->」指向。

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 15:20:12

    ls -al 可以查看軟連結的指向
    硬連結是相當與創建了文件資訊的一份拷貝,跟原來的文件是一模一樣的,沒有任何區別,除了文件名字,只不過兩個文件名指向的硬碟中的檔案只存在一份。 。
    可以參考軟連結與硬連結

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 15:20:12

    file就可以了,例如:

    eechen@ubuntu:~$ file /usr/bin/vi
    /usr/bin/vi: symbolic link to `/etc/alternatives/vi' 

    回覆
    0
  • 阿神

    阿神2017-04-17 15:20:12

    硬連結是無法判斷的,前後兩個檔案地位是相等的,沒有誰是誰的硬連結的說法,
    軟連結用什麼都能判斷的,

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-17 15:20:12

    軟連結 就如上面說的,用ls看就行了

    ls -l

    硬鏈接,可以這樣理解: 對一個文件進行拷貝,並且這個文件帶有同步功能,刪除其中一個,另外一個依然存在。

    硬鏈接和源文件的i節點號是一樣的,可以用下面的命令查看,但是你也不能區分哪個是源文件,哪個是硬鏈接,因為他們地位是相等的,只能看出這個文件創建了硬連結

    ls -li

    回覆
    0
  • 黄舟

    黄舟2017-04-17 15:20:12

    硬連結不能跨檔案系統,不能作用於目錄。多個檔案同時指向一個inode號。
    軟體連線可以跨檔案系統,可以作用於目錄和檔案。

    ln a c 建立硬連結
    在a檔案中加入資料,c中也會有相同資料。

    刪除了a文件,c文件依然存在並且。可以把硬連結看成是一種備份。
    而軟連接則可以看作是一種引用方式,呼叫方式,連結檔案本身只儲存路徑,不保存資料。
    所以當來源檔案被刪除後,軟連線檔案也會失效。

    一般透過ls -l 只能查看軟連接。目前暫時沒可以查看硬連結指向方法,其實也沒必要看,因為他們彼此可以看作鏡像,一模一樣。相關訊息,只能看ls -l 後的被硬連結次數。

    回覆
    0
  • 取消回覆