當我在我的當前工作目錄做ls -lart
它顯示LS -lrt顯示文件中不存在
lrwxrwxrwx 1 root 10004 36 Dec 16 17:59 index.html ->/home/moviebeam/assets/ui/index.html
但我不能看到file.And最重要的文件內容index.html
不存在在路徑/home/moviebeam/assets/ui/
。那麼爲什麼當我運行命令ls -lrt
時顯示出來?
當我在我的當前工作目錄做ls -lart
它顯示LS -lrt顯示文件中不存在
lrwxrwxrwx 1 root 10004 36 Dec 16 17:59 index.html ->/home/moviebeam/assets/ui/index.html
但我不能看到file.And最重要的文件內容index.html
不存在在路徑/home/moviebeam/assets/ui/
。那麼爲什麼當我運行命令ls -lrt
時顯示出來?
此:
lrwxrwxrwx 1 root 10004 36 Dec 16 17:59 index.html ->/home/moviebeam/assets/ui/index.html
是軟鏈接到原始文件。如果該目標文件存在,則在創建時進行檢查,但是一旦創建了軟鏈接(或符號鏈接),目標文件可以被刪除,並且軟鏈接仍然存在。
如果你想保留鏈接中的文件內容,而目標文件可以被刪除,那麼你應該創建一個硬鏈接(ln而不是ln -s)。
即使文件或文件夾不在另一端,也可能存在符號鏈接。如果您運行file index.html
,它可能會告訴您這是一個錯誤的符號鏈接。刪除原始文件不會刪除指向它的任何符號鏈接。
原始文件被刪除時保留符號鏈接的用途基本上是什麼?如果刪除原始文件後沒有用,也應該自動刪除。 – Arya
那麼,這是一個當時的設計決策,我確信它有一個很好的理由:-) – Borniet
符號鏈接只不過是一個指針,可以跨越文件系統的邊界,超出了文件系統託管的範圍原始文件。 – sargant