導航:首頁 > 程序命令 > 符號鏈接命令

符號鏈接命令

發布時間:2022-04-23 04:02:15

Ⅰ 什麼是符號鏈接

符號鏈接又叫軟鏈接,這個文件包含了另一個文件的路徑名。可以是任意文件或目錄,可以鏈接不同文件系統的文件。 鏈接文件甚至可以鏈接不存在的文件,這就產生一般稱之為」斷鏈」的現象,鏈接文件甚至可以循環鏈接自己。類似於編程語言中的遞歸。 用ln -s 命令可以生成一個軟連接,如下: [root@linux236 test]# ln -s source_file softlink_file 在對符號文件進行讀或寫操作的時候,系統會自動把該操作轉換為對源文件的操作,但刪除鏈接文件時,系統僅僅刪除鏈接文件,而不刪除源文件本身。 刪除軟鏈接用rm softlink_file 或者unlink softlink_file

Ⅱ 什麼是鏈接符號鏈接與硬鏈接的區別是什麼

一、鏈接

鏈接是指在電子計算機程序的各模塊之間傳遞參數和控制命令,並把它們組成一個可執行的整體的過程。

鏈接也稱超級鏈接,是指從一個網頁指向一個目標的連接關系,所指向的目標可以是另一個網頁,也可以是相同網頁上的不同位置,還可以是圖片、電子郵件地址、文件、甚至是應用程序。

二、符號鏈接與硬鏈接的區別

1、含義不同

符號鏈接是一類特殊的文件, 其包含有一條以絕對路徑或者相對路徑的形式指向其它文件或者目錄的引用。

硬鏈接就是一個文件的一個或多個文件名。

2、英文名不同

硬鏈接:hard link

符號鏈接:Symbolic link

3、刪除文件性質不同

在對符號鏈接進行讀或寫操作的時候,系統會自動把該操作轉換為對源文件的操作,但刪除鏈接文件時,系統僅僅刪除鏈接文件,而不刪除源文件本身。

如果刪除一個符號鏈接,它指向的目標文件不受影響。如果目標文件被移動、重命名或者刪除,任何指向它的符號鏈接仍然存在,但是它們將會指向一個不復存在的文件。這種情況被有時被稱為被遺棄。

當移動或刪除原始文件時,硬鏈接不會被破壞,因為它所引用的是文件的物理數據而不是文件在文件結構中的位置。硬鏈接的文件不需要用戶有訪問原始文件的許可權,也不會顯示原始文件的位置

Ⅲ linux如何輸入命令實現文件的硬連接和字元連接

1.硬鏈接命令:ln /etc/passwd /root/passwd #/etc/passwd是原文件,/root/passwd是鏈接文件。
2.符號鏈接命令:ln -s /etc /root/etc #/etc是目錄,/root/etc是符號鏈接文件,相當於快捷方式。注意符號鏈接的原文件要寫絕對路徑,不然會出現錯誤。
3.硬鏈接是一個指向存放鏈接文件數據block的inode,給一個文件做了硬鏈接,相當於有兩條路徑找到那個文件。
4.軟鏈接的內容就是要鏈接文件的文件名,是一個獨立的文件,擁有自己的inode和block,文件的大小就是鏈接文件名的長度。

Ⅳ 符號鏈接的操作系統

系統一
Unix操作系統
在Unix下創建一個符號鏈接,可以在命令行提示符下輸入以下命令:
ln -s target_filename symlink_filename將上述命令中的target_filename用符號鏈接將要指向的相對路徑或者絕對路徑進行替換。在通常的情況下,目標文件應該存在。但是也可以創建一個指向不存在目標的符號鏈接。將symlink_filename用希望的符號鏈接名替換。這條ln命令將會創建一條符號鏈接。當創建完符號鏈接之後,可以將symlink_filename當作target_filename的別名看待。普通的文件操作命令(如cp、rm等)都能直接作用於符號鏈接。用於讀寫文件內容的命令將會直接訪問目標文件。
user@userbox:~/one$ cd two
user@userbox:~/one/two$ lsa b
user@userbox:~/one/two$ cd
user@userbox:~$ ln -s ~/one/two three
user@userbox:~$ cd three
user@userbox:~/three$ lsa b
user@userbox:~/three$ cd
user@userbox:~$ cat ./one/two/aa
user@userbox:~$ echo c > ./one/two/a
user@userbox:~$ cat ./three/ac
在Unix中,符號鏈接的創建使用與創建硬鏈接同樣的命令,但是它們之間的實際行為差別很大。硬鏈接僅僅是一個與文件關聯的名字,它不能離開關聯文件而獨立存在。當一個硬鏈接被移動、重命名或者刪除時,其餘關聯到同一文件的硬鏈接不受影響。只有當最後一條指向該文件的硬鏈接被刪除時,該文件內容將會消失。與硬鏈接不同,符號鏈接能夠指向目錄。
系統二
Mac OS操作系統
別名(Aliases)
除開Unix系統下的普通符號鏈接之外,Mac OS還能使用別名(aliases)。當目標文件移動到同一磁碟上的其它地方時,別名仍然夠繼續有效。某些版本的Linux系統也有與別名類似的功能。
系統三
Windows操作系統
Windows Vista/7的符號鏈接
Windows Vista 的符號連接基於NTFS文件系統的重解析點功能,具體請參考 NTFS 的相關介紹。
Windows Vista 使用 mklink 命令(內部命令,而非可執行程序)創建符號連接,命令行如下:
mklink [/D | /H | /J] LinkName Target
/D 創建目錄符號鏈接(默認為文件符號鏈接)
/H 創建硬鏈接
/J 創建目錄連接
LinkName 鏈接名稱
Target 鏈接的目標(根據命令行參數不同,可能為文件、目錄或者載入點)
符號鏈接與快捷方式
快捷方式(shortcut)是一種功能上類似符號鏈接的文件對象,但與符號鏈接有本質的不同。快捷方式是普通的文件(擁有擴展名 .lnk),而非符號,因此,快捷方式可以被復制、移動、更改(某些特殊的快捷方式無法更改所有信息)或刪除。快捷方式可以指向文件、文件夾或其他任何系統中合法的位置(包括控制面板、桌面等)。
快捷方式如果快捷方式指向可執行程序,則可以同時指定啟動的命令行參數以及啟動位置(對於非可執行程序的快捷方式也能指定這些信息,但無意義)。同時,可以為快捷方式單獨選擇圖標(如果沒有選擇圖標,則使用目標的圖標),以方便用戶個性化。
刪除快捷方式完全不會影響被鏈接到的目標。如果刪除了目標,則會使快捷方式失效。由於快捷方式可以使用相對路徑或絕對路徑,因此移動快捷方式或目標可能導致快捷方式失效,也可能不會有影響。在某些Windows操作系統(包括但不限於Windows XP、Windows Vista)中,操作系統會對文件路徑的改變作一定程度的自動處理,使得快捷方式將在大多數情況下能保持有效:當快捷方式指向的目標失效而目標被移動過時,系統將自動修改快捷方式的目標到新的位置。

Ⅳ windows怎樣建立符號鏈接

建立符號鏈接的命令為 mklink ,它只能在命令提示符(即cmd黑窗口)下使用,而且需要管理員許可權。

2
mklink 命令的語法可用 mklink /? 查看。

3
其語法格式為:
mklink [選項] 鏈接文件 目標文件

鏈接文件:即我們要創建的鏈接到某個目錄或文件的「類似快捷方式」的文件
目標文件:要鏈接到的目錄或文件
常用選項: /D:創建目錄鏈接(若無則是創建文件鏈接)
其他兩個選項用得不多,在此略過,有興趣的朋友可以去研究下。

在下圖中,第一條命令是創建一個文件鏈接,第二條命令是創建一個目錄鏈接。

END
二、使用 mklink 的注意事項

1)目標文件需存在。
雖然,即使目標文件不存在,也能創建鏈接文件。但是如果我們訪問鏈接文件時就會報錯。

2)鏈接文件所在目錄不能有同名文件(包括非鏈接文件類型的其他同名文件)

3)對鏈接文件的讀寫等同於對目標文件的讀寫
作為測試,我們先為 d:\目標目錄\測試.txt 創建一個鏈接文件,然後更改鏈接文件的內容,保存後再打開目標文件查看,發現內容已經更改了。

4
刪除鏈接文件不會影響目標文件。

Ⅵ windows 目錄鏈接 目錄符號鏈接 有什麼區別

建立符號鏈接的命令為
mklink
,它只能在命令提示符(即cmd黑窗口)下使用,而且需要管理員許可權。
2
mklink
命令的語法可用
mklink
/?
查看。
3
其語法格式為:
mklink
[選項]
鏈接文件
目標文件
鏈接文件:即我們要創建的鏈接到某個目錄或文件的「類似快捷方式」的文件
目標文件:要鏈接到的目錄或文件
常用選項:
/d:創建目錄鏈接(若無則是創建文件鏈接)
其他兩個選項用得不多,在此略過,有興趣的朋友可以去研究下。
在下圖中,第一條命令是創建一個文件鏈接,第二條命令是創建一個目錄鏈接。
end
二、使用
mklink
的注意事項
1)目標文件需存在。
雖然,即使目標文件不存在,也能創建鏈接文件。但是如果我們訪問鏈接文件時就會報錯。
2)鏈接文件所在目錄不能有同名文件(包括非鏈接文件類型的其他同名文件)
3)對鏈接文件的讀寫等同於對目標文件的讀寫
作為測試,我們先為
d:\目標目錄\測試.txt
創建一個鏈接文件,然後更改鏈接文件的內容,保存後再打開目標文件查看,發現內容已經更改了。
4
刪除鏈接文件不會影響目標文件。

Ⅶ 符號鏈接和硬鏈接的區別

符號鏈接和硬鏈接的區別
(1)創建一個硬鏈接
可以使用命令ln或者函數link()為文件創建一個鏈接。
#include <unistd.h>
int link( const char *path1, const char *path2 );
硬鏈接本身就是一個目錄項,(比如文件名+索引節點號),可以將文件名與文件的位置關聯起來;符號 
鏈接也稱軟鏈接,是指存儲了一個字元串的文件。這個字元串可以在路徑名解析的過程中,用於修改路徑名。
目錄項對應於單個鏈接,但是一個索引節點可能有幾個鏈接的目標(對應幾個目錄項),因此索引節點中包含一個對鏈接到索引節點的鏈接數的計數。當用open()創建一個新的文件時,操作系統就會創建一個新的目錄項,並分配一個空閑的索引節點來表示該文件。不能夠對目錄創建符號鏈接,不能夠跨越文件系統創建硬鏈接。
硬鏈接只是建立一個目錄項(包括inode號和文件名),這個目錄項的inode號和被鏈接文件的inode號相同,我們建立1.src文件的硬鏈接過後,發現1.hard的inode號與1.src的inode號是相同的,
(2) 創建一個符號鏈接
使用ln命令帶選項-s 或者函數symlink(),都可以創建符號鏈接。
#include <unistd.h>
int symlink ( const char *path1, const char *path2);
符號鏈接是一個包含了另一個文件或目錄名字的文件。引用符號鏈接的名字會使操作系統去定位對應於那個鏈接的索引節點,知道最終遇到一個硬間接和一個真正的文件為止。如果過了一段時間,系統沒有找到文件,則放棄並返回ELOOP錯誤。
符號鏈接,將建立一個文件,所以要佔用一個inode節點,在這個inode節點中,存放了指向被鏈接文件的路徑字元串,當建立1.src文件的符號鏈接後,1.sym的inode號和1.src是不一樣的,1.sym的索引節點中存放了1.src的路徑,通過這個路徑就可以找到存放文件的索引節點。
當將符號鏈接指向的文件刪除時,符號鏈接將無法使用,因為符號鏈接是通過路徑名去找到被鏈接文件的,而硬鏈接通過增加被鏈接文件索引節點計數來達到鏈接目的,所以即使被鏈接文件刪除了,硬鏈接仍然可以正常的使用,1.sym是1.src的符號鏈接,1.hard是1.src的硬鏈接,當1.src被刪除過後,訪問1.sym出現錯誤,因為此時系統想通過路徑去訪問1.src,而1.src已經被刪除了。但是由於硬鏈接是直接通過增加inode的引用計數,所以源文件被刪除過後,仍然可以正確的訪問。

Ⅷ 什麼是符號鏈接文件

一:符號鏈接又叫軟鏈接,是一類特殊的文件,這個文件包含了另一個文件的路徑名(絕對路徑或者相對路徑)。路徑可以是任意文件或目錄,可以鏈接不同文件系統的文件。(鏈接文件可以鏈接不存在的文件,這就產生一般稱之為」斷鏈」的現象),鏈接文件甚至可以循環鏈接自己(類似於編程中的遞歸)。
二:在對符號文件進行讀或寫操作的時候,系統會自動把該操作轉換為對源文件的操作,但刪除鏈接文件時,系統僅僅刪除鏈接文件,而不刪除源文件本身。符號鏈接的操作是透明的:對符號鏈接文件進行讀寫的程序會表現得直接對目標文件進行操作。某些需要特別處理符號鏈接的程序(如備份程序)可能會識別並直接對其進行操作。
三:一個符號鏈接文件僅包含有一個文本字元串,其被操作系統解釋為一條指向另一個文件或者目錄的路徑。它是一個獨立文件,其存在並不依賴於目標文件。如果刪除一個符號鏈接,它指向的目標文件不受影響。如果目標文件被移動、重命名或者刪除,任何指向它的符號鏈接仍然存在,但是它們將會指向一個不復存在的文件。這種情況被有時被稱為被遺棄。

Ⅸ 符號鏈接與硬鏈接的區別

首先要弄清楚,在Linux系統中,內核為每一個新創建的文件分配一個Inode(索引結點),每個文件都有一個惟一的inode號。文件屬性保存在索引結點里,在訪問文件時,索引結點被復制到內存在,從而實現文件的快速訪問。
鏈接是一種在共享文件和訪問它的用戶的若干目錄項之間建立聯系的一種方法。Linux中包括兩種鏈接:硬鏈接(Hard Link)和軟鏈接(Soft Link),軟鏈接又稱為符號鏈接(Symbolic link)。
一、硬鏈接
硬鏈接說白了是一個指針,指向文件索引節點,系統並不為它重新分配inode。可以用:ln命令來建立硬鏈接。語法:
ln [options] existingfile newfile
ln[options] existingfile-list directory
用法: 第一種:為」existingfile」創建硬鏈接,文件名為」newfile」。第二種:在」directory」目錄中,為」existingfile-list」中包含的所有文件創建一個同名的硬鏈接。常用可選[options] –f 無論」newfile」存在與否,都創建鏈接。-n 如果」newfile」已存在,就不創建鏈接。
下面舉一些例子:
$ ls –il
13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38 file1
13059 -rwx - - - - - - 1 longcheng longcheng 57 8月 5 16:40 file2
$ ln file2 file2hard
$ ls –il
13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38 file1
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2hard
注意在創建鏈接前,file1 顯示的鏈接數目為1,創建鏈接後(1)file1和file1hard的鏈接數目都變為2;(2) file1和file1hard在inode號是一樣的(3) file1和file1hard顯示的文件大小也是一樣。可見進行了ln命令的操作結果:file1和file1hard是同一個文件的兩個名字,它們具有同樣的索引節點號和文件屬性,建立文件file1的硬鏈接,就是為file1的文件索引節點在當前目錄上建立一個新指針。如下圖,你可以刪除其中任何一個,如rm file2 ,每次只會刪除一個指針,
鏈接數同時減一,只有將所有指向文件內容的指針,也即鏈接數減為0時,內核才會把文件內容從磁碟上刪除。當前目錄邏輯結構:(不好意思圖沒有顯示出來)。
還可以在不同目錄,但同一文件系統中建立文件的硬鏈接。設file1、file2在目錄/home/longcheng/dir1中,下面的命令,在/home/longcheng中建立file2的硬鏈接。
ln file2 /home/longcheng/file2hard
下面的程序,是將dir1目錄中所有文件,在目錄dir2中建立硬鏈接
$mkdir dir2
$ln /home/longcheng/dir1/* /home/longcheng/dir2
如果使用了 ln –f existingfile newfile,如果newfile已經存在,則無論原來newfile是什麼文件,只用當前用戶對它有寫許可權,newfile就成為exisitngfile的硬鏈接文件。
盡管硬鏈接節省空間,也是Linux系統整合文件系統的傳統方式,但是存在一下不足之處:(1)不可以在不同文件系統的文件間建立鏈接(2)只有超級用戶才可以為目錄創建硬鏈接。雖然很多樹上說root用戶可以創建,但是筆者在學習過程中發現即使是root用戶也不能創建,我的系統是Redhat,內核2.4、2.6都試過,在其他系統中不知道是不是可以。
二、軟鏈接(符號鏈接)
符號鏈接是對一個文件的間接指針。硬鏈接直接指向文件的i節點。
軟鏈接克服了硬鏈接的不足,沒有任何文件系統的限制,任何用戶可以創建指向目錄的符號鏈接。因而現在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機器、不同網路對文件進行鏈接。
建立軟鏈接,只要在ln後面加上選項 –s,下面舉個例子
$ ls -il
13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38 file1
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2hard
$ln –s file1 file1soft
$ls -il
13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38 file1
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2hard
13061 lrwxrwxrwx 1 longcheng longcheng 5 8月 5 16:58 file1soft->file1
從上面鏈接後的結果可以看出來軟鏈接與硬鏈接,區別不僅僅是在概念上,在實現上也是不同的。區別:硬鏈接原文件&鏈接文件公用一個inode號,說明他們是同一個文件,而軟鏈接原文件&鏈接文件擁有不同的inode號,表明他們是兩個不同的文件;在文件屬性上軟鏈接明確寫出了是鏈接文件,而硬鏈接沒有寫出來,因為在本質上硬鏈接文件和原文件是完全平等關系;鏈接數目是不一樣的,軟鏈接的鏈接數目不會增加;文件大小是不一樣的,硬鏈接文件顯示的大小是跟原文件是一樣的,這用強調,因為是等同的嘛,而這里軟鏈接顯示的大小與原文件就不同了,file1大小是48B,而file1soft是5B,這裡面的5實際上就是「file1」的大小。
總之,建立軟鏈接就是建立了一個新文件。當訪問鏈接文件時,系統就會發現他是個鏈接文件,它讀取鏈接文件找到真正要訪問的文件。
在不同系統之間建立軟鏈接、對目錄建立鏈接,這里就不舉例了,讀者可以自己去嘗試,我也是在不斷實踐中學習的。
當然軟鏈接也有硬鏈接沒有的缺點,因為鏈接文件包含有原文件的路徑信息,所以當原文件從一個目錄下移到其他目錄中,再訪問鏈接文件,系統就找不到了,而硬鏈接就沒有這個缺陷,你想怎麼移就怎麼移;還有它要系統分配額外的空間用於建立新的索引節點和保存原文件的路徑。補充一下:可以通過symlink來查看鏈接文件,可以用 man symlink來學習。

Ⅹ 將當前目錄下,查找所有符號鏈接文件,將找到的文件進行刪除操作。可以通過命令

摘要 查找當前目錄下的所有 指明名字文件

閱讀全文

與符號鏈接命令相關的資料

熱點內容
電腦加密能不能強制關掉 瀏覽:616
趣味單人解壓桌游 瀏覽:210
oppo手機谷歌伺服器無法核實什麼 瀏覽:318
軟體怎麼加密華為 瀏覽:220
掃地機怎麼安裝app 瀏覽:317
考研結合特徵值計演算法 瀏覽:514
操作系統演算法綜合題 瀏覽:150
華為程序員待遇 瀏覽:545
程序員帶娃的圖片 瀏覽:77
迷你雲伺服器怎麼下載 瀏覽:813
福州溯源碼即食燕窩 瀏覽:232
當樂伺服器怎麼樣 瀏覽:713
nc編程軟體下載 瀏覽:382
如何限制手機app的使用 瀏覽:307
安卓華為手機怎麼恢復桌面圖標 瀏覽:956
我的世界電腦版伺服器地址在哪找 瀏覽:533
違抗了命令 瀏覽:256
安卓如何實現拖拽放置 瀏覽:91
凈資產收益率選股指標源碼 瀏覽:599
血壓力感測器計算公式單片機 瀏覽:466