簡(jiǎn)單介紹Linux命令——find
以下主要向大家介紹60個(gè)必學(xué)的Linux命令,這些命令是新手必須掌握的,你只要掌握好了,你的技術(shù)會(huì)有很大的提升,希望大家看完之后技術(shù)會(huì)有很高的提升。
dd
1.作用
dd命令用來(lái)復(fù)制文件,并根據(jù)參數(shù)將數(shù)據(jù)轉(zhuǎn)換和格式化。
2.格式
dd [options]
3.[opitions]主要參數(shù)
bs=字節(jié):強(qiáng)迫 ibs=及obs=。
cbs=字節(jié):每次轉(zhuǎn)換指定的。
conv=關(guān)鍵字:根據(jù)以逗號(hào)分隔的關(guān)鍵字表示的方式來(lái)轉(zhuǎn)換文件。
count=塊數(shù)目:只復(fù)制指定的輸入數(shù)據(jù)。
ibs=字節(jié):每次讀取指定的。
if=文件:讀取內(nèi)容,而非標(biāo)準(zhǔn)輸入的數(shù)據(jù)。
obs=字節(jié):每次寫(xiě)入指定的。
of=文件:將數(shù)據(jù)寫(xiě)入,而不在標(biāo)準(zhǔn)輸出顯示。
seek=塊數(shù)目:先略過(guò)以obs為單位的指定的輸出數(shù)據(jù)。
skip=塊數(shù)目:先略過(guò)以ibs為單位的指定的輸入數(shù)據(jù)。
4.應(yīng)用實(shí)例
dd命令常常用來(lái)制作Linux啟動(dòng)盤(pán)。先找一個(gè)可引導(dǎo)內(nèi)核,令它的根設(shè)備指向正確的根分區(qū),然后使用dd命令將其寫(xiě)入軟盤(pán):
$ rdev vmlinuz /dev/hda
$dd if=vmlinuz of=/dev/fd0
上面代碼說(shuō)明,使用rdev命令將可引導(dǎo)內(nèi)核vmlinuz中的根設(shè)備指向/dev/hda,請(qǐng)把“hda”換成自己的根分區(qū),接下來(lái)用dd命令將該內(nèi)核寫(xiě)入軟盤(pán)。
find
1.作用
find命令的作用是在目錄中搜索文件,它的使用權(quán)限是所有用戶(hù)。
2.格式
find [path][options][expression]
path指定目錄路徑,系統(tǒng)從這里開(kāi)始沿著目錄樹(shù)向下查找文件。它是一個(gè)路徑列表,相互用空格分離,如果不寫(xiě)path,那么默認(rèn)為當(dāng)前目錄。
3.主要參數(shù)
[options]參數(shù):
-depth:使用深度級(jí)別的查找過(guò)程方式,在某層指定目錄中優(yōu)先查找文件內(nèi)容。
-maxdepth levels:表示至多查找到開(kāi)始目錄的第level層子目錄。level是一個(gè)非負(fù)數(shù),如果level是0的話(huà)表示僅在當(dāng)前目錄中查找。
-mindepth levels:表示至少查找到開(kāi)始目錄的第level層子目錄。
-mount:不在其它文件系統(tǒng)(如Msdos、Vfat等)的目錄和文件中查找。
-version:打印版本。
[expression]是匹配表達(dá)式,是find命令接受的表達(dá)式,find命令的所有操作都是針對(duì)表達(dá)式的。它的參數(shù)非常多,這里只介紹一些常用的參數(shù)。
—name:支持統(tǒng)配符*和?。
-atime n:搜索在過(guò)去n天讀取過(guò)的文件。
-ctime n:搜索在過(guò)去n天修改過(guò)的文件。
-group grpoupname:搜索所有組為grpoupname的文件。
-user 用戶(hù)名:搜索所有文件屬主為用戶(hù)名(ID或名稱(chēng))的文件。
-size n:搜索文件大小是n個(gè)block的文件。
-print:輸出搜索結(jié)果,并且打印。
4.應(yīng)用技巧
find命令查找文件的幾種方法:
(1)根據(jù)文件名查找
例如,我們想要查找一個(gè)文件名是lilo.conf的文件,可以使用如下命令:
find / -name lilo.conf
find命令后的“/”表示搜索整個(gè)硬盤(pán)。
(2)快速查找文件
根
據(jù)文件名查找文件會(huì)遇到一個(gè)實(shí)際問(wèn)題,就是要花費(fèi)相當(dāng)長(zhǎng)的一段時(shí)間,特別是大型Linux文件系統(tǒng)和大容量硬盤(pán)文件放在很深的子目錄中時(shí)。如果我們知道了
這個(gè)文件存放在某個(gè)目錄中,那么只要在這個(gè)目錄中往下尋找就能節(jié)省很多時(shí)間。比如smb.conf文件,從它的文件后綴“.conf”可以判斷這是一個(gè)配
置文件,那么它應(yīng)該在/etc目錄內(nèi),此時(shí)可以使用下面命令:
find /etc -name smb.conf
這樣,使用“快速查找文件”方式可以縮短時(shí)間。
(3)根據(jù)部分文件名查找方法
有時(shí)我們知道只某個(gè)文件包含有abvd這4個(gè)字,那么要查找系統(tǒng)中所有包含有這4個(gè)字符的文件可以輸入下面命令:
find / -name '*abvd*'
輸入這個(gè)命令以后,Linux系統(tǒng)會(huì)將在/目錄中查找所有的包含有abvd這4個(gè)字符的文件(其中*是通配符),比如abvdrmyz等符合條件的文件都能顯示出來(lái)。
(4) 使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如,我們想在/etc目錄中查找大于500000字節(jié),并且在24小時(shí)內(nèi)修改的某個(gè)文件,則可以使用-and (與)把兩個(gè)查找參數(shù)鏈接起來(lái)組合成一個(gè)混合的查找方式。
find /etc -size +500000c -and -mtime +1
mv
1.作用
mv命令用來(lái)為文件或目錄改名,或者將文件由一個(gè)目錄移入另一個(gè)目錄中,它的使用權(quán)限是所有用戶(hù)。該命令如同DOS命令中的ren和move的組合。
2.格式
mv[options] 源文件或目錄 目標(biāo)文件或目錄
3.[options]主要參數(shù)
-i:交互方式操作。如果mv操作將導(dǎo)致對(duì)已存在的目標(biāo)文件的覆蓋,此時(shí)系統(tǒng)詢(xún)問(wèn)是否重寫(xiě),要求用戶(hù)回答“y”或“n”,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。mv操作要覆蓋某個(gè)已有的目標(biāo)文件時(shí)不給任何指示,指定此參數(shù)后i參數(shù)將不再起作用。
4.應(yīng)用實(shí)例
(1)將/usr/cbu中的所有文件移到當(dāng)前目錄(用“.”表示)中:
$ mv /usr/cbu/ * .
(2)將文件cjh.txt重命名為wjz.txt:
$ mv cjh.txt wjz.txt
ls
1.作用
ls命令用于顯示目錄內(nèi)容,類(lèi)似DOS下的dir命令,它的使用權(quán)限是所有用戶(hù)。
2.格式
ls [options][filename]
3.options主要參數(shù)
-a, --all:不隱藏任何以“.” 字符開(kāi)始的項(xiàng)目。
-A, --almost-all:列出除了“ . ”及 “.. ”以外的任何項(xiàng)目。
--author:印出每個(gè)文件著作者。
-b, --escape:以八進(jìn)制溢出序列表示不可打印的字符。
--block-size=大小:塊以指定的字節(jié)為單位。
-B, --ignore-backups:不列出任何以 ~ 字符結(jié)束的項(xiàng)目。
-f:不進(jìn)行排序,-aU參數(shù)生效,-lst參數(shù)失效。
-F, --classify:加上文件類(lèi)型的指示符號(hào) (*/=@| 其中一個(gè))。
-g:like -l, but do not list owner。
-G, --no-group:inhibit display of group information。
-i, --inode:列出每個(gè)文件的inode號(hào)。
-I, --ignore=樣式:不印出任何符合Shell萬(wàn)用字符的項(xiàng)目。
-k:即--block-size=1K。
-l:使用較長(zhǎng)格式列出信息。
-L, --dereference:當(dāng)顯示符號(hào)鏈接的文件信息時(shí),顯示符號(hào)鏈接所指示的對(duì)象,而并非符號(hào)鏈接本身的信息。
-m:所有項(xiàng)目以逗號(hào)分隔,并填滿(mǎn)整行行寬。
-n, --numeric-uid-gid:類(lèi)似-l,但列出UID及GID號(hào)。
-N, --literal:列出未經(jīng)處理的項(xiàng)目名稱(chēng),例如不特別處理控制字符。
-p, --file-type:加上文件類(lèi)型的指示符號(hào) (/=@| 其中一個(gè))。
-Q, --quote-name:將項(xiàng)目名稱(chēng)括上雙引號(hào)。
-r, --reverse:依相反次序排列。
-R, --recursive:同時(shí)列出所有子目錄層。
-s, --size:以塊大小為序。
4.應(yīng)用舉例
ls
命令是Linux系統(tǒng)使用頻率最多的命令,它的參數(shù)也是Linux命令中最多的。使用ls命令時(shí)會(huì)有幾種不同的顏色,其中藍(lán)色表示是目錄,綠色表示是可執(zhí)
行文件,紅色表示是壓縮文件,淺藍(lán)色表示是鏈接文件,加粗的黑色表示符號(hào)鏈接,灰色表示是其它格式文件。ls最常使用的是ls- l,見(jiàn)圖1所示。
圖1 使用ls-l命令
文
件類(lèi)型開(kāi)頭是由10個(gè)字符構(gòu)成的字符串。其中***個(gè)字符表示文件類(lèi)型,它可以是下述類(lèi)型之一:-(普通文件)、d(目錄)、l(符號(hào)鏈接)、b(塊設(shè)備文
件)、c(字符設(shè)備文件)。后面的9個(gè)字符表示文件的訪(fǎng)問(wèn)權(quán)限,分為3組,每組3位。***組表示文件屬主的權(quán)限,第二組表示同組用戶(hù)的權(quán)限,第三組表示其
他用戶(hù)的權(quán)限。每一組的三個(gè)字符分別表示對(duì)文件的讀(r)、寫(xiě)(w)和執(zhí)行權(quán)限(x)。對(duì)于目錄,表示進(jìn)入權(quán)限。s表示當(dāng)文件被執(zhí)行時(shí),把該文件的UID
或GID賦予執(zhí)行進(jìn)程的UID(用戶(hù)ID)或GID(組
ID)。t表示設(shè)置標(biāo)志位(留在內(nèi)存,不被換出)。如果該文件是目錄,那么在該目錄中的文件只能被超級(jí)用戶(hù)、目錄擁有者或文件屬主刪除。如果它是可執(zhí)行文
件,那么在該文件執(zhí)行后,指向其正文段的指針仍留在內(nèi)存。這樣再次執(zhí)行它時(shí),系統(tǒng)就能更快地裝入該文件。接著顯示的是文件大小、生成時(shí)間、文件或命令名
稱(chēng)。
請(qǐng)點(diǎn)擊下方《必學(xué)的Linux命令之文件處理命令(三)》繼續(xù)查看。
【編輯推薦】