在 Linux 中可以為文件或者目錄建立一個連結,
這個連接能幫助使用者在不同的位置找到同一份文件或者目錄,
不需要花費額外的硬碟空間複製一份在使用的資料夾中,
今天就帶大家來看
Linux 指令 ln 教學範例
硬連結
使用的方法也很簡單:
ln [來源] [連結名稱]
不帶參數(預設)的情況下這樣方式建立的連結檔稱為硬連結,
一般而言在 Linux 的檔案系統中每個文件都有獨特的 inode 碼,
而系統是透過這些 inode碼來分辨檔案,
可以透過 ls -i 來查詢 inode碼。
建立硬連結之後,
連結檔的 inode碼會與來源檔案的一致,
相當於一個檔案的副本
軟連結
軟連結的語法如下:
ln -s [來源] [連結名稱]
使用軟連結建立的連接檔 inode碼跟來源的檔案不同,
這個連結檔相當於 windows中的捷徑,
屬於單純的路徑連結,
這兩者除了 inode碼有差異之外,
軟連結能夠允許對一個不存在的文件進行連結或者對目錄建立一個連結,
但硬連結則無法對一個目錄進行連結,
使用上要稍微注意。
移除連結
移除連接的方式很簡單,
由於 ln 會建立連結檔,
直接以 rm 刪除檔案就能移除連結
覆蓋連結
有時候要更改連結的目標
可以直接在命令加上參數 -f 覆蓋就能夠修改連結的目標
ln -f -s [來源] [連結名稱]
自動備份
若想要保存舊檔案,
可以加一個參數 -b 系統會自動備份舊檔案後再建立連結檔
ln -b -s [來源] [連結名稱]
或者使用大寫的S來指定備份的檔案結尾名稱
ln -b -S [備份檔名結尾名稱] -s [來源] [連結名稱]
舉例來說加上 -S ".bak" ,系統就會以原來連結檔的名稱字尾加上 .bak 作為結尾
之前介紹過了 WSL 的用法,
能讓PC不需要安裝VM就能建立Ubuntu開發環境,
有時候在嵌入式系統編譯的時候會找不到 /lib/modules/x.xx.xxx.x-microsoft-standard-WSL2,
這是由於編譯需要用到一些標頭檔,
這在精簡之後的WSL中沒有,
可以透過
sudo apt-get install -y linux-headers-generic
安裝之後前往 /lib/modules 以 ln -s 的方式將這個目錄指定到安裝的目錄上
sudo ln -s /lib/modules/5.4.0-172-generic /lib/modules/5.15.133.1-microsoft-standard-WSL2
這樣就能順利在WSL2中編譯嵌入式系統相關的程式碼
以上就是今天要帶大家來看的,
關於 Linux指令 ln 的用法與範例教學