Linux必學60個命令檔案處理 2

2021-03-31 08:57:00 字數 3652 閱讀 1981

find

1.作用

find命令的作用是在目錄中搜尋檔案,它的使用許可權是所有使用者。

2.格式

find [path][options][expression]

path指定目錄路徑,系統從這裡開始沿著目錄樹向下查詢檔案。它是乙個路徑列表,相互用空格分離,如果不寫path,那麼預設為當前目錄。

3.主要引數

[options]引數:

-depth:使用深度級別的查詢過程方式,在某層指定目錄中優先查詢檔案內容。

-maxdepth levels:表示至多查詢到開始目錄的第level層子目錄。level是乙個非負數,如果level是0的話表示僅在當前目錄中查詢。

-mindepth levels:表示至少查詢到開始目錄的第level層子目錄。

-mount:不在其它檔案系統(如msdos、vfat等)的目錄和檔案中查詢。

-version:列印版本。

[expression]是匹配表示式,是find命令接受的表示式,find命令的所有操作都是針對表示式的。它的引數非常多,這裡只介紹一些常用的引數。

—name:支援統配符*和?。

-atime n:搜尋在過去n天讀取過的檔案。

-ctime n:搜尋在過去n天修改過的檔案。

-group grpoupname:搜尋所有組為grpoupname的檔案。

-user 使用者名稱:搜尋所有檔案屬主為使用者名稱(id或名稱)的檔案。

-size n:搜尋檔案大小是n個block的檔案。

-print:輸出搜尋結果,並且列印。

4.應用技巧

find命令查詢檔案的幾種方法:

(1)根據檔名查詢

例如,我們想要查詢乙個檔名是lilo.conf的檔案,可以使用如下命令:

find / -name lilo.conf

find命令後的「/」表示搜尋整個硬碟。

(2)快速查詢檔案

根據檔名查詢檔案會遇到乙個實際問題,就是要花費相當長的一段時間,特別是大型linux檔案系統和大容量硬碟檔案放在很深的子目錄中時。如果我們知道了這個檔案存放在某個目錄中,那麼只要在這個目錄中往下尋找就能節省很多時間。比如**b.conf檔案,從它的檔案字尾「.conf」可以判斷這是乙個配置檔案,那麼它應該在/etc目錄內,此時可以使用下面命令:

find /etc -name **b.conf

這樣,使用「快速查詢檔案」方式可以縮短時間。

(3)根據部分檔名查詢方法

有時我們知道只某個檔案包含有abvd這4個字,那麼要查詢系統中所有包含有這4個字元的檔案可以輸入下面命令:

find / -name '*abvd*'

輸入這個命令以後,linux系統會將在/目錄中查詢所有的包含有abvd這4個字元的檔案(其中*是萬用字元),比如abvdrmyz等符合條件的檔案都能顯示出來。

(4) 使用混合查詢方式查詢檔案

find命令可以使用混合查詢的方法,例如,我們想在/etc目錄中查詢大於500000位元組,並且在24小時內修改的某個檔案,則可以使用-and (與)把兩個查詢引數鏈結起來組合成乙個混合的查詢方式。

find /etc -size +500000c -and -mtime +1

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 

ls 1.作用

ls命令用於顯示目錄內容,類似dos下的dir命令,它的使用許可權是所有使用者。

2.格式

ls [options][filename]

3.options主要引數

-a, --all:不隱藏任何以「.」 字元開始的專案。

-a, --almost-all:列出除了「 . 」及 「.. 」以外的任何專案。

--author:印出每個檔案著作者。

-b, --escape:以八進位制溢位序列表示不可列印的字元。

--block-size=大小:塊以指定《大小》的位元組為單位。

-b, --ignore-backups:不列出任何以 ~ 字元結束的專案。

-f:不進行排序,-au引數生效,-lst引數失效。

-f, --classify:加上檔案型別的指示符號 (*/=@| 其中乙個)。

-g:like -l, but do not list owner。

-g, --no-group:inhibit display of group information。

-i, --inode:列出每個檔案的inode號。

-i, --ignore=樣式:不印出任何符合shell萬用字元《樣式》的專案。

-k:即--block-size=1k。

-l:使用較長格式列出資訊。

-m:所有專案以逗號分隔,並填滿整行行寬。

-n, --numeric-uid-gid:類似-l,但列出uid及gid號。

-n, --literal:列出未經處理的專案名稱,例如不特別處理控制字元。

-p, --file-type:加上檔案型別的指示符號 (/=@| 其中乙個)。

-q, --quote-name:將專案名稱括上雙引號。

-r, --reverse:依相反次序排列。

-r, --recursive:同時列出所有子目錄層。

-s, --size:以塊大小為序。

4.應用舉例

ls命令是linux系統使用頻率最多的命令,它的引數也是linux命令中最多的。使用ls命令時會有幾種不同的顏色,其中藍色表示是目錄,綠色表示是可執行檔案,紅色表示是壓縮檔案,淺藍色表示是鏈結檔案,加粗的黑色表示符號鏈結,灰色表示是其它格式檔案。ls最常使用的是ls- l,見圖1所示。

圖1 使用ls-l命令

檔案型別開頭是由10個字元構成的字串。其中第乙個字元表示檔案型別,它可以是下述型別之一:-(普通檔案)、d(目錄)、l(符號鏈結)、b(塊裝置檔案)、c(字元裝置檔案)。後面的9個字元表示檔案的訪問許可權,分為3組,每組3位。第一組表示檔案屬主的許可權,第二組表示同組使用者的許可權,第三組表示其他使用者的許可權。每一組的三個字元分別表示對檔案的讀(r)、寫(w)和執行許可權(x)。對於目錄,表示進入許可權。s表示當檔案被執行時,把該檔案的uid或gid賦予執行程序的uid(使用者id)或gid(組 id)。t表示設定標誌位(留在記憶體,不被換出)。如果該檔案是目錄,那麼在該目錄中的檔案只能被超級使用者、目錄擁有者或檔案屬主刪除。如果它是可執行檔案,那麼在該檔案執行後,指向其正文段的指標仍留在記憶體。這樣再次執行它時,系統就能更快地裝入該檔案。接著顯示的是檔案大小、生成時間、檔案或命令名稱。

Linux必學的60個命令

linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁碟操作 檔案訪問 目錄操作 程序管理 檔案許可權設定等。所以,在linux系統上工作離不開使用系統提供的命令。要想真正理解linux系統,就必須從linux命令學起,通過基礎的命令學習可以進一步理解linux系統。不同linux發行版的...

Linux必學的60個命令

linux必學的60個命令 linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁碟操作 檔案訪問 目錄操作 程序管理 檔案許可權設定等。所以,在linux系 統上工作離不開使用系統提供的命令。要想真正理解linux系統,就必須從linux命令學起,通過基礎的命令學習可以進一步理解linu...

Linux必學的60個命令

linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁碟操作 檔案訪問 目錄操作 程序管理 檔案許可權設定等。所以,在linux系統上工作離不開使用系統提供的命令。要想真正理解linux系統,就必須從linux命令學起,通過基礎的命令學習可以進一步理解linux系統。不同linux發行版的...