Linux檔案處理命令 file、mkdir、grep、dd、mv、diff 阿新 • • 發佈:2018-12-12 file 1. 作用 file通過探測檔案內容判斷檔案型別,使用許可權是所有使用者。 2. 格式 file [options] 檔名 3. [options] 主要引數 -v: 在標準輸出後顯示版本資訊,並且退出。 -z: 探測壓縮過的檔案型別。 -L: 允許符合連線。 -f name: 從檔案namefile中讀取要分析的檔名列表。 4. 簡單說明 使用file命令可以知道某個檔案究竟是二進位制(ELF格式)的可執行檔案,還是Shell Script檔案,或者是其它的什麼格式。file 能識別的檔案型別有目錄、Shell 腳木、英文文字、二進位制可執行檔案、C語言原始檔、文字檔案、DOS的可執行檔案。 5. 應用例項 如果我們看到一個沒有後綴的檔案grap,可以使用下面命令: $ file grap grap: English text 此時系統顯示這是一個英文文字檔案。需要說明的是,file命令不能探測包括圖形、音訊、視訊等多媒體檔案型別。 mkdir 1.作用 mkdir命令的作用是建立名稱為dimame的子目錄,與MS DOS下的md命令類似,它的使用許可權是所有使用者。 2.格式 mkdir [options] 目錄名 3.[options]主要引數 -m, --mode=模式: 設定許可權<模式>; ,與chmod類似。 -p, --parents: 需要時建立上層日錄:如果目錄早已存在,則不當作錯誤。 -v,--verbose: 每次建立新目錄都顯示資訊。 --version: 顯示版本資訊後離開。 4.應用例項 在進行目錄建立時可以設定目錄的許可權,此時使用的引數是“-m”。假設要建立的目錄名是"tsk", 讓所有使用者都有rwx(即讀、寫、執行的許可權),那麼可以使用以下命令: $ mkdir -m 777 tsk grep 1.作用 grep命令可以指定檔案中搜索特定的內容,並將含有這些內容的行標準輸出。grep 全稱是Global Regular Expression Print, 表示全域性正則表示式版本,它的使用許可權是所有使用者。 2.格式 grep [options] 3.主要引數 [options] 主要引數: -c: 只輸出匹配行的計數。 -I: 不區分大小寫(只適用於單字元)。 -h: 查詢多檔案時不顯示檔名。 -l: 查詢多檔案時只輸出包含匹配字元的檔名。 -n: 顯示匹配行及行號。 -s: 不顯示不存在或無匹配文字的錯誤資訊。 -v: 顯示不包含匹配文字的所有行。 pattem正則表示式主要引數: \: 忽略正則表示式中特殊字元的原有含義。 ^: 匹配正則表示式的開始行。 $: 匹配正則表示式的結束行。 \<: 從匹配正則表示式的行開始。 \>: 到匹配正則表示式的行結束。 [ ]: 單個字元,如[A]即A符合要求。 [ - ]: 範圍,如[A-Z],即A、B、C一直到Z都符合要求。 。: 所有的單個字元。 * : 有字元,長度可以為0。 正則表示式是Linux/Unix系統中非常重要的概念。正則表示式(也稱為"regex"或“regexp")是一個可以描述一類字串的模式 (Pattern)。如果一個字串 可以用某個正則表示式來描述,我們就說這個字元和該正則表示式匹配(Match)。這和DOS中使用者可以使用萬用字元“*”代表任意字元類似。在Linux系統上,正則表示式通常被用來查詢文字的模式,以及對文字執行“搜尋替換”操作和其它功能。 4.應用例項 查詢DNS服務是日常工作之一,這意味著要維護覆蓋不同網路的大量IP地址。有時IP地址會超過2000個。如果要檢視nnn.nnn網路地址,但是卻忘了第二部分中的其餘部分,只知到有兩個句點,例如nnn nn…。要抽取其中所有nnn.nnn IP地址,使用[ 0-9 ]\{3 \}\.[0-0\{3\}\。含義是任意數字出現3次,後跟句點,接著是任意數字出現3次,後跟句點。 $grep'[0- 9 ]\{3\}\.[0-0\{3\}\' ipfile 補充說明,grep 家族還包括fgrep和egrep。fgrep 是fix grep,允許查詢字串而不是一個模式; egrep 是擴充套件grep,支援基本及擴充套件的正則表示式,但不支援\q模式範圍的應用及與之相對應的一些更加規範的模式。 dd 1.作用 dd命令用來複制檔案,並根據引數將資料轉換和格式化。 2格式 dd [options] 3. [opitions]主要引數 bs=位元組: 強迫 ibs=<位元組>; 及obs=<位元組>; 。 obs位元組: 每次轉換指定的<寧節>, conv=關鍵字: 根據以逗號分隔的關鍵字表示的方式來轉換檔案。 count=塊數目:只複製指定<塊數目>;的輸入資料。 ibs=位元組: 每次讀取指定的<位元組>;。 if=檔案: 讀取<檔案>; 內容,而非標準輸入的資料。 obs=位元組:每次寫入指定的<位元組>;。 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命令將該核心寫入軟盤。 mv 1. 作用 mv命令用來為檔案或目錄改名,或者將檔案由一個目錄移入另一個日錄中,它的使用許可權是所有使用者,該命令如同DOS命令中的ren和move的組合。 2. 格式 mv[options] 原始檔或目錄 目標檔案或目錄 3. [options]主要引數 -i: 互動方式操作。如果mv操作將導致對已存在的目標檔案的覆蓋,此時系統詢問是否重寫,要求使用者回答"y"或"n",這樣可以避免誤覆蓋檔案。 -f: 禁止互動操作。mv操作要覆蓋某個已有的目標檔案時不給任何指示,指定此引數後 i 引數將不再起作用。 4. 應用例項 (1)將/usr/cbu 中的所有檔案移到當前目錄(用":"表示)中: $ mv /usr/cbu/*. (2)將檔案 cjh.txt 重新命名為 wjz.txt: $ mv cjh.txt wjz.txt diff 1. 作用 diff命令用於兩個檔案之間的比較,井指出兩者的不同,它的使用許可權是所有使用者。 2. 格式 diff [options]原始檔 目標檔案 3. [options]主要引數 -a: 將所有檔案當作文字檔案來處理。 -b: 忽略空格造成的不同。 -B: 忽略空行造成的不同。 -c: 使用綱要輸出格式。 -H: 利用試探法加速對大檔案的搜尋。 -I: 忽略大小寫的變化。 -n --rcs: 輸出RCS格式。