成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Linux上查找和刪除損壞的符號鏈接

系統(tǒng) Linux
符號鏈接是指向另一個文件的 Linux 文件。如果刪除了被引用的文件,符號鏈接會保留,但不會顯示有問題,除非你嘗試使用它。以下是查找和刪除指向文件已被刪除的符號鏈接的簡單方法。

[[329512]]

符號鏈接是指向另一個文件的 Linux 文件。如果刪除了被引用的文件,符號鏈接會保留,但不會顯示有問題,除非你嘗試使用它。以下是查找和刪除指向文件已被刪除的符號鏈接的簡單方法。

符號鏈接symbolic link在 Linux 系統(tǒng)上扮演了非常有用的角色。它們可以幫助你記住重要文件在系統(tǒng)上的位置,使你更容易訪問這些文件,并讓你不必為了更方便訪問大文件而復(fù)制它們,從而節(jié)省了大量的空間。

什么是符號鏈接?

通常稱它們?yōu)?ldquo;符號鏈接”或“軟鏈接”,符號鏈接是非常小的文件。實際上,符號鏈接真正包含的是它指向的文件的名稱,通常包含路徑(相對于當(dāng)前位置或絕對路徑)。如果有個名為 ref1 的文件指向名為 /apps/refs/ref-2020 的文件,那么 ref1 的長度將為 19 個字符,即使 ref-202 文件有 2TB。如果指向 ./ref-2020,那么長度僅為 10 個字符。如果指向 ref-2020,那么只有 8 個字節(jié)。

如果你執(zhí)行 vi ref1 之類的命令(其中 ref1 是符號鏈接的名稱),你將編輯 ref1 指向的文件,而不是符號鏈接本身的內(nèi)容。Linux 系統(tǒng)知道如何使用符號鏈接,并且可以做正確的事。同樣,如果你使用諸如 catmoreheadtail 之類的命令,那么將查看引用文件的內(nèi)容。

另一方面,如果刪除符號鏈接,你將刪除該鏈接,而不是引用的文件。再說一次,Linux 知道怎么做。符號鏈接使得使用和共享文件更加容易,僅此而已。

符號鏈接損壞時

當(dāng)一個符號鏈接所指向的文件從系統(tǒng)中刪除或重新命名時,符號鏈接將不再起作用。符號鏈接只不過是存儲在某個特定目錄中的引用而已,它不會隨著指向它的文件發(fā)生變化而更新或刪除。它一直指向被引用的文件,即使這個文件早已消失。

如果你嘗試使用指向一個不存在的文件的符號鏈接,那么將出現(xiàn)如下錯誤:

  1. $ tail whassup
  2. tail: cannot open 'whassup' for reading: No such file or directory

如果你嘗試訪問指向自身的符號鏈接(是的,奇怪的事情發(fā)生了),你將看到類似以下的內(nèi)容:

  1. $ cat loopy
  2. cat: loopy: Too many levels of symbolic links
  3. $ ls -l loopy
  4. lrwxrwxrwx 1 shs shs 5 May 28 18:07 loopy -> loopy

而且,如果(上面的)長列表的第一個字母沒有引起你的注意,這表示該文件是符號鏈接。rwxrwxrwx 權(quán)限是標(biāo)準(zhǔn)權(quán)限,并不反映符號鏈接指向的文件的權(quán)限。

查找損壞的符號鏈接

find 命令有一個選項,能讓你找到指向不再存在的文件的符號鏈接。此命令列出當(dāng)前目錄中的符號鏈接:

  1. $ find . -type l

l (小寫字母 L)告訴 find 命令查找符號鏈接。

另一方面,下面的命令在當(dāng)前目錄中查找指向不存在的文件的符號鏈接:

  1. $ find . -xtype l

為了避免在該命令嘗試查找你無權(quán)檢查的文件或目錄時發(fā)生錯誤,你可以將所有錯誤輸出到 /dev/null,如下所示:

  1. $ find . -xtype l 2>/dev/null

你也可以使用此命令找到損壞的符號鏈接。它比前面的更長,但做的是同樣的事情:

  1. $ find . -type l ! -exec test -e {} \; -print 2>/dev/null

如何處理損壞的符號鏈接

除非你知道符號鏈接引用的文件會被替換,否則最好的方法是直接刪除損壞的鏈接。實際上,如果需要,你可以使用一條命令查找并刪除損壞的符號鏈接,如:

  1. $ find . -xtype l 2>/dev/null -exec rm {} \;

該命令的 rm {} 部分會變成“刪除文件”的命令

如果你想將符號鏈接與不同的文件相關(guān)聯(lián),你必須先刪除該符號鏈接,然后重新創(chuàng)建它,使其指向新文件。這是一個例子:

  1. $ rm ref1
  2. $ ln -s /apps/data/newfile ref1

總結(jié)

符號鏈接使引用的文件更易于查找和使用,但有時它會比那些宣傳去年已經(jīng)關(guān)閉的餐館的路標(biāo)還過分。find 命令可以幫助你擺脫損壞的符號鏈接,或者提醒你沒有你可能仍然需要的文件。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2023-02-07 08:13:47

Linux符號鏈接

2023-02-06 17:49:35

Linux符號鏈接

2023-02-13 11:26:03

符號鏈接Linux

2021-11-15 05:37:19

Linux 符號鏈接命令

2022-07-10 21:20:11

C語言Linux

2019-09-24 19:00:41

Linuxrm命令unlink命令

2021-08-09 11:31:54

Linux重復(fù)相片刪除

2015-03-30 11:34:19

LinuxFSlint

2018-01-30 12:18:08

Linux儲存器USB設(shè)備

2019-08-05 13:40:52

LinuxUbuntu硬件規(guī)格

2019-08-14 09:42:06

LinuxElasticsearKibana

2020-09-30 06:00:00

Linux誤刪除恢復(fù)文件

2014-08-28 10:18:36

LinuxShebang

2014-05-12 10:57:41

TermRecord終端會話

2020-03-20 18:19:05

UbuntuLinuxNetbeans

2018-03-29 15:21:03

LinuxDebian網(wǎng)橋

2023-06-25 18:52:48

2020-03-24 07:00:00

UbuntuLinuxNetbeans

2018-08-06 09:30:00

LinuxPbcopyPbpaste

2022-09-19 08:45:52

Telnet系統(tǒng)Linux
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人福利在线观看 | 欧美xxxx做受欧美 | 欧美成人免费在线视频 | 精品国产鲁一鲁一区二区张丽 | 国产永久免费 | 婷婷久久综合 | 久久大 | 欧美 日韩 中文 | 插插插干干干 | 激情三区| 91小视频| 国产精品18久久久久久久 | 天天干天天插天天 | 日日夜精品视频 | 欧美日韩视频 | 欧美男人天堂 | 国产精品一区二 | 国产精品美女一区二区 | 日韩在线视频一区二区三区 | 欧美老少妇一级特黄一片 | 久久久久久国产 | 久久99深爱久久99精品 | 精品福利在线视频 | 欧美在线观看一区 | 在线观看日本高清二区 | 久久蜜桃资源一区二区老牛 | 欧美aⅴ| 精品国产乱码久久久久久蜜臀 | 国产精品久久久久久久久免费软件 | av在线免费观看网址 | 免费观看av | 一区二区三区视频播放 | 国产成人一区二 | 天天干天天玩天天操 | 九九亚洲| 狠狠做深爱婷婷综合一区 | 一区二区三区日韩 | 色偷偷噜噜噜亚洲男人 | 中文字幕av在线播放 | 亚洲国产中文字幕 | 中文字幕1区2区 |