rmdir:刪除目錄
- 作用:刪除一個或者多個目錄。
- 用法:rmdir [選項]…目錄…
- 主要選項如下:
命令 | 描述 |
---|---|
--ignore-fail-on-non-empty |
忽略任何因目錄仍有數(shù)據(jù)而造成的錯誤 |
-p, --parents |
刪除指定目錄后,若該目錄的上層目錄已變成空目錄,則將其一并刪除 |
-v, --verbose |
顯示命令執(zhí)行過程 |
--help |
顯示此幫助信息并退出 |
--version |
輸出版本信息并退出。 |
說明 如果目錄沒有數(shù)據(jù)則刪除該目錄。rmdir 所刪除的目錄,每級目錄中都是空的,沒 有其他的文件。如果任何一級目錄有文件,也不能刪除。
案例練習
使用-p 參數(shù)刪除目錄時是一級一級地進行的。
mkdir -p /sirdoc/redhat/
注意 首先在當前目錄下創(chuàng)建目錄 sirdoc,sirdoc 內又有一個子目錄 redhat。
# rmdir -p sirdoc/redhat/
chattr:改變文件的屬性
- 作用:防止關鍵文件被修改。
- 用法:chattr [選項]文件或目錄
- 主要選項如下:
命令 | 描述 |
---|---|
-R |
遞歸處理所有的文件及子目錄。 |
-V |
詳細顯示修改內容,并打印輸出。 |
- |
失效屬性。 |
+ |
激活屬性。 |
= |
指定屬性。 |
A |
Atime,告訴系統(tǒng)不要修改對這個文件的最后訪問時間。 |
S |
Sync,一旦應用程序對這個文件執(zhí)行了寫操作,系統(tǒng)立刻把修改的結果寫到磁盤中。 |
a |
Append Only,系統(tǒng)只允許在這個文件之后追加數(shù)據(jù),不允許任何進程覆蓋或截斷這個文件。如果目錄具有這個屬性,系統(tǒng)將只允許在這個目錄下建立和修改文件,而不允許刪除任何文件。 |
i |
Immutable,系統(tǒng)不允許對這個文件進行任何修改。如果目錄具有這個屬性,那么任何進程只能修改目錄下的文件,不允許建立和刪除文件。 |
D |
檢查壓縮文件中的錯誤。 |
d |
No dump,在進行文件系統(tǒng)備份時,dump 程序將忽略這個文件。 |
C |
Compress,系統(tǒng)以透明的方式壓縮這個文件。從這個文件讀取時,返回的是解壓之后的數(shù)據(jù);而向這個文件中寫入數(shù)據(jù)時,數(shù)據(jù)被壓縮后才寫入磁盤。 |
s |
Secure Delete,讓系統(tǒng)在刪除這個文件時,使用 0 填充文件所在的區(qū)域。 |
u |
Undelete,當一個應用程序請求刪除一個文件時,系統(tǒng)會保留其數(shù)據(jù)塊,以便以后能夠恢復刪除的這個文件。 |
說明 chattr 命令的作用很大,其中一些功能是由 Linux 內核版本來支持的。如果 Linux 內核版本低于 2.2,那么許多功能將不能實現(xiàn)。同樣,-D 檢查壓縮文件中的錯誤,需 要 2.5.19 以上內核才能支持。另外,通過 chattr 命令修改屬性能夠提高系統(tǒng)的安全性, 但是它并不適合所有的目錄。chattr 命令不能保護/、/dev、/tmp、/var 目錄.
案例練習
(1)恢復/root 目錄,即子目錄的所有文件。
# chattr -R +u/root
(2)用 chattr 命令防止系統(tǒng)中某個關鍵文件被修改。 在 Linux 下,有些配置文件(passwd,fatab)是不允許任何人修改的。為了防止被誤刪除 或修改,可以設定該文件的“不可修改位(immutable)”,命令如下:
# chattr +i /etc/fstab
cksum:文件的 CRC 校驗
- 作用:打印每個文件的 CRC 校驗和及字節(jié)統(tǒng)計。
- 用法:cksum [文件]… cksum [選項]
- 主要選項如下:
命令 | 描述 |
---|---|
--help |
顯示此幫助信息并退出。 |
--version |
輸出版本信息并退出。 |
說明 CRC(Cyclic Redundancy Check,循環(huán)冗余校驗碼)是常用的校驗碼,在早期的 通信中應用廣泛,因為早期的通信技術不夠可靠(不可靠性的來源是由通信技術決定 的,比如電磁波通信時受雷電等因素的影響),不可靠的通信就會帶來“確認信息” 的困惑,比如紅軍和藍軍通信聯(lián)合進攻山下敵軍的例子。第一天紅軍發(fā)了一條信息要 藍軍第二天一起進攻,藍軍收到信息之后發(fā)一條確認信息,但是藍軍擔心的是“確認 信息”如果也不可靠而沒有成功到達紅軍那里,那自己豈不是很危險?于是紅軍再發(fā) 一條“對確認的確認信息”,但同樣的問題還是不能解決,紅軍仍然不敢貿然行動。 對通信的可靠性檢查就需要“校驗”,校驗是從數(shù)據(jù)本身進行檢查,它依靠某種數(shù)學 上約定的形式進行檢查,校驗的結果是可靠或不可靠,如果可靠就對數(shù)據(jù)進行處理, 如果不可靠就丟棄重發(fā)或者進行修復。
CRC 碼由兩部分組成,前半部分是信息碼,就是需要校驗的信息,后半部分是校驗碼。如 果 CRC 碼共長 n bit,信息碼長 k bit,就稱為(n,k)碼。它的編碼規(guī)則如下。 (1)首先將原信息碼(kbit)左移 r 位(k+r=n)。 (2)然后運用一個生成多項式 g(x)(也可看成二進制數(shù))用模 2 除上面的式子,得到的余 數(shù)就是校驗碼。 要說明的是,模 2 除就是在除的過程中用模 2 加,模 2 加實際上就是我們熟悉的異或運算, 就是加法不考慮進位,公式如下。
0+0=1+1=0,1+0=0+1=1
即“異”則真,“非異”則假。 由此得到定理:
a+b+b=a
也就是“模 2 減”和“模 2 加”真值表完全相同。 有了加減法就可以用來定義模 2 除法,于是就可以用生成多項式 g(x)生成 CRC 校驗碼。 例如,g(x)=x 4 +x 3 +x 2 +1,(7,3)碼,信息碼 110 產生的 CRC 碼就是:11101 | 110,0000(設 a=11101,b=1100000)。 取 b 的前 5 位 11000 跟 a 異或得到 101,101 加上 b 沒有取到的 00 得到 10100,然后跟 a 異或得到 01001,也就是余數(shù) 1001,余數(shù)是 1001,所以 CRC 碼是 110,1001。 對于 g(x)=x 4 +x 3 +x 2 +1 的解釋:(都是從右往左數(shù))x 4表示第 5 位是 1,因為沒有 x 1,所以 第 2 位就是 0。
標準的 CRC 碼是 CRC-CCITT 和 CRC-16,它們的生成多項式如下。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-BB1nOhme-1688911325881)(linux常用命令/image-20230706152253716.png)]
案例練習
使用 CRC 檢驗文件,代碼如下:
cksum 1.txt
2422907486 124 1.txt
cmp:比較文件差異
- 作用:比較文件差異。
- 用法:cmp [選項] [第 1 個文件] [第 2 個文件]
- 主要選項如下:
命令 | 描述 |
---|---|
-c--print-chars |
除了標明差異處的十進制字碼之外,一并顯示該字碼所對應的字符。 |
-i<字符數(shù)目> |
–ignore-initial=<字符數(shù)目>:指定一個數(shù)目。 |
-l--verbose |
標識出所有不一樣的地方。 |
-s--quiet |
或–silent:不顯示錯誤信息。 |
-v--version |
顯示版本信息。 |
--help |
在線幫助。 |
函數(shù)的返回值如下。
-
0
:文件是同樣的。 -
1
:文件是不同的。 -
>1
:發(fā)生錯誤。
案例練習
比較兩個文本文件,代碼如下:文章來源:http://www.zghlxwxcb.cn/news/detail-542044.html
# cmp hello.cpp hello1.cpp
hello.cpp hello1.cpp differ: byte 9, line 1
split:分割文件
- 作用:分割文件。
- 用法:split [選項]… [輸入[前綴]]
- 主要選項如下:
命令 | 描述 |
---|---|
-d | 數(shù)字表示切割后的小文件。 |
-v | 顯示詳細的處理信息。 |
-b<字節(jié)> | 每個分割文件的大小。 |
-c<字節(jié)> | 輸出每行的大小。 |
-l<行數(shù)> | 指定行數(shù)。 |
–help | 顯示幫助信息。 |
–version | 顯示版本信息。 |
[PREFIX] | 設置分割后文件的前置文件名,split 會自動在前置文件名后加上編號。 |
案例練習
把一個大文件 file 分割成 1MB 大小的文件。文章來源地址http://www.zghlxwxcb.cn/news/detail-542044.html
Split -b 1m file filebak_
到了這里,關于linux 文件管理命令:rmdir \ chattr \ cksum \ cmp \ split的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!