導航:首頁 > 操作系統 > linux創建鏈接文件

linux創建鏈接文件

發布時間:2022-11-15 10:14:11

㈠ 2-18 linux中的連接文件 --- 軟鏈接

Linux中的軟鏈接類似於windows中的快捷方式。

創建方式:ln -s oldfile newfile。

    例:文件軟鏈接 (目錄軟鏈接也是一樣的操作方式)。

    1、tmp 目錄下創建一個 test.txt 文件。

    2、ln -s test.txt test,為 test.txt 文件創建一個名為 test 的軟鏈接。

    3、ll 查看詳情會發現有一個藍色的 test --> test.txt (test 指向 test.txt)。同時文件類型是            l 開頭,l 是指鏈接文件的意思。 

    4、對軟鏈接文件進行 vim 操作。輸入This is ln -s test. :wq保存並退出。

    5、通過cat test 和 cat test.txt 查看內容。得出的結果都是一樣的。既軟鏈接 test 和 test.txt              已經建立關聯,對 test 操作等於對 test.txt 操作。

tips:軟鏈接特點。

    1、可以對不存在的文件創建軟鏈接。

    tmp 目錄下除了 test 和 test.txt 並沒有其他文件。

    此時 ln -s abc.txt t1,為不存在的 abc.txt 文件創建一個 t1 的軟鏈接。t1 軟鏈接是可以創建        的,只是由於沒有真實存在的 abc.txt 文件。通過 ll 查看詳情,系統會在 abc.txt 處用紅色閃      爍高光發出提示,意指abc.txt文件不存在。

    此時,tmp 目錄下新建一個 abc.txt 文件,t1 軟鏈接到 abc.txt 文件就會正常。不會再有紅色      提示。

    2、可以對文件 或者 目錄創建軟鏈接,目錄創建軟鏈接和文件創建軟鏈接流程一樣。

    3、刪除軟鏈接,不會影響它的指向文件。

    vim t1:編輯 t1 軟鏈接,輸入1 t1 的內容保存退出。

    刪除 t1 軟鏈接,tmp 目錄下已沒有軟鏈接指向 abc.txt 文件。

    此時,cat abc.txt 文件可以查看內容,也可以 vim abc.txt 增加 2 abc.txt 內容。證實了,刪        除軟鏈接,不會影響它的指向文件。

    4、刪除了指向文件,該軟鏈接將變為無效連接。

    當 t1 軟鏈接指向實際文件 abc.txt 的時候,t1是可以對 abc.txt 進行增刪改查操作的。若 rm -      rf abc.txt 刪除了實質性的 abc.txt 文件後,t1 將不能做任何操作。失去了實質性文件而存在       的軟鏈接等同於創建一個空的軟鏈接效果一樣。

㈡ Linux基本命令-2021-0717

[root@localhost ~]# ls -l
總用量 44
-rw------. 1 ---- root ---- root --------1207 1 月14 18:18 anaconda-ks.cfg
許可權--引用計數 所有者 -- 所屬組--- 大小-- 文件修改時間 文件名

ls [選項] [文件名或目錄名]
選項:
-a :顯示所有文件
--color=when:支持顏色輸出
-d :顯示目錄信息,而不是目錄下的文件
-h :人性化顯示﹐按照我們習慣的顯示文件大小
-i :顯示文件的i節點號
-l:長格式顯示

pwd 命令是查詢當前所在的目錄的絕對路徑
選項:
-L (默認值)列印環境變數"$PWD"的值,可能為符號鏈接。
-P 列印當前工作目錄的物理位置。

mkdir 是創建目錄的命令
選項:
-Z:設置安全上下文,當使用SELinux時有效;
-m或--mode:建立目錄的同時設置目錄的許可權;
-p或--parents:若所要建立目錄的上層目錄目前尚未建立,則會一並建立上層目錄;
rmdir 是刪除空目錄的命令
-p: 遞歸刪除目錄

touch 是 創建空文件或修改文件的時間戳
[root@localhost ~]# touch [選項] 文件名
-a:或--time=atime或--time=access或--time=use 只更改存取時間;
-c:或--no-create 不建立任何文件;
-d:<時間日期> 使用指定的日期時間,而非現在的時間;
-f:此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題;
-m:或--time=mtime或--time=modify 只更該變動時間;
-r:<參考文件或目錄> 把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同;
-t:<日期時間> 使用指定的日期時間,而非現在的時間;
--help:在線幫助;
--version:顯示版本信息。

stat 是查看文件詳細信息的命令,而且可以看到文件的這三個時間戳
選項:
-L:支持符號連接;
-f:顯示文件系統狀態而非文件狀態;
-t:以簡潔方式輸出信息;

cat 命令用來查看文件內容
選項:
-A: 相當於-vET 選項的整合,用於列出所有隱藏符號
-E: 列出每行結尾的回車符$
-n: 顯示行號
-T: 把 Tab 鍵用^I顯示出來
-v: 列出特殊字元

more 是分屏顯示文件的命令

less 是分行顯示文件的命令
用less命令顯示文件時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應按Q鍵。
選項:
-e:文件內容顯示完畢後,自動退出;
-f:強制顯示文件;
-g:不加亮顯示搜索到的所有關鍵詞,僅顯示當前顯示的關鍵字,以提高顯示速度;
-l:搜索時忽略大小寫的差異;
-N:每一行行首顯示行號;
-s:將連續多個空行壓縮成一行顯示;
-S:在單行顯示較長的內容,而不換行顯示;
-x<數字>:將TAB字元顯示為指定個數的空格字元。

head 是用來顯示文件開頭的命令
選項:
-c --bytes=[-]NUM 顯示前NUM位元組;如果NUM前有"-",那麼會列印除了文件末尾的NUM位元組以外的其他內容。
-n, --lines=[-]NUM 顯示前NUM行而不是默認的10行;如果NUM前有"-",那麼會列印除了文件末尾的NUM行以外的其他行。
-q, --quiet, --silent 不列印文件名行。
-v, --verbose 總是列印文件名行。
-z, --zero-terminated 行終止符為NUL而不是換行符。

tail 是用來顯示文件末尾的命令
選項:
-c, --bytes=NUM 輸出文件尾部的NUM(NUM為整數)個位元組內容。
-f, --follow[={name|descript}] 顯示文件最新追加的內容。「name」表示以文件名的方式監視文件的變化。
-F 與 「--follow=name --retry」 功能相同。
-n, --line=NUM 輸出文件的尾部NUM(NUM位數字)行內容。
--pid=<進程號> 與「-f」選項連用,當指定的進程號的進程終止後,自動退出tail命令。
-q, --quiet, --silent 當有多個文件參數時,不輸出各個文件名。
--retry 即是在tail命令啟動時,文件不可訪問或者文件稍後變得不可訪問,都始終嘗試打開文件。使用此選項時需要與選項「--follow=name」連用。
-s, --sleep-interal=<秒數> 與「-f」選項連用,指定監視文件變化時間隔的秒數。
-v, --verbose 當有多個文件參數時,總是輸出各個文件名。

ln 是用來為文件創建鏈接的命令
[root@localhost ~]# ln [選項] 源文件 目標文件
選項:
-s: 建立軟鏈接文件。如果不加「-s」選項,則建立硬鏈接文件
-f: 強制。如果目標文件已經存在,則刪除目標文件後再建立鏈接文件
-d, -F, --directory 創建指向目錄的硬鏈接(只適用於超級用戶)
-f, --force 強行刪除任何已存在的目標文件
-i, --interactive 覆蓋既有文件之前先詢問用戶
-L, --logical 取消引用作為軟鏈接的目標
-n, --no-dereference 把軟鏈接的目的目錄視為一般文件
-P, --physical 直接將硬鏈接到軟鏈接
-r, --relative 創建相對於鏈接位置的軟鏈接
-s, --symbolic 對源文件建立軟鏈接

硬鏈接特徵:
源文件和硬鏈接文件擁有相同的 Inode 和 Block
 修改任意一個文件,另一個都改變
 刪除任意一個文件,另一個都能使用
 硬鏈接標記不清,很難確認硬鏈接文件位置,不建議使用
 硬鏈接不能鏈接目錄
 硬鏈接不能跨分區

軟鏈接特徵:
 軟鏈接和源文件擁有不同的 Inode 和 Block
 兩個文件修改任意一個,另一個都改變
 刪除軟鏈接,源文件不受影響;刪除源文件,軟鏈接不能使用
 軟鏈接沒有實際數據,只保存源文件的 Inode,不論源文件多大,軟鏈接大小不變
 軟鏈接的許可權是最大許可權 lrwxrwxrwx.,但是由於沒有實際數據,最終訪問時需要參考源文
件許可權
 軟鏈接可以鏈接目錄
 軟鏈接可以跨分區
 軟鏈接特徵明顯,建議使用軟連接

rm 是強大的刪除命令,不僅可以刪除文件,也可以刪除目錄
[root@localhost ~]# rm [選項] 文件或目錄
選項:
d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;
-f:強制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;
--preserve-root:不對根目錄進行遞歸操作;
-v:顯示指令的詳細執行過程。

cp 是文件或目錄用於復制的命令
[root@localhost ~]# cp [選項] 源文件 目標文件
選項:
-a:此參數的效果和同時指定"-dpR"參數相同;
-d:當復制軟鏈接時,把目標文件或目錄也建立為軟鏈接,並指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復制文件;
-p:保留源文件或目錄的屬性;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;
-s:對源文件建立軟鏈接,而非復制文件;
-u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才復制文件;
-S:在備份文件時,用指定的後綴「SUFFIX」代替文件的默認後綴;
-b:覆蓋已存在的文件目標前將目標文件備份;
-v:詳細顯示命令執行的操作。

mv 是用來對文件或目錄重新命名,或者將文件移動至其他目錄
[root@localhost ~]# mv [選項] 源文件 目標文件
選項:
-b:當文件存在時,覆蓋前,為其創建一個備份;
-f:若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文件或目錄;
-i:互動式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入」y」,表示將覆蓋目標文件;輸入」n」,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠「 / 」;
-S<後綴>:為備份文件指定後綴,而不使用默認的後綴;
--target-directory=<目錄>:指定源文件要移動到目標目錄;
-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。

[root@localhost ~]# ls -l install.log
-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log

第一列的許可權位如果不計算最後的「.」,則共有 10 位。

第 2~4 位代表文件所有者的許可權。

chmod 用來變更文件或目錄的許可權
[root@localhost ~]# chmod [選項] 許可權模式 文件名
選項:
-c, --changes:當文件的許可權更改時輸出操作信息。
--no-preserve-root:不將'/'特殊化處理,默認選項。
--preserve-root:不能在根目錄下遞歸操作。
-f, --silent, --quiet:抑制多數錯誤消息的輸出。
-v, --verbose:無論文件是否更改了許可權,一律輸出操作信息。
--reference=RFILE:使用參考文件或參考目錄RFILE的許可權來設置目標文件或目錄的許可權。
-R, --recursive:對目錄以及目錄下的文件遞歸執行更改許可權操作。

用戶身份

首先,讀、寫、執行許可權對文件和目錄的作用是不同的。

目錄的可用許可權其實只有以下幾個。

chown 是修改文件和目錄的所有者和所屬組的命令
[root@localhost ~]# chown [選項] 所有者:所屬組 文件或目錄
選項:
-c或——changes:效果類似「-v」參數,但僅回報更改的部分;
-f或--quite或——silent:不顯示錯誤信息;
-h或--no-dereference:只對軟鏈接的文件作修改,而不更改其他任何相關文件;
-R或——recursive:遞歸處理,將指定目錄下的所有文件及子目錄一並處理;
-v或——version:顯示指令執行過程;
--reference=<參考文件或目錄>:把指定文件或目錄的擁有者與所屬群組全部設成和參考文件或目錄的擁有者與所屬群組相同;
普通用戶不能修改文件的所有者,哪怕自己是這個文件的所有者也不行
普通用戶可以修改所有者是自己的文件的許可權

chgrp 是修改文件和目錄的所屬組的命令
[root@phato ~]# chgrp [選項] 所屬組 文件或目錄
-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的所屬的組
-c或——changes:效果類似「-v」參數,但僅回報更改的部分;
-f或--quiet或——silent:不顯示錯誤信息;
-h或--no-dereference:只對符號連接的文件作修改,而不是該其他任何相關文件;
-H如果命令行參數是一個通到目錄的軟鏈接,則遍歷軟鏈接
-R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一並處理;
-L:遍歷每一個遇到的通到目錄的軟鏈接
-P:不遍歷任何符號鏈接(默認)
-v或——verbose:顯示指令執行過程;
--reference=<參考文件或目錄>:把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同;

umask 是顯示或設置創建文件的許可權掩碼。我們需要先了解一下新建文件和目錄的默認最大許可權。

我們在這里按照許可權字母來講解 umask 許可權的計算方法。我們就按照默認的 umask 值是 022來分別計算一下新建文件和目錄的默認許可權吧。

㈢ linux 鏈接的使用 創建和刪除符號連接(軟、硬鏈接)

1 . 使用方式 :ln [option] source_file dist_file (source_file是待建立鏈接文件的文件,dist_file是新創建的鏈接文件)
-f 建立時,將同檔案名刪除.
-i 刪除前進行詢問.
ln -s abc cde 建立abc 的軟連接
ln abc cde 建立abc的硬連接,

對於一個文件來說,有唯一的索引接點與之對應,而對於一個索引接點號,卻可以有多個文件名與之對應。因此,在磁碟上的同一個文件可以通過不同的路徑去訪問該文件。注意在Linux下是一切皆文件的啊,文件夾、新加的硬碟 ...都可以看著文件來處理的啊。
連接有軟連接和硬連接(hard link)之分的,軟連接(symbolic link)又叫符號連接。符號連接相當於Windows下的快捷方式。
不可以對文件夾建立硬連接的,我們通常用的還是軟連接比較多。

eg:
ln -s source dist # 建立軟連接
ln source dist # 建立硬連接
軟鏈接實際上只是一段文字,裡麵包含著它所指向的文件的名字,系統看到軟鏈接後自動跳到對應的文件位置處進行處理;相反,硬聯接為文件開設一個新的目錄 項,硬鏈接與文件原有的名字是平權的,在Linux看來它們是等價的。由於這個原因,硬鏈接不能連接兩個不同文件系統上的文件。
(1)軟連接可以 跨文件系統 ,硬連接不可以 。實踐的方法就是用共享文件把windows下的 aa.txt文本文檔連接到linux下/root目錄 下 bb,cc . ln -s aa.txt /root/bb 連接成功 。ln aa.txt /root/bb 失敗 。
(2)關於 I節點的問題 。硬連接不管有多少個,都指向的是同一個I節點,會把 結點連接數增加,只要結點的連接數不是 0,文件就一直存在,不管你刪除的是源文件還是 連接的文件 。只要有一個存在 ,文件就 存在 (其實也不分什麼源文件連接文件的 ,因為他們指向都是同一個 I節點)。 當你修改源文件或者連接文件任何一個的時候 ,其他的文件都會做同步的修改。軟鏈接不直接使用i節點號作為文件指針,而是使用文件路徑名作為指針。所以 刪除連接文件 對源文件無影響,但是刪除源文件,連接文件就會找不到要指向的文件 。軟鏈接有自己的inode,並在磁碟上有一小片空間存放路徑名.
(3)軟連接可以對一個不存在的文件名進行連接 。
(4)軟連接可以對目錄進行連接。

備 註:I節點 :它是UNIX內部用於描述文件特性的數據結構.我們通常稱I節點為文件索引結點(信息結點).i節點含有關於文件的大部分的重要信息,包括文件數據塊在 磁碟上的地址.每一個I節點有它自己的標志號,我們稱為文件順序號.I節點包含的信息 1.文件類型 2.文件屬主關系 3.文件的訪問許可權 4.文件的時間截.

最後 刪除符號鏈接,有創建就有刪除
rm -rf symbolic_name 注意不是rm -rf symbolic_name/
在Linux系統中,內核為每一個新創建的文件分配一個Inode(索引結點),每個文件都有一個惟一的inode號。文件屬性保存在索引結點里,在訪問文件時,索引結點被復制到內存在,從而實現文件的快速訪問。

鏈接是一種在共享文件和訪問它的用戶的若干目錄項之間建立聯系的一種方法。Linux中包括兩種鏈接:硬鏈接(Hard Link)和軟鏈接(Soft Link),軟鏈接又稱為符號鏈接(Symbolic link)。符號連接相當於Windows下的快捷方式。

硬鏈接說白了是一個指針,指向文件索引節點,系統並不為它重新分配inode。可以用:ln命令來建立硬鏈接。
語法:
ln [options] existingfile newfile(sexistingfile 待建立鏈接文件的文件,newfile是新創建的鏈接文件)
ln [options] existingfile-list directory

-f 建立時,將同檔案名刪除.
-i 刪除前進行詢問.

ln -s abc cde 建立abc 的軟連接
ln abc cde 建立abc的硬連接,

用法:
第一種:為」existingfile」創建硬鏈接,文件名為」newfile」。
第二種:在」directory」目錄中,為」existingfile-list」中包含的所有文件創建一個同名的硬鏈接。
常用可選[options] –f 無論」newfile」存在與否,都創建鏈接。-n 如果」newfile」已存在,就不創建鏈接。

下面舉一些例子:

[ [email protected] test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
[ [email protected] test]# ln file2 file2hand
[ [email protected] test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
[ [email protected] test]#

注意在創建鏈接前,file1 顯示的鏈接數目為1,創建鏈接後file1和file1hard的鏈接數目都變為2;file1和file1hard在inode號是一樣的file1和file1hard顯示的文件大小也是一樣。可見進行了ln命令的操作結果:file1和file1hard是同一個文件的兩個名字,它們具有同樣的索引節點號和文件屬性,建立文件file1的硬鏈接,就是為file1的文件索引節點在當前目錄上建立一個新指針。你可以刪除其中任何一個,如rm file2 ,每次只會刪除一個指針,鏈接數同時減一,當鏈接數減為0時,內核才會把文件內容從磁碟上刪除。

還可以在不同目錄,但同一文件系統中建立文件的硬鏈接。設file1、file2在目錄/home/root/dir1中,下面的命令,在/home/root中建立file2的硬鏈接。

ln file2 /home/root/file2hard
下面的程序,是將dir1目錄中所有文件,在目錄dir2中建立硬鏈接

如果使用了 ln –f existingfile newfile,如果newfile已經存在,則無論原來newfile是什麼文件,只用當前用戶對它有寫許可權,newfile就成為exisitngfile的硬鏈接文件。

盡管硬鏈接節省空間,也是Linux系統整合文件系統的傳統方式,但是存在一下不足之處:
(1)不可以在不同文件系統的文件間建立鏈接
(2)只有超級用戶才可以為目錄創建硬鏈接。

軟鏈接克服了硬鏈接的不足,沒有任何文件系統的限制,任何用戶可以創建指向目錄的符號鏈接。因而現在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機器、不同網路對文件進行鏈接。
建立軟鏈接,只要在ln後面加上選項 –s,下面舉個例子

[ [email protected] test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand

[ [email protected] test]# ln -s file1 file1soft
[ [email protected] test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft -> file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand

從上面鏈接後的結果可以看出來軟鏈接與硬鏈接,區別不僅僅是在概念上,在實現上也是不同的。區別:硬鏈接原文件&鏈接文件公用一個inode號,說明他們是同一個文件,而軟鏈接原文件&鏈接文件擁有不同的inode號,表明他們是兩個不同的文件;在文件屬性上軟鏈接明確寫出了是鏈接文件,而硬鏈接沒有寫出來,因為在本質上硬鏈接文件和原文件是完全平等關系;鏈接數目是不一樣的,軟鏈接的鏈接數目不會增加;文件大小是不一樣的,硬鏈接文件顯示的大小是跟原文件是一樣的,這用強調,因為是等同的嘛,而這里軟鏈接顯示的大小與原文件就不同了,file1大小是48B,而file1soft是5B,這裡面的5實際上就是「file1」的大小。

總之,建立軟鏈接就是建立了一個新文件。當訪問鏈接文件時,系統就會發現他是個鏈接文件,它讀取鏈接文件找到真正要訪問的文件。
在不同系統之間建立軟鏈接、對目錄建立鏈接,這里就不舉例了,讀者可以自己去嘗試,我也是在不斷實踐中學習的。
當然軟鏈接也有硬鏈接沒有的缺點,因為鏈接文件包含有原文件的路徑信息,所以當原文件從一個目錄下移到其他目錄中,再訪問鏈接文件,系統就找不到了~~,而硬鏈接就沒有這個缺陷,你想怎麼移就怎麼移(呵呵);還有它要系統分配額外的空間用於建立新的索引節點和保存原文件的路徑。

補充一下:可以通過symlink來查看鏈接文件,可以用 man symlink來學習。
三、刪除鏈接

有創建就有刪除

rm -rf symbolic_name 注意不是rm -rf symbolic_name/

[ [email protected] test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 0 07-14 14:17 file1
1491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft -> file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
[ [email protected] test]# rm -rf file1soft
[ [email protected] test]# ls -il
總計 0
1491138 -rw-r–r– 1 root root 0 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
[ [email protected] test]#

————————————
linux 軟連接和硬鏈接的區別:
————————————
4點不同 :
(1)軟連接可以 跨文件系統 ,硬連接不可以 。
實踐的方法就是用共享文件把windows下的 aa.txt文本文檔連接到linux下/root目錄 下 bb,cc . ln -s aa.txt
/root/bb 連接成功 。ln aa.txt /root/bb 失敗 。

(2)關於 I節點的問題 。硬連接不管有多少個,都指向的是同一個I節點,會把 結點連接數增加 ,只要結點的連接數不是 0,文件就一直存在 ,不管你刪除的是

源文件還是 連接的文件 。只要有一個存在 ,文件就 存在 (其實也不分什麼 源文件連接文件的 ,因為他們指向都是同一個 I節點)。 當你修改源文件或者連接文件

任何一個的時候 ,其他的 文件都會做同步的修改 。軟鏈接不直接使用i節點號作為文件指針,而是使用文件路徑名作為指針。所以 刪除連接文件 對源文件無影響,但

是 刪除 源文件,連接文件就會找不到要指向的文件 。軟鏈接有自己的inode,並在磁碟上有一小片空間存放路徑名.

(3)軟連接可以對一個不存在的文件名進行連接 。

(4)軟連接可以對目錄進行連接。

備註:I節點 :它是UNIX內部用於描述文件特性的數據結構.我們通常稱I節點為文件索引結點(信息結點).i節點 含有關於文件的大部分的重要信 息,包括文件數據塊在

磁碟上的地址.每一個I節點有它自己的標志號,我們稱為文件順序號.I節點包含的信息 1.文件類型 2.文件屬主關系 3.文件的訪問許可權 4.文件的時間截.

㈣ linux 設置軟連接

軟連接是linux中一個常用命令,它的功能是為某一個文件在另外一個位置建立一個同不的鏈接。當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在其它的 目錄下用ln命令鏈接(link)就可以,不必重復的佔用磁碟空間。

軟連接也叫符號連接(Symbolic Link),有點類似於Windows的快捷方式。它實際上是一個特殊的文件,在符號連接中文件實際上是一個文本文件,其中包含的有另一文件的位置信息。

具體用法是:ln -s 源文件 目標文件。
當前路徑創建sp-transparent-order 引向/app/sp-transparent-order/sp-transparent-order.jar

硬連接指通過索引節點來進行連接。在Linux的文件系統中,保存在磁碟分區中的文件不管是什麼類型都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點是存在的。一般這種連接就是硬連接。硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止「誤刪」的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的連接。只刪除一個連接並不影響索引節點本身和其它的連接,只有當最後一個連接被刪除後,文件的數據塊及目錄的連接才會被釋放。也就是說,文件真正刪除的條件是與之相關的所有硬連接文件均被刪除。

㈤ Linux查看文件內容、創建、查看軟硬鏈接命令

命令1:查看文件內容
"cat
文件名"
查看文件內容,頁面停留在最後。
"more
文件名"
分頁查看文件內容
回車
下一行
空格
翻頁
q
退出
"head
文件名"
查看文件內容的前幾行,默認前10行,如果想制定看前n行,加選項-n
例如
"head
-5"
查看前五行
tail
和head相反,"tail
-5"
最後五行。
tail
-f
動態顯示最後十行,例如查看日誌文件
命令2:創建軟連接
"ln
-s
xxx
路徑1"
在路徑1創建xxx的軟連接
特點:
1.文件類型
l
2.相當於windows的快捷方式
命令3:創建硬鏈接
"ln
xxx
路徑1"
在路徑1創建xxx的軟連接
特點:
1.文件類型
-
2.相遇於拷貝,但是可以同步更新。
注1:硬鏈接的i節點相同,軟連接的i節點不同,查看i節點的命令是:ls
-i。
注2:創建硬鏈接不能跨分區(文件系統),軟鏈接可以。

㈥ Linux的文件系統

Linux的文件類型分為普通文件、d目錄文件、b塊設備文件、c字元設備文件(串口設備)、s套接字文件(特殊文件scoket)、l鏈接文件。
例如下圖,d開頭的是目錄文件,-開頭的是普通文件,l開頭的是鏈接文件

以touch,cp,tar,echo,cat等工具命令創建的文件都是普通文件,普通文件又分為以下三種:
1)純文本文件:文件內容可以直接讀取到數據(ASCL text)
2)二進制文件:linux中可執行文件(命令)
3)數據格式文件(一種特殊的文件 data)

ls -ld可以顯示所有的目錄文件

linux系統中的鏈接文件與WIN系統的快捷方式基本差不多,linux中鏈接文件又分為硬鏈接與軟鏈接。
硬鏈接: 是指通過索引節點來進行鏈接,在系統中多個文件各指向同一個索引節點,是可以的正常允許的,這種情況下的文件被稱之為硬鏈接。實際生產環境中用戶可以通過硬鏈接的方式來防止誤刪重要數據。
ln 源文件名 鏈接文件名 創建硬鏈接文件

軟鏈接: 也稱符號鏈接(快捷方式),實際上它是一個文本文件,它存儲著指向源文件鏈接的位置信息。
ln -s 源文件名 鏈接文件名 創建軟鏈接文件

另外要注意目錄是不可以創建硬鏈接文件的,但可創建軟鏈接文件,如下圖:

關於文件的軟鏈接和硬鏈接,總結起來有以下四種情況:
1)刪除源文件時,硬鏈接文件正常使用,軟鏈接文件就失效了。
2)刪除硬鏈接時,對源文件與軟鏈接無影響。
3)刪除軟鏈接時,對源文件與硬鏈接無任何影響。
4)刪除源文件、硬鏈接文件後,整個文件就會被刪除。

對於目錄的軟鏈接和硬鏈接,總結如下:
1)目錄是不可創建硬鏈接文件,可以創建軟鏈接文件。
2)目錄的軟鏈接是生產環境中非常實用的。
3)所有目錄都有一個硬鏈接「.」,目錄硬鏈接是不可跨越文件系統的。

Linux文件的擴展名主要是為了方便區分不同的文件,和windows的強類型擴展名不一樣。
1、.tar .tar.gz .tgz .zip 這類表示壓縮文件
2、.sh 表示shell腳本文件
3、.html .php .jsp 網頁文件
4、.conf 系統服務的配置文件
5、.rpm 表示RPM安裝包文件

每一個文件都有自己的屬性信息,它的屬性信息包括:索引節點、文件類型、許可權信息、所有者、所屬組、最近修改時間、大小、文件名或目錄名、硬鏈接數量。
我們以下圖的cron.daily這個文件為例,d表示文件類型是目錄文件,rwxr-xr-x這個表示許可權,第一個rwx表示的文件所有者用戶的許可權,第二個r-x表示的是所屬組的許可權,第三個r-x表示的是其他用戶的許可權。2表示硬鏈接數量,第一個root表示文件所有者是root,第二個root表示所屬組,42表示文件大小,May 27 2021表示最後的修改時間,corn.daily是文件名稱。

其中的索引節點編號需要通過ls -i才能看到,在最左邊顯示的那一串數字,如下圖所示:

㈦ linux中什麼是鏈接文件軟鏈接和硬鏈接文件分別使用什麼指令創建二者有何異同

linux系統中鏈接文件分為硬鏈接和軟鏈接(軟鏈接也叫符號鏈接)。硬鏈接和軟鏈接都是指向文件的一種方式,但兩者有不同的地方,主要有以下不同:

1.硬鏈接是創建一個指向block的inode,有防止誤刪除的功能。因為刪除一個文件,實際上是刪除inode信息,切斷了inode與block之間的聯系。當給一個文件做了硬鏈接之後,刪除文件時,只會減少文件的鏈接數,當鏈接數為0時,才會徹底刪除該文件。
軟鏈接類似Windows系統的快捷方式,是一個完整的文件,有自己的inode和block,block的內容就是原文件的文件名。當原文件刪除後,軟鏈接就失效了,沒有防止誤刪除的功能。

2.文件的大小不一樣。由於硬鏈接是指向原文件的block,所以硬鏈接的文件大小和原文件大小是一致的。而軟鏈接是新的文件,block里是原文件的的文件名,所以軟鏈接文件的大小一般是4K,即一個block的大小。

3.硬鏈接不能給目錄做,不能跨分區做。軟鏈接則都可以。

創建硬鏈接命令:
ln file filenew #file為原文件名,filenew為新文件名。
創建軟鏈接命令:
ln -s file filenew #file為原文件名,filenew為新文件名。

㈧ linux 如何鏈接文件夾

使用 Linux 自帶的超鏈接命令 ln ,即可實現文件、以及文件夾的超鏈接。

㈨ 什麼是Linux操作系統文件鏈接

鏈接是指在電子計算機程序的各模塊之間傳遞參數和控制命令,並把它們組成一個可執行的整體的過程。為解決文件的共享使用,Linux系統中將鏈接分為兩種:一種是硬鏈接,另一種是符號鏈接,又叫做軟鏈接,接下來我們看看相關的內容介紹。
硬鏈接
硬鏈接指通過索引節點來進行連接。在Linux的文件系統中,保存在磁碟分區中的文件不管是什麼類型都給它分配一個編號,稱為索引節點號。在Linux中,多個文件名指向同一索引節點是存在的,比如A和B的硬鏈接,則A的目錄項中的inode節點號與B的目錄項中的inode節點號相同,即一個inode節點對應兩個不同的文件名,兩個文件名指向同一個文件,A和B對文件系統來說是完全平等的。刪除其中任何一個都不會影響另外一個的訪問。
硬鏈接的作用是允許一個文件擁有多個有效路徑名,這樣用戶可以建立硬鏈接到重要文件,以防止誤刪的功能。其原因是因為對應目錄的索引節點有一個以上的鏈接。只刪除一個鏈接並不影響索引節點本身和其它的鏈接,只有當最後一個鏈接被刪除後,文件的數據塊及目錄的鏈接才會被釋放。也就是說,文件真正刪除的條件是與之相關的所有硬鏈接文件均被刪除。
軟鏈接
軟鏈接也被稱之為符號鏈接,也叫做軟鏈接。軟鏈接文件類似於Windows的快捷方式,它實際上是一個特殊的文件。在符號連接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。比如:A是B的軟鏈接,A的目錄項中的inode節點號與B的目錄項中的inode節點號不相同,A和B指向的是兩個不同的inode,繼而指向兩塊不同的數據塊。但是A的數據塊中存放的只是B的路徑名。A和B之間是主從關系,如果B被刪除了,A仍然存在,但指向的是一個無效的鏈接。

閱讀全文

與linux創建鏈接文件相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:485
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:382
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163