1. 程式人生 > >Linux 中 ln 軟連線(-s) 和 硬連線(-d) 的區別

Linux 中 ln 軟連線(-s) 和 硬連線(-d) 的區別

軟連線

先說軟連線,一個認為這個比較好理解,一個也是因為柿子專挑軟的捏啊,哈哈,建立一個軟連線的命令: 【ln -s 原始檔名 軟連線檔名】

使用ls命令檢視檔案資訊可以驗證一下,對檔案和目錄都可以建立軟連線

在網上看到很多人說快捷方式這個比喻,個人認為比較形象,建立一 個軟連線就是給指定的檔案建立了一個快捷方式,裡面只記錄一個原始檔的路徑,使用的時候其實就是間接的使用原始檔,不考慮具體的實現,從使用的層面上就這 麼簡單。

如果原始檔刪除了,這個軟連線也就沒有什麼用了,因為他記錄的路徑下面已經沒有檔案或檔案夾了,效果就和windows下面的exe都沒有了,你 雙擊快捷方式的效果一樣,正因為軟連線只是記錄一個路徑,所以他可以跨檔案系統使用。

硬連線

再說硬連線,建立一個硬連線的命令: 【ln -d 原始檔名 硬連線檔名】。

在Linux裡面訪問的每個檔案都有一個inode結點的東西,在這個東西里面有一個連線計數,軟連線的時候不涉及這個東西,如果對一個 檔案建立一個硬連線,則這個檔案對應的inode的連線計數就加1,這個時候其實這個inode對應的檔案有兩個名稱可以進行訪問,這兩個名稱現在是一樣 的,你可以使用任意一個繼續建立硬連線,所以建立的硬連線和原始檔是一樣的,共享同一個inode,如果刪除了一個則連線計數就減1,刪不刪除檔案是根據 連線的計數值來確定的,如果為0了,就刪了,否則,刪除只是連線計數減1。

硬連線不能跨檔案系統建立,並且只能對檔案建立,不能對目錄建立硬連線。

對於讀寫軟連線和硬連線一樣,都是操作同一個檔案

參考資料

相關推薦

Linux ln 連線-s 連線-d區別

軟連線 先說軟連線,一個認為這個比較好理解,一個也是因為柿子專挑軟的捏啊,哈哈,建立一個軟連線的命令: 【ln -s 原始檔名 軟連線檔名】 使用ls命令檢視檔案資訊可以驗證一下,對檔案和目錄都可以建立軟連線 在網上看到很多人說快捷方式這個比喻,個人認

Linux連線Symbolic Link連結Hard Link區別

Linux連結分兩種,一種被稱為硬連結(Hard Link),另一種被稱為符號連結(Symbolic Link)。預設情況下,ln命令產生硬連結。--硬連線硬連線指通過索引節點來進行連線。在Linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配一個編號,稱為索引節點號(Inode Inde

關於Linux建立連線ln -s出現紅色閃爍檔名

Question: Linux中建立軟連接出現紅色閃爍檔名該腫麼辦? Solution: 若之前使用的相對路徑建立,換絕對路徑。 -----------------分割線以下是詳細過程-------

linux的系統排錯 之三 檔案引導階段核心檔案丟失

核心檔案丟失引起的系統崩潰: 模擬問題:      rm -fr   /boot/vmlinuz-3.10.0-123.el7.x86_64 沒有刪除之前在/boot目錄下可以看到vm..檔案: 刪除它: reboot重啟系統: 可以看到系統報錯資訊:

[Linux] Linux重命名文件和文件夾的方法mv命令rename命令

文件夾 方法 get 覆蓋 5-0 測試的 命令 使用 重命名文件 原文鏈接 在Linux下重命名文件或目錄,可以使用mv命令或rename命令,這裏分享下二者的使用方法。 mv命令既可以重命名,又可以移動文件或文件夾。 例子:將目錄A重命名為B mv A B 例子:

JAVA的強引用、引用(SoftReference)、弱引用WeakReference幽靈引用PhantomReference

JAVA語言提供了四種引用型別: 強引用、軟引用(SoftReference)、弱引用(WeakReference)和幽靈引用(PhantomReference),與引用密切相關的,還有一個引用佇列ReferenceQueue。 1、強引用 (1)回收時機:強引用不會被GC

Linux三種網路模式是什麼意思——Host-Only三僅主機模式

三、Host-Only(僅主機模式) Host-Only模式其實就是NAT模式去除了虛擬NAT裝置,然後使用VMware Network Adapter VMnet1虛擬網絡卡連線VMnet1虛擬交換機來與虛擬機器通訊的,Host-Only模式將虛擬機器與外網隔

C語言存儲類別又分為四類:自動auto、靜態static、寄存器的register外部的extern

字符變量 修飾 例如 register ext 進行 適合 sta -- 除法運算中註意: 如果相除的兩個數都是整數的話,則結果也為整數,小數部分省略,如8/3 = 2;而兩數中有一個為小數,結果則為小數,如:9.0/2 = 4.500000。 取余運算中註意: 該運算只適

Linux運維之道之admin1.4權限歸屬,LADP認證

達內 linux 運維admin admin1.4權限和歸屬:基本權限:基本權限的類別:訪問方式(權限):---讀取:允許查看內容--read (r權限:能夠ls瀏覽此目錄內容)---寫入:允許修改內容--write (w權限:能夠執行rm/mv/cp/mkdir/touch等更

Linux件管理

linux中軟件安裝在Linux中,會涉及到相關軟件的使用來方便我們,那麽軟件如何下載呢,如下將做詳細的介紹。####一、軟件名稱識別####[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm ##rpm結尾的適用與redhat操作系統 ||

C# 編程的堆棧Stack隊列Queue

的區別 bottom seq 序表 gin 數組 src 優秀 順序隊列 一、什麽是堆?(Heap) 堆是無序的,是一片不連續的內存域,由用戶自己來控制和釋放,如果用戶自己不釋放的話,當內存達到一定的特定值時,通過垃圾回收器(GC)來回收。 是程序運行期

python3開發進階-Django框架的ORM的常用操作的補充F查詢Q查詢,事務

這樣的 env atomic 實例 In git 必須 TE setup 閱讀目錄 F查詢和Q查詢 事務 一、F查詢和Q查詢 1、F查詢 查詢前的準備 class Product(models.Model): name = mod

二叉樹的前後序遍歷遞迴非遞迴版本

各位讀者週末愉快呀,今天我想來說說一道很常見的面試題目 —— 關於二叉樹前中後序遍歷的實現。本文將以遞迴和非遞迴方式實現這 3 種遍歷方式,程式碼都比較短,可以放心食用。 先簡單說明一下這 3 種遍歷方式有什麼不同 —— 對於每種遍歷,樹中每個結點都需要經過 3 次(對於葉結點,其左右子樹視為空子樹),但前

linux裡掛載mount取消掛載umount命令的使用

一、簡單用法 掛載 $ mount /dev/hda2 /home 第一個叄數是與包括檔案系統的磁碟或分割槽相關的裝置檔案。 第二個叄數是要mount到的目錄。 解除安裝掛載點 $ umount /dev/hda2 $ umount /usr 引數可以是裝置檔案或安裝點。   二、mou

linux裏掛載mount取消掛載umount命令的使用

字體 普通用戶 ntfs defaults move pass ont ref 識別 一、簡單用法 掛載 $ mount /dev/hda2 /home 第一個叁數是與包括文件系統的磁盤或分區相關的設備文件。 第二個叁數是要mount到的目錄。 卸載掛載點 $ umount

c++冒號:雙冒號::的用法【轉】

(轉自:https://blog.csdn.net/zimingjushi/article/details/6549390?utm_source=blogxgwz1)   1.冒號(:)用法 (1)表示機構內位域的定義(即該變數佔幾個bit空間) typedef struct _X

capture JS的事件冒泡Bubble事件捕獲capture以及如何阻止事件的冒泡

JS中的事件冒泡(Bubble)和事件捕獲(capture)以及如何阻止事件的冒泡 對“捕獲”和“冒泡”這兩個概念,通常我們對冒泡瞭解和使用的會更多一些,因為在我們使用的所有瀏覽器中,都支援事件冒泡 ,即事件由子元素向祖先元素傳播的,就像氣泡從水底向水面上浮一樣。而在像firefox,chrome,safa

Linux下對lvm邏輯卷分割槽大小的調整針對xfsext4不同檔案系統

當我們在安裝系統的時候,由於沒有合理分配分割槽空間,在後續維護過程中,發現有些分割槽空間不夠使用,而有的分割槽空間卻有很多剩餘空間。如果這些分割槽在裝系統的時候使用了lvm(前提是這些分割槽要是lvm邏輯卷分割槽),那麼就可以輕鬆進行擴容或縮容!不同檔案系統型別所對應的建立、檢查、調整命令不同,下面就針對xf

Mysql的鎖SX鎖的區別

共享鎖和排它鎖 Mysql的鎖系統:shared lock 和 exclusive lock (共享鎖和排它鎖,也叫讀鎖和寫鎖,即read lock和write lock) 讀鎖是共享的,或者說是相互不阻塞的寫鎖是排他的,一個寫鎖會阻塞其他的寫鎖和讀鎖在實際的資料庫系統中,每時每刻都發生鎖定,當

Linux程序通訊--無名管道pipe有名管道FIFO通訊

管道通訊 管道是單向的、先進先出的,它把一個程序的輸出和另一個程序的輸入連線在一起。一個程序(寫程序)在管道的尾部寫入資料,另一個程序(讀程序)從管道的頭部讀出資料 管道建立 管道包括無名管道和有名管道兩種,前者用於父程序和子程序的通訊,後者可用於運行於同一系統中的任意兩個程序間