Linux基礎 命令(二)

2021-07-29 07:14:05 字數 3450 閱讀 9532

每一天的堅持雖然有些累,但是卻有一定的收穫。在今天特殊的日子裡,我依舊平靜的過…….

常見兩種壓縮格式

gzip 壓縮比不是很高,但是壓縮時間快

bzip2 壓縮比很高,壓縮時間很長。 以時間換取空間

壓縮

gzip filename,壓縮完成後,原始檔是不存在的

bzip2 filename壓縮完成後,原始檔是不存在的

以上兩種只是一次壓縮乙個,而且不能對目錄進行壓縮,於是

zip  filename.zip filename(s)

壓縮格式 壓縮後的檔名 需要壓縮的檔案。。。

可以一次性壓縮多個檔案或者目錄,壓縮完成後,原始檔仍然存在

例:

gzip filename

bzip2 filename

zip done.zip filename1 filename2

解壓縮

gunzip  filename

bunzip2 filename

unzip filename

例:

gunzip filename.gz

bunzip2 filename.bz2

unzip done.zip

歸檔,把小檔案合併成乙個大檔案,便於複製,移動等操作
tar  [cvf] package_name filename(s)歸檔

tar cvf[z/j] package_name filename(s)歸檔壓縮

例:

tar cvf all.tar file1 file2  file3    

all.tar:歸檔後的檔案全名 file1,file2,file3要歸檔的檔案

tar cvfz done.tar.gz file1 file2 file3

done表示歸檔壓縮後的檔名, .tar表示歸檔檔案,.gz表示壓縮格式是gzip

cvf 歸檔 cvfz 加z表示以gzip格式進行壓縮

tar cvfj done.tar.bz2 file1 file2 file3 …

done.tar.bz2 done表示歸檔壓縮後的檔名, tar表示歸檔檔案,bz2表示壓縮格式是bzip2

cvfj 加j表示以bzip2格式進行壓縮

解檔
tar xvf 解檔

tar xvfj package_name 解檔解壓縮,檔案格式是 以bzip2 壓縮的檔案,如done.tar.bz2

tar xvfz package_name 解檔解壓縮,檔案格式是 以gzip 壓縮的檔案,如done.tar.gz

硬鏈結 和軟鏈結
ln [-s] source_file destination_file

不加 -s 是硬鏈結.硬鏈結可防止誤刪檔案, 相當於起別名,比如:原有檔案為/etc/passwd, 我建立了p1.h, p2.h,然後刪除passwd檔案,依舊可以使用more命令檢視p1.h的 內容。它所刪除的只是乙個別名(鏈結號),對於磁碟的儲存內容是不受影響的。如果完全刪除所有鏈結號,檔案(索引釋放)才會不存在。如果不重寫或者覆蓋資料塊,資料塊的內容還是存在的,然後找到相對應的索引,就還可以找到對應的內容,這就是所謂的恢復刪除檔案。反之,則不存在

借圖說下檔案查詢順序,這樣便於理解硬鏈結刪除和建立

為了方便說明原理,以下軟硬鏈結編號均為假設,可以自己去嘗試尋找它的真實編號。 命令ls -i

檔案儲存分為索引區和資料區。索引區存放檔案屬性資訊,資料區存放真正的內容。我們這裡假設索引區的每一塊編號為1,2,3,4…..,資料塊編號為1000,1001,1002,…… 我們使用ls命令的時候,看到的資訊就是索引塊的資訊,使用more命令的時候,就是通過資料塊編號找到資料塊的內容。

我們的passwd索引塊是4號對應的passwd資料塊編號是1002,使用more檢視的時候,就是呼叫passwd索引塊的屬性資訊中的資料塊編號去調資料塊中的內容。

那麼我們怎麼知道passwd索引塊就是4號塊呢?

我們來看,etc是乙個目錄,它也需要自己的索引塊,假定它的索引塊是1號塊,資料塊編號是1001,1號塊存放的就是etc的屬性資訊,除此以外,最後一項放的是資料塊的編號。資料塊含有若干項,每項分為兩部分,第一部分子目錄或者名字,第二部分放passwd的索引編號4。同理;etc的索引塊呢,又是它上一層目錄所得來的,直到根目錄,根目錄為固定編號。當建立硬鏈結的時候,就會在etc資料塊中新加入乙個子項,一部分是名字,一部分是編號,如圖中p1.h,p2 它們都是相同的檔案,大小相同。只是入口不同,但是所指向的其實都是4號索引塊,所以當你刪除其中的乙個,是不會影響其他的,但是鏈結數會減少,當所有的入口都刪除完了,那麼就不存在索引塊 了,只剩下資料塊中的內容了。 這個上面有提到。說了這麼多,其實就是共享原始檔的索引。

整個查詢順序:

etc索引塊—>etc資料塊—》passwd索引塊,取出資料塊編號—>passwd資料塊–>內容

加-s 是軟連線

軟鏈結相當於windows上的快捷方式,可以建立在任何目錄下。同樣舉例,原有檔案為passwd, 我建立了p1.h.s, p2.h.s,然後刪除passwd檔案,這個時候使用more命令檢視p1.h.s的 內容。會告訴你找不到這個檔案或者目錄。

看圖

編號全是假設,真實的自己可查。前半部分與硬鏈結相同,不再重複。

這裡建立軟鏈結的時候,軟鏈結的編號將不會再試4,而會有變化,這裡假設1,這個時候再索引塊1中會顯示它的屬性資訊。 這個檔案資訊格式 lxx-x—– ,還記得吧, 第乙個字元代表什麼檔案,這裡決定了它後面如何查詢,同理,根據相應的資料塊編號1000去資料塊中繼續查詢,為什麼呢?剛說了,因為第乙個字元為l,存放的肯定是鏈結路徑,所以繼續根據路徑查詢,如果是常規檔案,就直接顯示內容了。那麼,刪除為什麼會有影響,應該明白了吧。當你把所指向的鏈結路徑刪除了,當然無法找到了。這裡指的是你把/etc/passwd刪除了, 那麼 pass1.s指向誰呢?肯定會出錯啦!

man

Linux基礎命令 二

查詢檔案 find grep 在檔案裡面按內容查詢 find 在指定的路徑裡面找檔案 find name name 查詢當前目錄下所有檔名包含name的檔案 find tmp size 2m 查詢在 tmp目錄下大小等於2m的檔案 find tmp size 2m 查詢在 tmp目錄下大於2m的檔案...

Linux基礎命令二

df 檢視磁碟空間。h 以高可讀形式展示。free 檢視記憶體使用情況。m 以mb為單位。wc 統計檔案內容資訊 行數,單詞數,位元組數 l line 行數 w world 單詞數 c bytes 位元組數 date 操作時間日期 讀取,設定 語法1 date 輸出的形式 2018年 3月 24日 ...

Linux基礎命令 二

目錄 linux基礎命令 二 檢視檔案內容less命令 統計檔案內容wc命令 檢索和過濾檔案內容grep命令 壓縮命令gzip bzip2命令 製作歸檔檔案 tar 基本語法 文字編輯器 vi 文字編輯器的作用 linux中最常用的文字編輯器 vi編輯器的工作模式三種工作模式 不同模式之間的切換 與...