CentOs之鏈結命令

2022-09-10 20:09:14 字數 3758 閱讀 8347

ln -s [原始檔] [目標檔案]

1,擁有相同的i節點和儲存block塊,可以看作是同乙個檔案;

2,可通過i節點識別;

3,不能跨分割槽;

4,不能針對目錄使用;

我們把/root下的anaconda-ks.cfg建立乙個硬鏈結到/tmp下

[root@localhost ~]# ls

anaconda-ks.cfg  牛逼

[root@localhost ~]# ln /root/anaconda-ks.cfg /tmp/ana.hard

[root@localhost ~]# ll

總用量 4

-rw-------. 2 root root 1237 6月  10 05:24 anaconda-ks.cfg

drwxr-xr-x. 3 root root   22 6月  18 11:03 牛逼

[root@localhost ~]# ll /tmp/

總用量 16

-rw-------. 1 root root 1237 6月  18 10:12 abc

-rw-------. 1 root root 1237 6月  18 10:16 anaconda-ks.cfg

-rw-------. 2 root root 1237 6月  10 05:24 ana.hard

-rwx------. 1 root root  836 6月  10 05:24 ks-script-p0ci4j

drwx------. 3 root root   17 6月  12 23:50 systemd-private-12ece3aaa1eb44678dbf684dbccbc32f-vmtoolsd.service-xjtv7r

drwx------. 3 root root   17 6月  17 17:42 systemd-private-3588b18d27f94b80849d22621ef2defb-vmtoolsd.service-wmk7jt

drwx------. 3 root root   17 6月  16 04:51 systemd-private-90f54554da784e52aeb890d207e41094-vmtoolsd.service-i8f1yy

drwx------. 3 root root   17 6月  10 05:26 systemd-private-d5f08625d54e4ed3a0faa9b9fb944db5-vmtoolsd.service-4rhppx

drwx------. 3 root root   17 6月  14 06:38 systemd-private-f68c251a6a6c46ac94b4c1e73090ef59-vmtoolsd.service-s6j6u0

drwx------. 3 root root   17 6月  11 04:08 systemd-private-f7cb736915b24ef2b72faee1ec860c6d-vmtoolsd.service-ldpfcl

-rw-------. 1 root root    0 6月  10 05:19 yum.log

drwxr-xr-x. 3 root root   30 6月  18 10:24 書籍2

drwxr-xr-x. 3 root root   30 6月  18 10:24 書籍2哈哈

[root@localhost ~]# 

看著基本一樣;

我們用vi 開啟檔案 vi /root/anaconda-ks.cfg

我們隨便修改下這個檔案 (不要擔心,這個檔案是安裝時候產生的,就算刪除了也沒事)

然後 esc  :wq 儲存並且退出;

我們開啟/tmp下的ana.hard檔案

我們發現 硬鏈結內容也變了;

假如我們修改 硬鏈結裡的內容,anaconda-ks.cfg裡的同樣修改;(大夥自己測試下)

這裡說明同乙個檔案相當於有兩個入口,我們可以檢視下兩個入口的inode;

[root@localhost ~]# ls -i /root/anaconda-ks.cfg /tmp/ana.hard 

33574979 /root/anaconda-ks.cfg  33574979 /tmp/ana.hard

[root@localhost ~]# 

我們發現 inode節點號一樣;

就算我們把其中乙個刪除,也不會影響檔案另外乙個的訪問;(大夥如果捨不得刪除這個檔案,可以自己新建檔案測試)

1,類似windows快捷方式;

2,軟鏈結擁有自己的i節點和block塊,但是資料塊中只儲存原有檔案的檔名和i節點號,並沒有實際的檔案資料;

3,lrwxrwxrwx l 軟鏈結 軟鏈結檔案許可權都為 rwxrwxrwx

4,修改任意檔案,另乙個都改變;

5,刪除原檔案,軟鏈結不能使用;

軟鏈結和硬鏈結的重要區別是 假如把原檔案刪除,軟鏈結則不能用,但是假如是硬鏈結,刪除原檔案的話,不影響硬鏈的使用;

我們在root下 用touch命令新建乙個a檔案

然後用echo命令追加點內容進入 ,再用cat命令列印下內容

[root@localhost ~]# touch a

[root@localhost ~]# echo 1111 >> /root/a

[root@localhost ~]# cat /root/a

[root@localhost ~]# 

然後在/tmp/下建立乙個軟鏈結

ln -s /root/a /tmp/a.soft

我們來看下這個兩個檔案的inode節點

[root@localhost ~]# ll -i /tmp/a.soft /root/a

33575024 -rw-r--r--. 1 root root 5 6月  19 16:01 /root/a

17066258 lrwxrwxrwx. 1 root root 7 6月  19 16:41 /tmp/a.soft -> /root/a

我們發現是不一樣的,我們可以把軟鏈結理解成是指向原檔案的引用 存的僅僅是位址,這樣,假如原檔案刪除了,那軟鏈結就沒啥用了。但是這裡 我們無論是修改兩個檔案的任意乙個,另外乙個始終能看到最終結果;

[root@localhost ~]# echo 2222 >> /root/a

[root@localhost ~]# cat /root/a

[root@localhost ~]# cat /tmp/a.soft

[root@localhost ~]# 

我們修改了原檔案a 然後我們開啟軟鏈結 能看到結果

[root@localhost ~]# echo 3333 >> /tmp/a.soft

[root@localhost ~]# cat /tmp/a.soft

[root@localhost ~]# cat /root/a

[root@localhost ~]# 

我們修改軟鏈結,用a.soft 和a開啟 都能看到最終結果;

假如我們刪除原檔案

[root@localhost ~]# rm -rf /root/a

[root@localhost ~]# cat /tmp/a.soft

cat: /tmp/a.soft: 沒有那個檔案或目錄

[root@localhost ~]# 

我們開啟軟鏈結 報錯。

CENTOS 的 ln 命令 軟鏈結和硬鏈結

ln 這是linux中乙個非常重要命令,請大家一定要熟悉。它的功能是為某乙個檔案在另外乙個位置建立乙個同不的鏈結,這個命令最常用的引數是 s,具體用法是 ln s 原始檔 目標檔案。當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每乙個需要的目錄下都放乙個必須相同的檔案,我們只要在某個固定的目...

CentOS 基礎知識 Linux鏈結命令1 4

linux鏈結命令1 4 1 ln 原檔案 目標檔案 link 功能描述 生成鏈結檔案 選項 s 建立軟鏈結 ln s 硬鏈結特徵 擁有相同的i節點和儲存block塊,可以看做是同乙個檔案。在格式化時,第一將分割槽劃分為等大小的block資料塊,該資料塊通常為4kb。第二建立分割槽表,並為每個檔案建...

Centos命令系列 之 screen

作為運維人員經常會遇到等到遠端主機的鏈結因為網路原因或者別的其他不可抗拒的原因斷掉,此時遠端為執行完成的命令也會斷掉而導致很多任務需要重新執行。這給大家介紹乙個在這種情況下很好用的命令screen,具體好用在那裡,下面具體介紹,包括從其安裝到配置到使用 在正式介紹之前,先給大家介紹下screen都能...