Linux命令 – ln 軟連接與硬連結區別介紹

2021-01-10 流氓兔說娛樂

ln命令可以生成軟連結和硬連結,也可叫做符號連結和實體連結。 有興趣深入理解的可以查閱相關文檔,一般的讀者只需記住以下幾點即可:

1.不管是軟連結還是硬連結都不會額外增加磁碟空間(雖然實際情況可能會多佔用1個block)2.軟連結會佔用1個inode,而硬連結不佔用inode(想深究的可以自行查閱,不深究的可以直接略過)3.硬連結不能跨文件系統,不能連結目錄(可以得出軟連結是可以的)。為了更好理解舉例如下:

硬連結:假設在當前目錄有文件名為linuxidc.jpg(大小為1M),現在為它創建硬連結linuxidc-h.jpg,那麼當前目錄就有了2個文件,這2個文件除了名字不一樣其他的一模一樣,但是佔用的實際磁碟空間還是只有1M,改變任何一個文件的內容另一個文件也會跟著改變;當你只刪除linuxidc.jpg或只刪除linuxidc-h.jpg時,文件內容都還在磁碟,只有同時刪除了這2個文件時才會真的徹底刪除該1M的佔用。

軟連結:假設在當前目錄有文件名為linuxidc.jpg(大小為1M),現在為它創建軟連結linuxidc-s.jpg,那麼當前目錄就有了2個文件,linuxidc-s.jpg是一個全新的文件大小為7bytes(等於linuxidc.jpg名稱佔用的字節數),它指向linuxidc.jpg(學過C語言的指針理解起來會很快);改變任何一個文件的內容另一個文件也會跟著改變,刪除linuxidc-s.jpg不影響linuxidc.jpg,但是刪除了linuxidc.jpg那麼tmp-s.jpg就會失效因為它找不到它指向的文件了 。

我相信通過上面例子的解釋,你應該可以自己辨別在哪些情況選擇哪種連結方式了吧。

###bash####常用命令選項#默認硬連結-s #軟連結-f #如果目標文件存在時,直接移除後再創建(危險)

例子:

###bash####為/root/linuxidc.jpg生成軟連結ln -s /root/linuxidc.jpg /tmp/linuxidc.jpg#為/root/dir目錄生成軟連結ln -s /root/dir /linuxidc/dir1#為/root/linuxidc.jpg生成硬連結ln /root/linuxidc.jpg /tmp/linuxidc.jpg

注意:

###bash####假設文件夾aaa下有10個文件ln -s aaa bbb #生成aaa的軟連結bbb#未來有一天當你想要刪除軟連結bbb#只要敲如下命令rm -f bbb#千萬別大意敲如下命令,這樣會把aaa裡面的10個文件刪除掉rm -rf bbb/ #在使用軟連接過程中,請使用絕對路徑,如果使用了想對路徑,可能會出現連接數過多錯誤。

原文來自:https://www.linuxidc.com/Linux/2019-09/160773.htm本文地址:https://www.linuxprobe.com/linux-ln.html編輯:周曉雪,審核員:逄增寶Linux命令大全:https://www.linuxcool.com/

相關焦點

  • Linux系統:那些常見的硬連結和軟連結
    在Linux系統中,有些常見的硬連接和軟連接,你知道嗎?今天就帶大家來認識一下!先從Linux系統中的文件系統說起。1.連結類型類別:硬連結和軟連結2. 首先我們先來了解一下什麼是inode?在linux系統中,文件的文件內容會被分配到一個標誌號碼,這個標誌號碼就是inode,它是文件的索引節點linux文件系統中有一塊區域叫做inode table,它就是保存inode的地方inode保存著文件的元信息,其內容包括:文件類型、文件權限、文件物理地址、文件長度、文件連接計數
  • Linux 軟連結的使用和具體演示
    軟連接是linux中一個常用命令,它的功能是為某一個文件在另外一個位置建立一個同步的連結。具體用法是:ln -s 源文件 目標文件當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在其它的目錄下用ln命令連結(link)就可以,不必重複的佔用磁碟空間。
  • 什麼是Linux的`快捷方式` - 連結命令?
    Linux常用命令目錄:一、命令基本格式二、文件處理命令(上、下)三、文件搜索命令四、幫助命令五、壓縮與解壓縮命令六、關機和重啟命令七、其他常用命令連結命令:lnln -s [原文件] [目標文件]命令英文原意:link功能描述:生成連結文件
  • Linux 軟連結和硬連結
    ,它分為軟連結和硬連結,對應的命令是ln什麼是軟連接軟連結又叫符號連結, 它類似於 windows系統中的快捷方式,常用於將目錄層次較深的文件連結到比較容易訪問的目錄中創建軟連結使用 ln -s 源文件 軟連結 命令就可以創建一個軟連結,軟連結可以對文件、目錄、跨文件系統的文件或目錄創建文件的軟連結[root@ecs-centos-7 tt]# stat a.txt | grep LinksDevice: fd01h/64769d Inode: 131096
  • Linux文件打包與連結命令
    一.文件打包tar命令用於將文件打包或解包,擴展名一般為.tar,指定特定參數可以調用gzip或bzip2製作壓縮包或解開壓縮包tar選項:-c 建立新的壓縮包-x 解壓壓縮包-f 使用壓縮包的名字,f參數之後不能再加參數
  • Linux 軟連接和硬連結簡介
    本文主要介紹了Linux系統中的連結文件。文件系統在Linux系統中,將文件分為兩個部分:用戶數據和元數據。5)硬連結不能連結目錄,因為如果給目錄建立硬連結,那麼不僅目錄本身需要重新建立,目錄下所有的子文件,包括子目錄中的所有子文件都需要建立硬連結,這對當前的Linux來講過於複雜。6)硬連結不會佔用inode和block。軟連結(Symbolic link)含義軟連結有著自己的inode號以及用戶數據塊。只不過用戶數據塊中存放的內容是另一文件的路徑名的指向。
  • linux常用命令:linux常用命令介紹
    今天來聊聊一篇關於linux常用命令:linux常用命令介紹的文章,現在就為大家來簡單介紹下linux常用命令:linux常用命令介紹,希望對各位小夥伴們有所幫助。創建連結文件more、less 分頁顯示文本文件內容head、tail 顯示文件頭、尾內容ctrl+alt+F1 命令行全屏模式系統管理命令:stat 顯示指定文件的詳細信息,比ls更詳細who 顯示在線登陸用戶whoami 顯示當前操作用戶hostname 顯示主機名uname
  • JS對象與軟硬連結與文件拷貝的區別
    命令是一個重要的命令,它的功能是為某一個文件在另外一個位置建立一個同步的連結。對於前端來說,ln 命令被應用最多的地方就是, 就是全局安裝並創建一個 npm 命令npm i -g xxx(nrm),基本都是以軟連結的形式存在。
  • Linux的常考概念-2
    1、VI的幾種模式三種模式:1)命令模式(一般模式)2)編輯模式3)末行模式(尾行模式、命令行模式)三種的切換:①命令模式切換到編輯模式:輸入i,光標前面插入②編輯模式退到命令模式:esc③末行模式是以冒號開頭。注意:末行模式必須是在命令模式下操作。
  • XshellPortable——linux優秀連接工具教程(帶常用命令)
    ---最後進行命令即可哦常用的命令:suse linux 常用命令 (1) 命令ls——列出文件 ls 顯示當前目錄文件 ls -la 給出當前目錄下所有文件的一個長列表,包括以句點開頭的「隱藏」文件 ls a* 列出當前目錄下以字母a開頭的所有文件 ls -l *.doc 給出當前目錄下以
  • 跟光磊學Linux運維-深入淺出Linux文件系統
    硬連結實現一個文件可以有多個文件名文件連結類型分為硬連結和軟連結,硬連結在使用過程中有些限制,只能在同一個分區的不同目錄下針對文件創建硬連結。ln: 『file1』: hard link not allowed for directory文件連結類型-軟連結ln命令默認創建的連結是硬連結,而
  • Linux文件的常用操作命令
    linux文件操作常用指令1、系統命令runlevel # 查看當前的運行級別systemctl status firewalld # 開啟網絡服務功能stop # 關閉restart # 重啟# 創建硬連結ln -s # 創建軟連結cp # 複製文件或目錄mv # 移動文件或目錄which # 查看linux命令所在的目錄複製代碼4、帳號與權限'''1.
  • Linux常見命令總結
    主機,卻無法連接,多半是被防火牆攔截了。/b.txt 移動並改名8.8rm命令rm remove刪除文件rmdir 刪除空目錄(使用較少)rm file1 刪除文件1rm -r dir1 刪除目錄1,記得加-r8.9ln命令ln link產生連結文件ln -s 產生軟連結,不加-s產生硬連結ln -s /etc/issue
  • Linux系統簡單介紹和基本命令
    添加用戶格式:adduser 用戶名userdel - 刪除用戶格式:userdel 用戶名passwd - 修改密碼格式:passwd [用戶名] //不只定用戶名時修改當前用戶密碼shutdown - 關機/重啟格式:shutdown -h now // 立即關機shutdown -r now // 立即重啟top - 顯示linux
  • linux-nodejs的安裝及配置
    其實nodejs原生就是為linux開發的,我們可以通過多種方式在linux上安裝nodejs,比如通過源碼方式、通過編譯包方式等等。這裡介紹如何通過nodejs官網編譯包的形式在linux伺服器上安裝nodejs。
  • linux基礎命令(文件操作/文件權限)
    文件操作常用命令Linux是一個一切皆文件的作業系統,不管是普通的文件、目錄、套接字等,在Linux中都是以文件的方式對待,雖然他們的類型不同,但linux對其提供的是同一套操作界面。切換工作目錄cd 目標工作路徑註:目標工作路徑可為絕對路徑也可為相對路徑切換工作目錄eg.
  • Linux Centos 安裝vue環境
    因為要在linux(CentOS7)上安裝vue環境,因此把過程跟大家分享下:一、首先需要下載nodejs,一般做法是打開網站下載:http://nodejs.cn/download/然後使用scp命令上傳到CentOS上(我用的mac)scp node-v10.15.3
  • 編程基礎-linux命令
    vi/vim是unix/linux中最基本、最常用、功能最強大的文本編輯器。vi/vim有兩種模式:輸入模式:鍵盤上所有的輸入字符都當成文本內容命令模式:鍵盤上所有的輸入字符都當成是命令輸入模式->命令模式 :Esc命令模式-〉輸入模式:i: insert 進入輸入模式後,光標不動/I: Insert 進入輸入模式後,光標移到本行的行首。
  • 高級Linux運維工程師養成記-文件節點表和連結文件
    文件連結類型-硬連結硬連結實現一個文件可以有多個文件名文件連結類型分為硬連結和軟連結以/etc目錄下的fstab文件在/data/d1/d2/d3目錄下創建一個硬連結,然後查看兩個文件的詳細信息,發現文件完全一致。ln即link的縮寫,用於創建連結,默認是創建硬連結。
  • Linux的so文件到底是幹嘛的?淺析Linux的動態連結庫
    如果某個Linux的程序報錯提示缺少某個庫,可以用ldd命令可以用來檢查這個程序依賴了哪些庫,是否能在磁碟某個路徑下找到.so文件。如果找不到,需要使用環境變量LD_LIBRARY_PATH來調整,下文將介紹環境變量LD_LIBRARY_PATH。