這是linux中一個(gè)非常重要命令,請(qǐng)大家一定要熟悉。它的功能是為某一個(gè)文件在另外一個(gè)位置建立一個(gè)同不的鏈接,這個(gè)命令最常用的參數(shù)是-s,具體用法是:ln
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、班瑪ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的班瑪網(wǎng)站制作公司
-s
源文件
目標(biāo)文件。
當(dāng)
我們需要在不同的目錄,用到相同的文件時(shí),我們不需要在每一個(gè)需要的目錄下都放一個(gè)必須相同的文件,我們只要在某個(gè)固定的目錄,放上該文件,然后在其它的
目錄下用ln命令鏈接(link)它就可以,不必重復(fù)的占用磁盤空間。例如:ln
-s
/bin/less
/usr/local/bin/less-s
是代號(hào)(symbolic)的意思。
這
里有兩點(diǎn)要注意:第一,ln命令會(huì)保持每一處鏈接文件的同步性,也就是說(shuō),不論你改動(dòng)了哪一處,其它的文件都會(huì)發(fā)生相同的變化;第二,ln的鏈接又軟鏈接
和硬鏈接兩種,軟鏈接就是ln
-s
**
**,它只會(huì)在你選定的位置上生成一個(gè)文件的鏡像,不會(huì)占用磁盤空間,硬鏈接ln
**
**,沒(méi)有參數(shù)-s,
它會(huì)在你選定的位置上生成一個(gè)和源文件大小相同的文件,無(wú)論是軟鏈接還是硬鏈接,文件都保持同步變化。
如果你用ls察看一個(gè)目錄時(shí),發(fā)現(xiàn)有的文件后面有一個(gè)@的符號(hào),那就是一個(gè)用ln命令生成的文件,用ls
-l命令去察看,就可以看到顯示的link的路徑了。摘自
ComeOnTom的專欄
ln -s bbb的文件目錄 ccc的文件目錄
In的功能是為某一個(gè)文件在另外一個(gè)位置建立一個(gè)同步的鏈接,命令最常用的參數(shù)是-s,具體用法是:
ln -s? 源文件 目標(biāo)文件 ?
-s 是 symbolic的意思。
ln的鏈接有軟鏈接和硬鏈接兩種。
軟鏈接就是ln -s ** **,只會(huì)在選定的位置上生成一個(gè)文件的鏡像,不會(huì)占用磁盤空間。
硬鏈接ln
** **,沒(méi)有參數(shù)-s,在選定的位置上生成一個(gè)和源文件大小相同的文件。
無(wú)論是軟鏈接還是硬鏈接,文件都保持同步變化。軟鏈接是可以跨分區(qū)的,但是硬鏈接只能在同一分區(qū)內(nèi)。
擴(kuò)展資料:
1、目錄不能建立硬鏈接,但可以建立軟鏈接。
ln-s
test_chk? test_chk_ln
2、正確的刪除方式(刪除軟鏈接,但不刪除實(shí)際數(shù)據(jù)):
rm -rf ?./test_chk_ln
3、錯(cuò)誤的刪除方式:
rm -rf ./test_chk_ln/ (這樣就會(huì)把原來(lái)test_chk下的內(nèi)容刪除)
4、用ls查看一個(gè)目錄時(shí),發(fā)現(xiàn)有的文件后面有一個(gè)@的符號(hào),那就是一個(gè)用ln命令生成的文件。用ls
-l命令去查看,就可以看到顯示的link的路徑。
軟鏈接是linux中一個(gè)常用命令,它的功能是為某一個(gè)文件在另外一個(gè)位置建立一個(gè)同不的鏈接。
具體用法是: ln -s 源文件 目標(biāo)文件
當(dāng) 我們需要在不同的目錄,用到相同的文件時(shí),我們不需要在每一個(gè)需要的目錄下都放一個(gè)必須相同的文件,我們只要在其它的 目錄下用ln命令鏈接(link)就可以,不必重復(fù)的占用磁盤空間。
例如:
這樣我們就對(duì)/usr/bin目錄下的mysql命令創(chuàng)建了軟連接 。
創(chuàng)建軟連接
ln -s [源文件或目錄](méi) [目標(biāo)文件或目錄](méi)
例如:當(dāng)前路徑創(chuàng)建test引向/var/www/test 文件夾
創(chuàng)建/var/test 引向/var/www/test 文件夾
刪除軟連接
和刪除普通的文件是一樣的,刪除都是使用 rm 來(lái)進(jìn)行操作
例:
刪除test
修改軟鏈接
ln –snf [新的源文件或目錄](méi) [目標(biāo)文件或目錄](méi)
這將會(huì)修改原有的鏈接地址為新的地址
例如:
創(chuàng)建一個(gè)軟鏈接
修改指向新的路徑
常用參數(shù):
-f : 鏈結(jié)時(shí)先將與 dist 同檔名的檔案刪除
-d : 允許系統(tǒng)管理者硬鏈結(jié)自己的目錄
-i : 在刪除與 dist 同檔名的檔案時(shí)先進(jìn)行詢問(wèn)
-n : 在進(jìn)行軟連結(jié)時(shí),將 dist 視為一般的檔案
-s : 進(jìn)行軟鏈結(jié)(symbolic link)
-v : 在連結(jié)之前顯示其檔名
-b : 將在鏈結(jié)時(shí)會(huì)被覆寫或刪除的檔案進(jìn)行備份
-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾
-V METHOD : 指定備份的方式
--help : 顯示輔助說(shuō)明
--version : 顯示版本
例子:
對(duì)于上面的語(yǔ)法 chmod 【{ugoa}{+-=}{rwx}】【文件或目錄】,我們要知道ugoa分別是:u:表示所有者,g:表示所屬組,o:表示其他人,a:表示所有人。而rwx表示的意思如下:
對(duì)于【mode=421】【文件或目錄】,這是我們將權(quán)限用數(shù)字表示,其中 r 表示4,w表示2,x表示1,分別是2的0次方,1次方,2次方。那么我們可以這樣理解:具有 rwx 權(quán)限的數(shù)字就是 7,具有 rw- 權(quán)限的數(shù)字是 6,具有 r-- 權(quán)限的數(shù)字是 4。
示例1:我們賦予 tmp 目錄下的 tmp.log 所有者 x 的權(quán)限;賦予 所屬組 w 權(quán)限,其他人 w 權(quán)限。
將上面例子改為用 數(shù)字來(lái)操作,也就是說(shuō)我們要給 tmp.log賦予的文件權(quán)限是 rwxrw-rw-,用數(shù)字表示是766。
我們還可以遞歸賦予權(quán)限,也就是加上 -R 參數(shù)給指定目錄下的所有文件或目錄賦予指定權(quán)限。
示例2:給 tmp 目錄下所有文件和目錄賦予 776 的權(quán)限
這里我們通過(guò)useradd【用戶名】命令創(chuàng)建用戶,然后通過(guò)passwd【用戶名】輸入密碼,這兩個(gè)命令后面會(huì)將。我們通過(guò)這兩個(gè)命令創(chuàng)建 vae 用戶
然后我們將tmp.log的所有者更改為 vae 用戶:chown vae tmp.log
其中umask 執(zhí)行顯示結(jié)果是 0022,第一個(gè)0表示特殊權(quán)限,后面我們會(huì)單獨(dú)進(jìn)行講解有哪幾種特殊權(quán)限。022表示權(quán)限的掩碼值,我們用7 7 7 減去 0 2 2得到755(是每一位相減),表示的就是下面通過(guò)加上-S輸出的rwxr-xr-x,這個(gè)值用數(shù)字表示就是755.
這個(gè)意思說(shuō)明創(chuàng)建一個(gè)文件的默認(rèn)權(quán)限所有者為rwx,所屬組為rx,其他人為rx。也就是說(shuō)創(chuàng)建一個(gè)新文件默認(rèn)權(quán)限為 rwxr-xr-x,我們創(chuàng)建一個(gè)文件來(lái)驗(yàn)證一下:
我們發(fā)現(xiàn)使用touch命令創(chuàng)建了一個(gè)文件a.txt,然后發(fā)現(xiàn)權(quán)限并不是rwxr-xr-x,而是rw-r--r--。對(duì)比發(fā)現(xiàn)少了三個(gè)x,也就是少了可執(zhí)行權(quán)限。這是為什么呢?
這是因?yàn)樵贚inux系統(tǒng)中,所有新創(chuàng)建的文件都是沒(méi)有可執(zhí)行權(quán)限的。這是出于Linux系統(tǒng)的一種自我保護(hù),因?yàn)轭愃频牟《灸抉R程序都是具有可執(zhí)行權(quán)限的。所以在Linux系統(tǒng)中,新創(chuàng)建的文件是沒(méi)有可執(zhí)行權(quán)限的。
那么我們?nèi)绾卧O(shè)置默認(rèn)權(quán)限呢?比如我們想將新創(chuàng)建的文件權(quán)限設(shè)置為rwxr-xr--,也就是754。我們用777減去754得到023。也就是通過(guò)執(zhí)行 umask 023 來(lái)完成默認(rèn)權(quán)限設(shè)置。
1、首先有一個(gè)目錄dir, 執(zhí)行l(wèi)n -s dir dir_link 創(chuàng)建目錄的軟鏈接。
2、重新創(chuàng)建mkdir源目錄,目錄軟鏈接重新生效。
3、執(zhí)行命令ln dir dir_hard,創(chuàng)建目錄的硬鏈接。
4、執(zhí)行命令ln -s file file_link,創(chuàng)建文件file的軟鏈接file_link。
5、執(zhí)行命令ln file file_hard創(chuàng)建文件file的硬鏈接file_hard。
6、修改硬鏈接file_hard、cat file,同時(shí)更新到源文件中即可。