文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln
file:
ep:file grap
grap:English test
1.作用:
file通過探測文件內容判斷文件類型,使用權限是所有用戶
2.格式:
file[options] 文件名
3.主要參數
-v:在標準輸出後顯示版本信息,並且退出。
-z:探測壓縮過的文件類型。
-L:允許符合鏈接
-fname:從文件namefile中讀取要分析的文件名列表
4.簡單說明
使用file命令可以知道某個文件究竟是二進制(ELF)格式的可執行文件,還是ShellScript文件,或者其它什麼格式. file能識別的文件類型有目錄, Shell腳本, 英文文本, 二進制可執行文件, C語言源文件, 文本文件, DOS 可執行文件。
file命令不能探測包括圖形、音頻、視頻等多媒體文件類型。
mkdir
1.作用:
mkdir命令的作用是建立名稱爲dirname的子目錄,與MS
DOS下的md命令類似,它的使用權限是所有用戶。
2.格式: mkdir [options] 目錄名
3.主要參數:
-m,--mode=模式: 設定權限<模式>, 與chmod類似。
-p,--parents: 需要時創建上層目錄, 如果目錄已存在, 不當做錯誤。
-v,--verbose:每次創建新目錄都顯示信息。
--version : 顯示版本信息後離開。
4.應用實例
在進行目錄創建時可以設置目錄的權限,此時使用的參數是“m”。假設要創建的目錄名是“tsk”,讓所有用戶都有rwx,那麼可以使用以下命令:
$mkdir –m 777tsk
grep
1.作用:
grep命令可以指定文件中搜索特定的內容,並將含有這些內容的行標準輸出。Grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶
2.格式:grep [options]
-c: 只輸出匹配行的計數。
-I: 不區分大小寫(單字符)。
-h: 查詢多文件時不顯示文件名。
-n: 顯示匹配行及行號。
-s: 不顯示不存在或無匹配文本的錯誤信息。
-v: 顯示不包含匹配文本的所有行。
pattern正則表達式主要參數:
\ :忽略正則表達式中特殊字符的原有含義。
^ :匹配正則表達式的開始行。
$ :匹配正則表達式的結束行。
\< :從匹配正則表達式的行開始。
\>;:到匹配正則表達式的行結束。
[] :單個字符,如[A] 即A符合要求。
[-] :範圍,如[A-Z] ,即A,B,C到Z都符合要求。
。: 所有的單個字符。
* :有字符
長度可以爲0。
正則表達式是Linux/Unix系統中非常重要的概念. 正則表達式(也稱爲 regex 或 regexp)是個可以描述一類字符串的模式(Pattern). 如果一個字符創可以用某個正則表達式來描述, 我們就說這個字符串和該正則表達式匹配(Match
)。這和DOS中用戶可以使用通配符“*”代表任意字符類似。在Linux系統上,正則表達式通常被用來查找文本模式,以及對文本執行“搜索——替換”操作和其他功能。
dd
1.作用:
dd命令用來複制文件, 並根據參數將數據轉換和格式化
2. 格式:
dd [options]
3.主要參數
bs=字節 強迫 ibs=<字節>,及obs=<字節>。
cbs=字節:每次轉換指定的字節<字節>。
conv=關鍵字:根據以逗號分隔得關鍵字表示的方法來轉換文件。
count=塊數目:只複製指定<塊數目>的輸入數據。
ibs=字節:每次讀取指定的<字節>。
obs=字節:每次寫入指定的<字節>。
if=文件: 讀取<文件>內容, 而非標準輸入的數據。
of=文件: 將數據寫入文件,而不在標準輸出顯示。
seek-塊數目:先略過以obs爲單位的指定<塊數目>;的輸出數據。
skip=塊數目:先略過以ibs爲單位的指定<塊數目>;的輸入數據。
4.應用實例:
dd命令常常用來製作Linux啓動盤, 先找一個可引導內核, 令它的根設備指向正確的根分區, 然後使用dd 命令將其寫入軟盤:
$rdev vmlinuz /dev/hda
$dd if=vmlinuz of=/dev/fd0
上面代碼說明, 使用rdev命令可將引導內核vmlinuz中的根設備指向 /dev/hda, 把”hda”換成自己的根分區,用dd命令將該內核寫入軟盤。
find
1.作用:
find命令的作用是在目錄中搜索文件,它的使用權限是所有用戶。
2.格式: find [path] [options] [expression]
path指定目錄路徑,系統從這裏開始沿着目錄樹向下查找文件。它是一個路徑列表,相互用空格分離,如果不寫path,那麼默認爲當前目錄。
3.主要參數:
[expression]:
-name:支持通配符*和?。
-size n:搜索文件大小爲n個block的文件。
-user :搜索文件屬主爲用戶名的文件。
-atime n: 搜索過去n天/分鐘讀取過的文件。
-ctime: 搜索過去n天/分鐘修改過屬性的文件。
-group grpouname:搜索所有組爲grpouname的文件。
-print :輸出搜索結果並打印。
4.應用技巧:
find命令查找文件的幾種方法:
(1)根據文件名查找
ep:我們想要查找一個文件名是lilo.conf的文件
find / -name lilo.conf
/表示搜索整個硬盤
(2)快速查找文件
ep:查找文件名是smb.conf的文件,並且推測它在etc目錄下
find /etc -name smb.conf
(3)根據部分文件名查找
ep:我們只知道文件名中包含abvd這四個字母
find / -name ‘*abvd*’
(4)混合方式查找
ep:在etc目錄下尋找大於500000字節並且24小時內修改過的文件
find /etc -size +500000c -and -mtime +1
mv
1.作用: 爲文件或目錄改名或將一個文件由一個目錄移動到另一個目錄下。
2.格式:
mv[options]
源文件或目錄 目標文件或目錄
3. 主要參數
-i 交互方式操作.如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫, 避免誤覆蓋文件。
-f 禁止交互操作。
4.應用實例:
(1)將/usr/cbu/中所有文件移到當前目錄下
$mv /usr/cbu/* .
(2)將文件11改名爲22
$mv 11 22
ls
1.作用: 顯示目錄內容
2.格式: ls [options] [filename]
3.主要參數:
-a :列出所有文件,包含以”.”開頭的隱藏文件
-l :列出文件詳細信息
-lh :查看詳細信息及文件大小
-d :查看目錄屬性
-ld :查看目錄權限
-i :查看i節點
-R :同時列出所有子目錄層
-N :列出未經處理的項目名稱
diff
1.作用:用於兩個文件之間的比較,並指出兩者的不同。
2.格式:diff[options] 源文件 目標文件
3.主要參數:
-a:把所有文件當作文本文件。
-z:忽略大小寫的變化。
-b/B:忽略空格/空行造成的不同。
cmp
1.作用:指出兩個文件是否存在差異。
2.格式:cmp[options] 文件名
cat
1.作用: 顯示文件有關信息。
2.格式:cat[options] 文件1 文件2 ……
3.主要參數:
-n:對所有行編號
-b:對空白行不編號
-s:遇到連續多行的空白行代換爲一行空白行
4.應用實例:
把README和INSTALL的文件內容附加到File1中
$cat README INSTALL File1
ln
1.作用: 鏈接。
2.格式:ln[options] 源文件 [鏈接名]
3.主要參數:
-f:鏈接時刪除源文件
-s:軟鏈接
-b:備份