區別:1、硬連結時文件重命名或文件移動不會改變連結指向,符號連結時文件重命名或文件移動則使連結斷開;2、硬連結只能連結文件,符號連結可以連結檔案和資料夾;3、符號連結可以跨不同的檔案系統創建,硬連結則不可以跨不同的檔案系統創建。
本教學操作環境:linux7.3系統、Dell G3電腦。
linux中符號鏈接與硬鏈接的區別是什麼
linux存在2眾不同類型的鏈接,軟鏈接和硬鏈接,修改其中一個,硬鏈接指向的是節點(inode ),軟連結指向的是路徑(path)
軟體連接檔也叫符號連接,這個檔案包含了另一個檔案的路徑名,類似win下的捷徑
區別:
檔案重新命名或檔案移動
#檔案重新命名和檔案移動對於Linux系統來說都是文件絕對路徑的更改。對於硬連結來說,檔案重新命名或檔案移動不會改變連結指向,而對於軟連結來說,檔案重命名或檔案移動則使連結斷開,這時會透過軟連結修改檔案內容時會重新建立一個新的inode,跟原檔案名稱和檔案資料塊關聯。
檔案刪除
rm指令或nodejs的unlink其實是將inode的連結數減1。對於前文的硬鏈接,刪除test_hard.txt使得inode1的鏈接數變成1,當鏈接數變成0時,系統就會釋放掉這個inode,之後再創建的新文件就可以使用該inode的inode number了。這時沒有inode指向檔案資料block,所以檔案找不到了。但實際上檔案資料還存在硬碟中,所以常常能看到網路上有一些幫助恢復誤刪的檔案的工具。軟連結inode連結數為1,刪除軟連結則係統釋放該inode。
連結檔案和資料夾
軟體連結可以連結檔案和資料夾,但硬連結只能連結檔案。
不同檔案系統創建連結
軟體連結可以跨不同的檔案系統創建,但是硬連結不行,因為硬連結是共用一個inode,而不同的文件系統有不同的inode table。
應用程式場景
硬連結
#檔案備份:為了防止重要的檔案被誤刪,檔案備份是一種好的方法,但拷貝檔案會帶來磁碟空間的消耗。硬連結能不佔用磁碟空間實現檔案備份。
文件共享:多人共同維護同一份文件時,可以透過硬鏈接的方式,在私人目錄裡創建硬鏈接,每個人的修改都能同步到源文件,但又避免某個人誤刪就丟掉了文件的問題。
文件分類:不同的文件資源需要分類,例如某個電影即是的分類是外國、懸疑,那我們可以在外國的資料夾和懸疑的資料夾裡分別創建硬鏈接,這樣可以避免重複拷貝電影浪費磁碟空間。有人可能說,使用軟連結不也可以嗎?是的,但不太好。因為一旦原始檔案移動位置或重新命名,軟連結就失效了。
軟連結
捷徑:對於路徑很深的文件,尋找起來不太方便。利用軟連結在桌面建立快捷方式,可以迅速開啟並編輯文件。
靈活切換程序版本:對於機器上同時存在多個版本的程序,可以透過更改軟連結的指向,從而迅速切換程序版本。這裡提到了python版本的切換可以這麼做。
動態函式庫版本管理:不是很懂,具體可以看這裡。
總結
Linux系統透過inode管理文件,inode儲存文件位元組數、文件權限、連結數、資料block位置等資訊。
硬連結與原始檔案共用inode,除了檔案名稱不同,其他與原始檔案一樣。不能對資料夾建立硬鏈接,不能對不同的檔案系統的檔案建立硬鏈接。
軟連結類似windows的快捷方式,有獨立的inode。可以對資料夾或不同檔案系統的檔案建立軟連結。
硬連結和軟連結修改文件內容都會同步到來源文件,因為本質上它們都是指向來源文件的資料block。
相關推薦:《Linux影片教學》
以上是linux中符號連結與硬連結的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器