1. 程式人生 > >使用ln命令在Linux系統中建立連線檔案

使用ln命令在Linux系統中建立連線檔案

導讀 在Linux中ln命令用來為檔案建立連線,連線型別分為硬連線(Hard Link)和符號連線(Symbolic Link)兩種,預設的連線型別是硬連線。如果要建立符號連線必須使用"-s"選項。
關於軟硬連線解釋 硬連線

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

軟連線

符號連線(Symbolic Link),也叫軟連線。軟連結檔案又類似於Windows的快捷方式。它實際上是一個特殊的檔案。在符號連線中,該檔案實際上是一個文字檔案,其中包含著另一檔案的位置資訊。

通過實驗加深理解 建立不同的型別的檔案連線
[email protected]:~/test# touch file1        #建立一個測試檔案
[email protected]:~/test# ln file1 file2     #建立file的一個硬連線檔案file2
[email protected]:~/test# ln -s file1 file3  #建立file的一個符號連線檔案file3
[email protected]
:~/test# ls -li            #-l引數以單列格式輸出檔案資訊,-i引數輸出檔案的inode節點資訊 total 0 28125 -rw-r--r-- 2 root root 0 Feb 16 08:29 file1 28125 -rw-r--r-- 2 root root 0 Feb 16 08:29 file2 31463 lrwxrwxrwx 1 root root 5 Feb 16 08:30 file3 -> file1

從上面的結果中可以看出,硬連線檔案file2與原檔案file1的inode節點相同,均為28125,然而符號連線檔案的inode節點不同。

分別對檔案進行操作
[email protected]:~/test# cat >>file1 <<EOF             #向檔案file1追加內容
> 12345
> EOF
[email protected]:~/test# cat file1                     #輸出檔案file1內容
12345
[email protected]:~/test# cat file2                     #輸出檔案file2內容
12345
[email protected]:~/test# cat file3                     #輸出檔案file3內容
12345
[email protected]:~/test# rm file1                      #刪除檔案file1
[email protected]:~/test# cat file2
12345
[email protected]:~/test# cat file3
cat: file3: No such file or directory

通過上面的測試可以看出:當刪除原始檔案file1後,硬連線檔案file2不受影響,但是符號連線檔案file1無效。

總結

依此你可以做一些相關的測試,可以得到以下全部結論:
1. 刪除符號連線file3,對檔案file1,file2無影響;
2. 刪除硬連線file2,對檔案file1,file3也無影響;
3. 刪除原檔案file1,對硬連線檔案file2沒有影響,但是會導致符號連線file3失效;
4. 同時刪除原檔案file1以及硬連線檔案file2,整個檔案才會真正的被刪除。

免費提供最新Linux技術教程書籍,為開源技術愛好者努力做得更多更好,開源站點:http://www.linuxprobe.com/

相關推薦

使用ln命令Linux系統建立連線檔案

導讀 在Linux中ln命令用來為檔案建立連線,連線型別分為硬連線(Hard Link)和符號連線(Symbolic Link)兩種,預設的連線型別是硬連線。如果要建立符號連線必須使用"-s"選項。 關於軟硬連線解釋 硬連線 硬連線是指通過索引節點來進行連線。在Li

使用ln命令Linux系統建立連結檔案

在Linux中ln命令用來為檔案建立連線,連線型別分為硬連線(Hard Link)和符號連線(Symbolic Link)兩種,預設的連線型別是硬連線。如果要建立符號連線必須使用"-s"選項。 關於軟硬連線解釋 硬連線 硬連線是指通過索引節點來進行連線。在Linux的

如何在Linux系統編寫指令碼檔案自動執行

        在叢集的部署和啟動過程中,往往要執行叫較多的命令,特別是已經部署成功在啟動的時候,總有一些初始化的工作要做。這個時候如果還是選擇一個一個去依次執行未免有些太浪費時間,因此選擇了指令碼的方式。並且指令碼的方式也便於向

Linux系統新增庫檔案路徑的方法

  庫檔案在連結(靜態庫和共享庫)和執行(僅限於使用共享庫的程式)時被使用,其搜尋路徑是在系統中進行設定的。一般 Linux 系統把 /lib 和 /usr/lib 兩個目錄作為預設的庫搜尋路徑,所以使用這兩個目錄中的庫時不需要進行設定搜尋路徑即可直接使用。但是

詳解Linux系統連線和硬連結的區別與聯絡

Linux 系統中有軟連線和硬連結兩種特殊的“檔案”。 其中軟連線實際上可以看作是Windows中的快捷方式,而硬連結則可以看作類似於一個檔案的 “指標”(也不完全相同) 。 建立方法都很簡單: 1. 軟連線(符號連結) ln -s   source  target  2

Linux系統無iptables檔案

CentOS7開始,預設是沒有iptables的,而是使用firewall防火牆。本文將遮蔽掉firewall,使用iptables Centos7版本解決方法: 1、停止並遮蔽firewalld服務 停止 systemctl stop firewalld 遮蔽 syst

xshell工具或Linux系統執行jar檔案

執行jar包命令如下: 方式一: java -jar XXX.jar 特點:當前ssh視窗被鎖定,可按CTRL + C打斷程式執行,或直接關閉視窗,程式退出 那如何讓視窗不鎖定? 方式二: java -jar XXX.jar & &代表在

Linux系統建立SSH伺服器別名

如果你經常通過 SSH 訪問許多不同的遠端系統,這個技巧將為你節省一些時間。你可以通過 SSH 為頻繁訪問的系統建立 SSH 別名

Linux系統虛擬裝置檔案的各種實用用法

大家好,我是良許。 大家知道,在 Linux 下,一切皆檔案,對於裝置檔案也是如此。我們在工作的過程中,經常會看到 `/dev/null` 這個玩意,那它到底是什麼呢? 專業地講,`/dev/null` 是一個虛擬裝置檔案。而對程式而言,這些虛擬裝置檔案則會被當成真實的檔案對待。程式可以向這種資料來源請求

linux-2.6.21核心建立jffs2檔案系統(mtd分割槽的使用)

本文主要介紹如何在AT91SAM9261EK板子上製作和使用jffs2檔案系統,使用的是linux-2.6.21核心。 首先配置MTD $ make menuconfig 進入 Memory Technology Devices (MTD)

VMware下的Linux系統Windows的共享目錄,不支援建立連線

【問題】  在編譯VMware下的Linux系統對從Windows中共享過來的檔案,進行編譯的時候,遇到:  ln: creating symbolic link XXXXXX : Operation not supported 【環境】 VmWare的Linux + Windows XP + vmhgf

linux系統如何建立與刪除軟連線(方便快捷使用,大量節約時間)

建立軟連線可以給我們帶來很大的好處,舉個例子,咱們在訪問深度較為長的檔案或資料夾時,可以選擇直接使用軟連線,讓我們實現能快速到達檔案所在位置的效果 首先,咱們需要到達的目的地址是:/usr/local

Linux系統使用lftp命令實現FTP上傳下載

lcd 工作 亂碼問題 pwd -- cd 命令 史記 size ls 命令 Linux 下常用的操作命令有 ftp、 lftp 和 sftp,圖形化界面非常好用的有 FileZilla。不過在服務器命令界面中,lftp使用比較方便,功能也比ftp更加強大。lftp的界面

linux命令系統的查詢順序、分類和基本使用

pass 終端 ext src its echo media oot 命令 linux命令在系統中的查詢順序 在系統中輸入一條命令時,系統的查詢查詢順序為 linux命令的分類 內部命令:命令本身存放在系統內存中,是shell程序的一部分,這些命令由shell程序內部完

linux系統如何查看日誌 (常用命令)

linux系統中如何查看日誌 (常用命令日 誌 文 件 說 明/var/log/message 系統啟動後的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一/var/log/secure 與安全相關的日誌信息/var/log/maillog 與郵件相關的日誌信息/var/log/cron

Linux系統MySQL的常用操作命令

char OS var 權限 記錄 port nis whereis null 服務: # chkconfig --list 列出所有系統服務# chkconfig --list | grep on 列出所有啟動的系統服務 # chkconfig -

Linux系統ls命令的使用

htm target alt nbsp .cn ls命令 bsp tro -a 【備註】本文僅為本人學習筆記,歡迎學習,其中大部分借鑒了出處: https://linux.cn/article-5109-1.html 等下要list的目錄:~ ls命令 ls -l

linux系統的11選5源碼搭建相關命令

AR 指定路徑 and 需要 目的 The 相關 打包 基本操作 linux目錄結構(1)返回上級目錄:cd .. 進入你的home目錄:cd ~ 使用pwd獲取當前路徑:pwd (2)linux文件中11選5源碼搭建基本操作:企 娥:217 1793 408①新建空

如何在Linux系統熟練運用KILL命令,純幹貨!!!

sigsegv 忽略 特定 shell 不可 結束 幹貨 n+1 不發送 1.命令格式: kill[參數][進程號] 2.命令功能: 發送指定的信號到相應進程。不指定型號將發送SIGTERM(15)終止指定進程。如 果任無法終止該程序可用“-KILL” 參數,其發送的信號為

Linux 系統 sudo 命令的 10 個技巧

etc visudo linux. 安全 pwd 自己的 技術 ups linu 概覽 sudo 表示 “superuser do”。 它允許已驗證的用戶以其他用戶的身份來運行命令。其他用戶可以是普通用戶或者超級用戶。然而,大部分時候我們用它來以提升的權限來運行命令。 su