Linux指令大全
1.cat
使用權(quán)限:所有使用者
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
說明:把檔案串連接后傳到基本輸出(螢?zāi)换蚣?gt; fileName到另一個(gè)檔案)
參數(shù):
-n或--number由1開始對所有輸出的行數(shù)編號
-b或--number-nonblank和-n相似,只不過對于空白行不編號
-s或--squeeze-blank當(dāng)遇到有連續(xù)兩行以上的空白行佛析,就代換為一行的空白行
-v或--show-nonprinting
范例:
cat -n textfile1 > textfile2把textfile1的檔案內(nèi)容加上行號后輸入textfile2這個(gè)檔案里
cat -b textfile1 textfile2 >> textfile3把textfile1和textfile2的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到textfile3
2.head顯示文件頭
3.du報(bào)告磁盤使用空間
du[選項(xiàng)][目錄或文件]
-a顯示每一個(gè)文件的磁盤使用量
-s僅顯示匯總的使用量
-k報(bào)告結(jié)果以k字節(jié)為單位
4.df[選項(xiàng)][資源](報(bào)告磁盤剩余空間)
-l本地文件系統(tǒng)
-k報(bào)告磁盤空間栗精,以k為單位
5.which報(bào)告命令位置【選項(xiàng)】【命令】
6.tail顯示文件尾
7.mv移動(dòng)文件或者改名
mv src_file _list dst_file
8.touch創(chuàng)建一個(gè)不存在的文件
9.tar打包:
tar cvf文件名待打包目錄解包:tarxvf文件名查看:tar tvf文件名查看打包文件的內(nèi)容
10.Gzip壓縮:
gzip –c文件名>文件名.gz解壓縮:gzip –d xxx
11.
nohup當(dāng)終端退出后闯参,由該終端啟動(dòng)的后臺程序也會自動(dòng)退出,如果不讓退出悲立,可以用nohup命令鹿寨,nohupfind . –name abc –print>newtext&
12.cd
使用權(quán)限:所有使用者
使用方式: cd [dirName]
說明:變換工作目錄至dirName。其中dirName表示法可為絕對路徑或相對路徑薪夕。若目錄名稱省略脚草,則變換至使用者的home directory (也就是剛login時(shí)所在的目錄)。另外原献,"~"也表示為home
directory的意思馏慨,"."則是表示目前所在的目錄埂淮,".."則表示目前目錄位置的上一層目錄。范例:跳到/usr/bin/ :
cd /usr/bin
跳到自己的home directory :
cd ~
跳到目前目錄的上上兩層:
cd ../..
13.
bc計(jì)算器輸入命令bc后進(jìn)行計(jì)算写隶,按回車出結(jié)果ctrl+d退出(+ - * / %“^”)加倔撞、減、乘樟澜、除误窖、求模、乘方運(yùn)算
14.
finger顯示用戶信息finger root
15.
who am I【查看使用者自己的用戶信息】
who【查看正在使用unix的用戶】
16.
chmod
使用權(quán)限:所有使用者使用方式: chmod [-cfvR] [--help] [--version] mode file...
說明: Linux/Unix的檔案存取權(quán)限分為三級:檔案擁有者秩贰、群組霹俺、其他。利用chmod可以藉以控制檔案如何被他人所存取毒费。
mode :權(quán)限設(shè)定字串丙唧,格式如下: [ugoa...][[+-=][rwxX]...][,...],其中u表示該檔案的擁有者觅玻,g表示與該檔案的擁有者屬于同一個(gè)群體(group)者想际,o表示其他以外的人,a表示這三者皆是溪厘。
+表示增加權(quán)限胡本、-表示取消權(quán)限、=表示唯一設(shè)定權(quán)限畸悬。
r表示可讀取侧甫,w表示可寫入,x表示可執(zhí)行蹋宦,X表示只有當(dāng)該檔案是個(gè)子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行披粟。
-c :若該檔案權(quán)限確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作
-f :若該檔案權(quán)限無法被更改也不要顯示錯(cuò)誤訊息
-v :顯示權(quán)限變更的詳細(xì)資料
-R :對目前目錄下的所有檔案與子目錄進(jìn)行相同的權(quán)限變更(即以遞回的方式逐個(gè)變更)
--help :顯示輔助說明
--version :顯示版本范例:將檔案file1.txt設(shè)為所有人皆可讀取:
chmod ugo+r file1.txt
將檔案file1.txt設(shè)為所有人皆可讀取:
chmod a+r file1.txt
將檔案file1.txt與file2.txt設(shè)為該檔案擁有者冷冗,與其所屬同一個(gè)群體者可寫入守屉,但其他以外的人則不可寫入:
chmod ug+w,o-w file1.txt file2.txt
將ex1.py設(shè)定為只有該檔案擁有者可以執(zhí)行:
chmod u+x ex1.py
將目前目錄下的所有檔案與子目錄皆設(shè)為任何人可讀取:
chmod -R a+r *
此外chmod也可以用數(shù)字來表示權(quán)限如chmod 777file
語法為:chmod abc file
其中a,b,c各為一個(gè)數(shù)字,分別表示User蒿辙、Group拇泛、及Other的權(quán)限。
r=4思灌,w=2碰镜,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6习瑰;
若要r-x屬性則4+1=7。范例:
chmod a=rwx file和chmod 777 file效果相同
chmod ug=rwx,o=x file和chmod 771 file效果相同若用chmod 4755 filename可使此程式具有root的權(quán)限
17.
chown
使用權(quán)限: root
使用方式: chmod [-cfhvR] [--help] [--version] user[:group] file...
說明: Linux/Unix是多人多工作業(yè)系統(tǒng)秽荤,所有的檔案皆有擁有者甜奄。利用chown可以將檔案的擁有者加以改變柠横。一般來說,這個(gè)指令只有是由系統(tǒng)管理者(root)所使用课兄,一般使用者沒有權(quán)限可以改變別人的檔案擁有者牍氛,也沒有權(quán)限可以自己的檔案擁有者改設(shè)為別人。只有系統(tǒng)管理者(root)才有這樣的權(quán)限烟阐。
user :新的檔案擁有者的使用者IDgroup :新的檔案擁有者的使用者群體(group)-c :若該檔案擁有者確實(shí)已經(jīng)更改搬俊,才顯示其更改動(dòng)作-f :若該檔案擁有者無法被更改也不要顯示錯(cuò)誤訊息-h :只對于連結(jié)(link)進(jìn)行變更,而非該link真正指向的檔案-v :顯示擁有者變更的詳細(xì)資料-R :對目前目錄下的所有檔案與子目錄進(jìn)行相同的擁有者變更(即以遞回的方式逐個(gè)變更)--help :顯示輔助說明--version :顯示版本范例:
將檔案file1.txt的擁有者設(shè)為users群體的使用者jessie :
chown jessie:users file1.txt
將目前目錄下的所有檔案與子目錄的擁有者皆設(shè)為users群體的使用者lamport :
chmod -R lamport:users *
18.
cp
使用權(quán)限:所有使用者使用方式:
cp [options] source dest
cp [options] source... directory說明:將一個(gè)檔案拷貝至另一檔案蜒茄,或?qū)?shù)個(gè)檔案拷貝至另一目錄唉擂。
-a盡可能將檔案狀態(tài)、權(quán)限等資料都照原狀予以復(fù)制檀葛。
-r若source中含有目錄名玩祟,則將目錄下之檔案亦皆依序拷貝至目的地。
-f若目的地已經(jīng)有相同檔名的檔案存在屿聋,則在復(fù)制前先予以刪除再行復(fù)制空扎。
范例:
將檔案aaa復(fù)制(已存在),并命名為bbb :
cp aaa bbb
將所有的C語言程式拷貝至Finished子目錄中:
cp *.c Finished
19.
cut
使用權(quán)限:所有使用者用法:cut -cnum1-num2 filename
說明:顯示每行從開頭算起num1到num2的文字润讥。范例:
shell>> cat example
test2
this is test1
shell>> cut -c0-6 example ## print開頭算起前6個(gè)字元
test2
this i
20.
less
使用權(quán)限:所有使用者使用方式:
less [Option] filename
說明:
less的作用與more十分相似转锈,都可以用來瀏覽文字檔案的內(nèi)容,不同的是less允許使用者往回卷動(dòng)
以瀏覽已經(jīng)看過的部份楚殿,同時(shí)因?yàn)閘ess并未在一開始就讀入整個(gè)檔案撮慨,因此在遇上大型檔案的開啟時(shí),會比一般的文書編輯器(如vi)來的快速勒魔。范例:
21.
ln
使用權(quán)限:所有使用者使用方式: ln [options] source dist甫煞,其中option的格式為:
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
說明: Linux/Unix檔案系統(tǒng)中,有所謂的連結(jié)(link)冠绢,我們可以將其視為檔案的別名抚吠,而連結(jié)又可分為兩種:硬連結(jié)(hard link)與軟連結(jié)(symbolic link),硬連結(jié)的意思是一個(gè)檔案可以有多個(gè)名稱弟胀,而軟連結(jié)的方式則是產(chǎn)生一個(gè)特殊的檔案楷力,該檔案的內(nèi)容是指向另一個(gè)檔案的位置。硬連結(jié)是存在同一個(gè)檔案系統(tǒng)中孵户,而軟連結(jié)卻可以跨越不同的檔案系統(tǒng)萧朝。
ln source dist是產(chǎn)生一個(gè)連結(jié)(dist)到source,至于使用硬連結(jié)或軟鏈結(jié)則由參數(shù)決定夏哭。不論是硬連結(jié)或軟鏈結(jié)都不會將原本的檔案復(fù)制一份检柬,只會占用非常少量的磁碟空間。
-f :鏈結(jié)時(shí)先將與dist同檔名的檔案刪除-d :允許系統(tǒng)管理者硬鏈結(jié)自己的目錄-i :在刪除與dist同檔名的檔案時(shí)先進(jìn)行詢問-n :在進(jìn)行軟連結(jié)時(shí)竖配,將dist視為一般的檔案-s :進(jìn)行軟鏈結(jié)(symbolic link)-v :在連結(jié)之前顯示其檔名-b :將在鏈結(jié)時(shí)會被覆寫或刪除的檔案進(jìn)行備份-S SUFFIX :將備份的檔案都加上SUFFIX的字尾-V METHOD :指定備份的方式--help :顯示輔助說明--version :顯示版本
范例:
將檔案yy產(chǎn)生一個(gè)symbolic link : zz
ln -s yy zz
將檔案yy產(chǎn)生一個(gè)hard link : zz
ln yy xx
22.
locate
使用權(quán)限:所有使用者
使用方式:locate [-q] [-d ] [--database=]
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ] <[-l ] [-c]
<[-U ] [-u]>
locate [-Vh] [--version] [--help]
說明:
locate讓使用者可以很快速的搜尋檔案系統(tǒng)內(nèi)是否有指定的檔案何址。其方法是先建立一個(gè)包括系統(tǒng)內(nèi)所有檔案名稱及路徑的資料庫里逆,之后當(dāng)尋找時(shí)就只需查詢這個(gè)資料庫,而不必實(shí)際深入檔案系統(tǒng)之中了。在一般的distribution之中,資料庫的建立都被放在contab中自動(dòng)執(zhí)行瘾杭。一般使用者在使用時(shí)只要用
# locate your_file_name
的型式就可以了万细。參數(shù):
-u
-U建立資料庫,-u會由根目錄開始,-U則可以指定開始的位置。
-e將排除在尋找的范圍之外。
-l如果是1.則啟動(dòng)安全模式笨农。在安全模式下,使用者不會看到權(quán)限無法看到的檔案亚隙。這會始速度減慢磁餐,因?yàn)閘ocate必須至實(shí)際的檔案系統(tǒng)中取得檔案的權(quán)限資料。
-f將特定的檔案系統(tǒng)排除在外阿弃,例如我們沒有到理要把proc檔案系統(tǒng)中的檔案放在資料庫中诊霹。
-q安靜模式,不會顯示任何錯(cuò)誤訊息渣淳。\
-n至多顯示個(gè)輸出脾还。
-r使用正規(guī)運(yùn)算式做尋找的條件。
-o指定資料庫存的名稱入愧。
-d指定資料庫的路徑
-h顯示輔助訊息
-v顯示更多的訊息
-V
顯示程式的版本訊息范例:
locate chdrv :尋找所有叫chdrv的檔案
locate -n 100 a.out :尋找所有叫a.out的檔案,但最多只顯示100個(gè)
locate -u :建立資料庫
23.:
?ls
使用權(quán)限:所有使用者使用方式: ls [-alrtAFR] [name...]
說明:顯示指定工作目錄下之內(nèi)容(列出目前工作目錄所含之檔案及子目錄)棺蛛。
-a顯示所有檔案及目錄(ls內(nèi)定將檔案名或目錄名稱開頭為"."的視為隱藏檔,不會列出)
-l除檔案名稱外旁赊,亦將檔案型態(tài)、權(quán)限终畅、擁有者籍胯、檔案大小等資訊詳細(xì)列出
-r將檔案以相反次序顯示(原定依英文字母次序)
-t將檔案依建立時(shí)間之先后次序列出
-A同-a离福,但不列出"." (目前目錄)及".." (父目錄)
-F在列出的檔案名稱后加一符號;例如可執(zhí)行檔則加"*",目錄則加"/"
-R若目錄下有檔案妖爷,則以下之檔案亦皆依序列出范例:
列出目前工作目錄下所有名稱是s開頭的檔案蝶涩,愈新的排愈后面:
ls -ltr s*
將/bin目錄以下所有目錄及檔案詳細(xì)資料列出:
ls -lR /bin
列出目前工作目錄下所有檔案及目錄;目錄于名稱后加"/",可執(zhí)行檔于名稱后加"*" :
ls -AF
24.
more
使用權(quán)限:所有使用者
使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
說明:類似cat,不過會以一頁一頁的顯示方便使用者逐頁閱讀暗挑,而最基本的指令就是按空白鍵(space)就往下一頁顯示斜友,按b鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與vi相似)鲜屏,使用中的說明文件,請按h洛史。
參數(shù):-num一次顯示的行數(shù)
-d提示使用者酱吝,在畫面下方顯示[Press space to continue, q to quit.]也殖,如果使用者按錯(cuò)鍵务热,則會顯示[Press h for instructions.]而不是嗶聲
-l取消遇見特殊字元^L(送紙字元)時(shí)會暫停的功能
-f計(jì)算行數(shù)時(shí),以實(shí)際上的行數(shù)崎岂,而非自動(dòng)換行過后的行數(shù)(有些單行字?jǐn)?shù)太長的會被擴(kuò)展為兩行或兩行以上)
-p不以卷動(dòng)的方式顯示每一頁,而是先清除螢?zāi)缓笤亠@示內(nèi)容
-c跟-p相似冲甘,不同的是先顯示內(nèi)容再清除其他舊資料
-s當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行
-u不顯示下引號(根據(jù)環(huán)境變數(shù)TERM指定的terminal而有所不同)
+/在每個(gè)檔案顯示前搜尋該字串(pattern)江醇,然后從該字串之后開始顯示
+num從第num行開始顯示
fileNames欲顯示內(nèi)容的檔案,可為復(fù)數(shù)個(gè)數(shù)
范例:
more -s testfile逐頁顯示testfile之檔案內(nèi)容陶夜,如有連續(xù)兩行以上空白行則以一行空白行顯示。
more +20 testfile從第20行開始顯示testfile之檔案內(nèi)容
25.
名稱:mv
使用權(quán)限:所有使用者使用方式:
mv [options] source dest
mv [options] source... directory說明:將一個(gè)檔案移至另一檔案辐烂,或?qū)?shù)個(gè)檔案移至另一目錄。參數(shù):-i若目的地已有同名檔案纠修,則先詢問是否覆蓋舊檔。
-f:禁止交互操作扣草。mv操作要覆蓋某個(gè)已有的目標(biāo)文件時(shí)不給任何指示,指定此參數(shù)后i參數(shù)將不再起作用辰妙。
范例:將檔案aaa更名為bbb :
mv aaa bbb
將所有的C語言程式移至Finished子目錄中:
mv -i *.c
26.
:rm
使用權(quán)限:所有使用者使用方式:rm [options] name...
說明:刪除檔案及目錄鹰祸。把計(jì)
-i刪除前逐一詢問確認(rèn)。
-f即使原檔案屬性設(shè)為唯讀蛙婴,亦直接刪除尔破,無需逐一確認(rèn)街图。
-r將目錄及以下之檔案亦逐一刪除懒构。
范例:
刪除所有C語言程式檔;刪除前逐一詢問確認(rèn):
rm -i *.c
將Finished子目錄及子目錄中所有檔案刪除:
rm -r Finished
rm file*
27
.rmdir
使用權(quán)限:于目前目錄有適當(dāng)權(quán)限的所有使用者使用方式:rmdir [-p] [-r]dirName
說明:刪除空的目錄胆剧。參數(shù):-p是當(dāng)子目錄被刪除后使它也成為空目錄的話,則順便一并刪除秩霍。
-r目錄是非空的時(shí)候刪除
范例:將工作目錄下,名為AAA的子目錄刪除:
rmdir AAA
在工作目錄下的BBB目錄中辕近,刪除名為Test的子目錄。若Test刪除后移宅,BBB目錄成為空目錄,則BBB亦予刪除漏峰。
rmdir -p BBB/Test
名稱:split
使用權(quán)限:所有使用者使用方式:split [OPTION] [INPUT [PREFIX]]
說明:將一個(gè)檔案分割成數(shù)個(gè)届榄。而從INPUT分割輸出成固定大小的檔案浅乔,其檔名依序?yàn)镻REFIXaa,
PREFIXab...;PREFIX預(yù)設(shè)值為`x铝条。若沒有INPUT檔或?yàn)閌-靖苇,則從標(biāo)準(zhǔn)輸入讀進(jìn)資料班缰。
-b, --bytes=SIZE
SIZE值為每一輸出檔案的大小,單位為byte埠忘。
-C, --line-bytes=SIZE
每一輸出檔中馒索,單行的最大byte數(shù)名船。
-l, --lines=NUMBER
NUMBER值為每一輸出檔的列數(shù)大小。
-NUMBER
與-l NUMBER相同渠驼。
--verbose
于每個(gè)輸出檔被開啟前,列印出偵錯(cuò)資訊到標(biāo)準(zhǔn)錯(cuò)誤輸出渴邦。
--help
顯示輔助資訊然后離開。
--version
列出版本資訊然后離開谋梭。
SIZE可加入單位: b代表512倦青,k代表1K,m代表1 Meg产镐。范例:
PostgresSQL大型資料庫備份與回存:因Postgres允許表格大過你系統(tǒng)檔案的最大容量,所以要將表格dump到單一的檔案可能會有問題癣亚,使用split進(jìn)行檔案分割。
% pg_dump dbname | split -b 1m - filename.dump.重新載入
% createdb dbname
% cat filename.dump.* | pgsql dbname
28.
名稱:touch
使用權(quán)限:所有使用者使用方式:
touch [-acfm]
[-r reference-file] [--file=reference-file]
[-t MMDDhhmm[[CC]YY][.ss]]
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
[--no-create] [--help] [--version]
file1 [file2 ...]
說明:
touch指令改變檔案的時(shí)間記錄述雾。ls -l可以顯示檔案的時(shí)間記錄。參數(shù):
a改變檔案的讀取時(shí)間記錄玻孟。
m改變檔案的修改時(shí)間記錄。
c假如目的檔案不存在面徽,不會建立新的檔案。與--no-create的效果一樣趟紊。
f不使用,是為了與其他unix系統(tǒng)的相容性而保留霎匈。
r使用參考檔的時(shí)間記錄砰粹,與--file的效果一樣唧躲。
d設(shè)定時(shí)間與日期,可以使用各種不同的格式饭入。
t設(shè)定檔案的時(shí)間記錄,格式與date指令相同谐丢。
--no-create不會建立新檔案。
--help列出指令格式乾忱。
--version列出版本訊息历极。范例:最簡單的使用方式窄瘟,將檔案的時(shí)候記錄改為現(xiàn)在的時(shí)間趟卸。若檔案不存在,系統(tǒng)會建立一個(gè)新的檔案锄列。
touch file
touch file1 file2將file的時(shí)間記錄改為5月6日18點(diǎn)3分,公元兩千年邻邮。時(shí)間的格式可以參考date指令,至少需輸入MMDDHHmm筒严,就是月日時(shí)與分。
touch -c -t 05061803 file
touch -c -t 050618032000 file將file的時(shí)間記錄改變成與referencefile一樣萝风。
touch -r referencefile file
將file的時(shí)間記錄改成5月6日18點(diǎn)3分,公元兩千年睬塌。時(shí)間可以使用am, pm或是24小時(shí)的格式,日期可以使用其他格式如6 May 2000揩晴。
touch -d "6:03pm" file
touch -d "05/06/2000" file
touch -d "6:03pm 05/06/2000" file
29.
名稱: at
使用權(quán)限:所有使用者
使用方式: at -V [-q
queue] [-f file] [-mldbv] TIME
說明: at可以讓使用者指定在TIME這個(gè)特定時(shí)刻執(zhí)行某個(gè)程式或指令,TIME的格式是HH:MM其中的HH為小時(shí)贪磺,MM為分鐘,甚至你也可以指定am, pm, midnight, noon, teatime(就是下午4點(diǎn)鍾)等口語詞劫映。
如果想要指定超過一天內(nèi)的時(shí)間,則可以用MMDDYY或者M(jìn)M/DD/YY的格式泳赋,其中MM是分鐘,DD是第幾日祖今,YY是指年份。另外千诬,使用者甚至也可以使用像是now +時(shí)間間隔來彈性指定時(shí)間,其中的時(shí)間間隔可以是minutes, hours, days, weeks
另外徐绑,使用者也可指定today或tomorrow來表示今天或明天。當(dāng)指定了時(shí)間并按下enter之后耕捞,at會進(jìn)入交談模式并要求輸入指令或程式烫幕,當(dāng)你輸入完后按下ctrl+D即可完成所有動(dòng)作,至于執(zhí)行的結(jié)果將會寄回你的帳號中较曼。
-V :印出版本編號
-q :使用指定的佇列(Queue)來儲存,at的資料是存放在所謂的queue中捷犹,使用者可以同時(shí)使用多個(gè)queue冕末,而queue的編號為a, b, c... z以及A, B, ... Z共52個(gè)
-m :即使程式/指令執(zhí)行完成后沒有輸出結(jié)果,也要寄封信給使用者
-f file :讀入預(yù)先寫好的命令檔。使用者不一定要使用交談模式來輸入档桃,可以先將所有的指定先寫入檔案后再一次讀入
-l :列出所有的指定(使用者也可以直接使用atq而不用at -l)
-d :刪除指定(使用者也可以直接使用atrm而不用at -d)
-v :列出所有已經(jīng)完成但尚未刪除的指定例子:
三天后的下午5點(diǎn)鍾執(zhí)行/bin/ls :
at 5pm + 3 days /bin/ls
三個(gè)星期后的下午5點(diǎn)鍾執(zhí)行/bin/ls :
at 5pm + 2 weeks /bin/ls
明天的17:20執(zhí)行/bin/date :
at 17:20 tomorrow /bin/date
1999年的最后一天的最后一分鐘印出the end of world !
at 23:59 12/31/1999 echo the end of world !
30.
名稱:cal
使用權(quán)限:所有使用者使用方式:cal[-mjy] [month [year]]
說明:
顯示日歷。若只有一個(gè)參數(shù)藻肄,則代表年份(1-9999),顯示該年的年歷攻询。年份必須全部寫出:``cal 89將不會是顯示1989年的年歷州弟。使用兩個(gè)參數(shù)钧栖,則表示月份及年份。若沒有參數(shù)則顯示這個(gè)月的月歷掏婶。
1752年9月第3日起改用西洋新歷阴挣,因這時(shí)大部份的國家都采用新歷气堕,有10天被去除畔咧,所以該月份的月歷有些不同。在此之前為西洋舊歷誓沸。
-m :以星期一為每周的第一天方式顯示。
-j :以凱撒歷顯示宿百,即以一月一日起的天數(shù)顯示洪添。
-y :顯示今年年歷垦页。范例:
cal :顯示本月的月歷干奢。
[root@mylinux /root]# date
Tue Aug 15 08:00:18 CST 2000
[root@mylinux /root]# cal
August 2000
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
[root@mylinux /root]# cal 2001 :顯示公元2001年年歷。
cal 5 2001 :顯示公元2001年5月月歷忿峻。
[root@mylinux /root]# cal 5 2001
May 2001
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
[root@mylinux /root]#
cal -m :以星期一為每周的第一天方式薄啥,顯示本月的月歷逛尚。
[root@mylinux /root]# cal -m
August 2000
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
[root@mylinux /root]#
cal -jy :以一月一日起的天數(shù)顯示今年的年歷。
[root@mylinux /root]# cal –jy
31.名稱: crontab
使用權(quán)限:所有使用者使用方式:
crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }
說明:
crontab是用來讓使用者在固定時(shí)間或固定間隔執(zhí)行程式之用到逊,換句話說克握,也就是類似使用者的時(shí)程表蕾管。-u user是指設(shè)定指定user的時(shí)程表菩暗,這個(gè)前提是你必須要有其權(quán)限(比如說是root)才能夠指定他人的時(shí)程表停团。如果不使用-u user的話捆蜀,就是表示設(shè)定自己的時(shí)程表。餐數(shù):
-e :執(zhí)行文字編輯器來設(shè)定時(shí)程表,內(nèi)定的文字編輯器是VI联予,如果你想用別的文字編輯器威酒,則請先設(shè)定VISUAL環(huán)境變數(shù)來指定使用那個(gè)文字編輯器(比如說setenv VISUAL joe)
-r :刪除目前的時(shí)程表
-l :列出目前的時(shí)程表
時(shí)程表的格式如下:
f1 f2 f3 f4 f5 program
其中f1是表示分鐘狭姨,f2表示小時(shí)漓柑,f3表示一個(gè)月份中的第幾日嫩絮,f4表示月份,f5表示一個(gè)星期中的第幾天甸私。program表示要執(zhí)行的程式唬格。
當(dāng)f1為*時(shí)表示每分鐘都要執(zhí)行program注服,f2為*時(shí)表示每小時(shí)都要執(zhí)行程式,其余類推
當(dāng)f1為a-b時(shí)表示從第a分鐘到第b分鐘這段時(shí)間內(nèi)要執(zhí)行溶弟,f2為a-b時(shí)表示從第a到第b小時(shí)都要執(zhí)行,其余類推
當(dāng)f1為*/n時(shí)表示每n分鐘個(gè)時(shí)間間隔執(zhí)行一次辜御,f2為*/n表示每n小時(shí)個(gè)時(shí)間間隔執(zhí)行一次,其余類推
當(dāng)f1為a,
b, c,...時(shí)表示第a, b, c,...分鐘要執(zhí)行袱巨,f2為a, b, c,...時(shí)表示第a,
b, c...個(gè)小時(shí)要執(zhí)行碳抄,其余類推使用者也可以將所有的設(shè)定先存放在檔案file中愉老,用crontab file的方式來設(shè)定時(shí)程表剖效。
例子:
每月每天每小時(shí)的第0分鐘執(zhí)行一次/bin/ls :
0 7 * * * /bin/ls
在12月內(nèi),每天的早上6點(diǎn)到12點(diǎn)中,每隔20分鐘執(zhí)行一次/usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午5:00寄一封信給alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天的午夜0點(diǎn)20分, 2點(diǎn)20分, 4點(diǎn)20分....執(zhí)行echo "haha"
20 0-23/2 * * * echo "haha"
注意:
當(dāng)程式在你所指定的時(shí)間執(zhí)行后璧尸,系統(tǒng)會寄一封信給你,顯示該程式執(zhí)行的內(nèi)容映九,若是你不希望收到這樣的信瞎颗,請?jiān)诿恳恍锌找桓裰蠹由?gt; /dev/null
2>&1即可
32.名稱: date
使用權(quán)限:所有使用者使用方式:
date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr][--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
說明:
date可以用來顯示或設(shè)定系統(tǒng)的日期與時(shí)間捌议,在顯示方面哼拔,使用者可以設(shè)定欲顯示的格式瓣颅,格式設(shè)定為一個(gè)加號后接數(shù)個(gè)標(biāo)記,其中可用的標(biāo)記列表如下:
時(shí)間方面:
% :印出%
%n :下一行
%t :跳格
%H :小時(shí)(00..23)
%I :小時(shí)(01..12)
%k :小時(shí)(0..23)
%l :小時(shí)(1..12)
%M :分鐘(00..59)
%p :顯示本地AM或PM
%r :直接顯示時(shí)間(12小時(shí)制檬姥,格式為hh:mm:ss [AP]M)
%s :從1970年1月1日00:00:00 UTC到目前為止的秒數(shù)
%S :秒(00..61)
%T :直接顯示時(shí)間(24小時(shí)制)
%X :相當(dāng)于%H:%M:%S
%Z :顯示時(shí)區(qū)日期方面:
%a :星期幾(Sun..Sat)
%A :星期幾(Sunday..Saturday)
%b :月份(Jan..Dec)
%B :月份(January..December)
%c :直接顯示日期與時(shí)間%d :日(01..31)
%D :直接顯示日期(mm/dd/yy)
%h :同%b
%j :一年中的第幾天(001..366)
%m :月份(01..12)
%U :一年中的第幾周(00..53) (以Sunday為一周的第一天的情形)
%w :一周中的第幾天(0..6)
%W :一年中的第幾周(00..53) (以Monday為一周的第一天的情形)
%x :直接顯示日期(mm/dd/yy)
%y :年份的最后兩位數(shù)字(00.99)
%Y :完整年份(0000..9999)
若是不以加號作為開頭,則表示要設(shè)定時(shí)間健民,而時(shí)間格式為MMDDhhmm[[CC]YY][.ss],其中MM為月份蛉谜,DD為日,hh為小時(shí)型诚,mm為分鐘鸳劳,CC為年份前兩位數(shù)字,YY為年份后兩位數(shù)字赏廓,ss為秒數(shù)
把計(jì):
-d datestr :顯示datestr中所設(shè)定的時(shí)間(非系統(tǒng)時(shí)間)
--help :顯示輔助訊息
-s datestr :將系統(tǒng)時(shí)間設(shè)為datestr中所設(shè)定的時(shí)間
-u :顯示目前的格林威治時(shí)間
--version :顯示版本編號例子:
顯示時(shí)間后跳行,再顯示目前日期:
date +%T%n%D
顯示月份與日數(shù):
date +%B %d
顯示日期與設(shè)定時(shí)間(12:34:56) :
date --date 12:34:56
注意:當(dāng)你不希望出現(xiàn)無意義的0時(shí)(比如說1999/03/07)楚昭,則可以在標(biāo)記中插入-符號,比如說date +%-H:%-M:%-S會把時(shí)分秒中無意義的0給去掉塘幅,像是原本的08:09:04會變?yōu)?:9:4尿贫。另外,只有取得權(quán)限者(比如說root)才能設(shè)定系統(tǒng)時(shí)間庆亡。當(dāng)你以root身分更改了系統(tǒng)時(shí)間之后,請記得以clock -w來將系統(tǒng)時(shí)間寫入CMOS中又谋,這樣下次重新開機(jī)時(shí)系統(tǒng)時(shí)間才會持續(xù)抱持最新的正確值。
名稱: sleep
使用權(quán)限:所有使用者使用方式:sleep [--help] [--version] number[smhd]
說明:
sleep可以用來將目前動(dòng)作延遲一段時(shí)間參數(shù)說明:
--help :顯示輔助訊息
--version :顯示版本編號
number :時(shí)間長度彰亥,后面可接s、m任斋、h或d
其中s為秒,m為分鐘,h為小時(shí)抹缕,d為日數(shù)例子:顯示目前時(shí)間后延遲1分鐘墨辛,之后再次顯示時(shí)間:
date;sleep 1m;date
33.名稱:time
使用權(quán)限:所有使用者使用方式:time [options] COMMAND [arguments]
說明:time指令的用途,在于量測特定指令執(zhí)行時(shí)所需消耗的時(shí)間及系統(tǒng)資源等資訊背蟆。例如CPU時(shí)間、記憶體带膀、輸入輸出等等。需要特別注意的是伦糯,部分資訊在Linux上顯示不出來。這是因?yàn)樵贚inux上部分資源的分配函式與time指令所預(yù)設(shè)的方式并不相同敛纲,以致于time指令無法取得這些資料剂癌。
-o or --output=FILE
設(shè)定結(jié)果輸出檔。這個(gè)選項(xiàng)會將time的輸出寫入所指定的檔案中佩谷。如果檔案已經(jīng)存在,系統(tǒng)將覆寫其內(nèi)容抡谐。
-a or --append
配合-o使用桐猬,會將結(jié)果寫到檔案的末端麦撵,而不會覆蓋掉原來的內(nèi)容溃肪。
-f FORMAT or --format=FORMAT
以FORMAT字串設(shè)定顯示方式免胃。當(dāng)這個(gè)選項(xiàng)沒有被設(shè)定的時(shí)候惫撰,會用系統(tǒng)預(yù)設(shè)的格式羔沙。不過你可以用環(huán)境變數(shù)time來設(shè)定這個(gè)格式润绎,如此一來就不必每次登入系統(tǒng)都要設(shè)定一次。
一般設(shè)定上呢蛤,你可以用t表示跳欄棍郎,或者是用n表示換行。每一項(xiàng)資料要用%做為前導(dǎo)涂佃。如果要在字串中使用百分比符號,就用汽抚。(學(xué)過C語言的人大概會覺得很熟悉)
time指令可以顯示的資源有四大項(xiàng)伯病,分別是:
Time resources
Memory resources
IO resources
Command info詳細(xì)的內(nèi)容如下:
Time Resources
E執(zhí)行指令所花費(fèi)的時(shí)間,格式是:[hour]:minute:second午笛。請注意這個(gè)數(shù)字并不代表實(shí)際的CPU時(shí)間
e執(zhí)行指令所花費(fèi)的時(shí)間,單位是秒告组。請注意這個(gè)數(shù)字并不代表實(shí)際的CPU時(shí)間癌佩。
S指令執(zhí)行時(shí)在核心模式(kernel mode)所花費(fèi)的時(shí)間木缝,單位是秒驼卖。
U指令執(zhí)行時(shí)在使用者模式(user mode)所花費(fèi)的時(shí)間,單位是秒怎囚。
P執(zhí)行指令時(shí)CPU的占用比例桥胞。其實(shí)這個(gè)數(shù)字就是核心模式加上使用者模式的CPU時(shí)間除以總時(shí)間。
Memory Resources
M執(zhí)行時(shí)所占用的實(shí)體記憶體的最大值贩虾。單位是KB
t執(zhí)行時(shí)所占用的實(shí)體記憶體的平均值,單位是KB
K執(zhí)行程序所占用的記憶體總量(stack+data+text)的平均大小缎罢,單位是KB
D執(zhí)行程序的自有資料區(qū)(unshared data area)的平均大小考杉,單位是KB
p執(zhí)行程序的自有堆疊(unshared stack)的平均大小舰始,單位是KB
X執(zhí)行程序間共享內(nèi)容(shared text)的平均值,單位是KB
Z系統(tǒng)記憶體頁的大小枕稀,單位是byte谜嫉。對同一個(gè)系統(tǒng)來說這是個(gè)常數(shù)
IO Resources
F此程序的主要記憶體頁錯(cuò)誤發(fā)生次數(shù)。所謂的主要記憶體頁錯(cuò)誤是指某一記憶體頁已經(jīng)置換到置換檔(swap file)中沐兰,而且已經(jīng)分配給其他程序。此時(shí)該頁的內(nèi)容必須從置換檔里再讀出來虐呻。
R此程序的次要記憶體頁錯(cuò)誤發(fā)生次數(shù)寞秃。所謂的次要記憶體頁錯(cuò)誤是指某一記憶體頁雖然已經(jīng)置換到置換檔中,但尚未分配給其他程序春寿。此時(shí)該頁的內(nèi)容并未被破壞,不必從置換檔里讀出來
W此程序被交換到置換檔的次數(shù)
c此程序被強(qiáng)迫中斷(像是分配到的CPU時(shí)間耗盡)的次數(shù)
w此程序自愿中斷(像是在等待某一個(gè)I/O執(zhí)行完畢谢床,像是磁碟讀取等等)的次數(shù)
I此程序所輸入的檔案數(shù)
O此程序所輸出的檔案數(shù)
r此程序所收到的Socket Message
s此程序所送出的Socket Message
k此程序所收到的信號( Signal )數(shù)量
Command Info
C執(zhí)行時(shí)的參數(shù)以及指令名稱
x指令的結(jié)束代碼( Exit Status )
-p or --portability
這個(gè)選項(xiàng)會自動(dòng)把顯示格式設(shè)定成為:
real %e
user %U
sys %S
這么做的目的是為了與POSIX規(guī)格相容厘线。
-v or --verbose
這個(gè)選項(xiàng)會把所有程式中用到的資源通通列出來,不但如一般英文語句造壮,還有說明。對不想花時(shí)間去熟習(xí)格式設(shè)定或是剛剛開始接觸這個(gè)指令的人相當(dāng)有用成箫。范例:
利用下面的指令
time -v ps -aux
我們可以獲得執(zhí)行ps -aux的結(jié)果和所花費(fèi)的系統(tǒng)資源旨枯。如下面所列的資料:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init
root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod]
root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux
Command being timed: "ps -aux"
User time (seconds): 0.05
System time (seconds): 0.06
Percent of CPU this job got: 68%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 0
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 238
Minor (reclaiming a frame) page faults: 46
Voluntary context switches: 0
Involuntary context switches: 0
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
34.名稱:uptime
使用權(quán)限:所有使用者
使用方式:uptime [-V]
說明:uptime提供使用者下面的資訊,不需其他參數(shù):現(xiàn)在的時(shí)間
系統(tǒng)開機(jī)運(yùn)轉(zhuǎn)到現(xiàn)在經(jīng)過的時(shí)間
連線的使用者數(shù)量
最近一分鐘攀隔,五分鐘和十五分鐘的系統(tǒng)負(fù)載
參數(shù):-V顯示版本資訊栖榨。
范例:uptime
其結(jié)果為:
10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99
35.名稱:chfn
使用權(quán)限:所有使用者用法:shell>>chfn
說明:提供使用者更改個(gè)人資訊明刷,用于finger and mail username
范例:
shell>> chfn
Changing finger information for user
Password: [del]
Name[]:Johnney Huang ###提供finger時(shí)的資料
Office[]:NCCU
Office Phone[]: [del]
Home Phone[]: [del]
36.:chsh
使用權(quán)限:所有使用者用法:shell>>chsh
說明:更改使用者shell設(shè)定范例:
shell>> chsh
Changing fihanging shell for user1
Password: [del]
New shell [/bin/tcsh]: ### [是目前使用的shell]
[del]
shell>> chsh -l ###展示/etc/shells檔案內(nèi)容
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
” finger [返回]
37.
finger
使用權(quán)限:所有使用者使用方式:finger[options] user[@address]
說明:finger可以讓使用者查詢一些其他使用者的資料遮精。會列出來的資料有:
Login Name
User Name
Home directory
Shell
Login status
mail status
.plan
.project
.forward其中.plan败潦,.project和.forward就是使用者在他的Home Directory里的.plan,.project和.forward等檔案里的資料劫扒。如果沒有就沒有。finger指令并不限定于在同一伺服器上查詢沟饥,也可以尋找某一個(gè)遠(yuǎn)端伺服器上的使用者。只要給一個(gè)像是E-mail address一般的地址即可广料。-l多行顯示幼驶。
-s單行顯示。這個(gè)選項(xiàng)只顯示登入名稱盅藻,真實(shí)姓名,終端機(jī)名稱勃蜘,閑置時(shí)間假残,登入時(shí)間,辦公室號碼及電話號碼守问。如果所查詢的使用者是遠(yuǎn)端伺服器的使用者,這個(gè)選項(xiàng)無效穆端。范例:下列指令可以查詢本機(jī)管理員的資料:
finger root
其結(jié)果如下:
Login: root Name: root
Directory: /root Shell: /bin/bash
Never logged in.
No mail.
No Plan.
38.last使用權(quán)限:所有使用者使用方式:shell>>last [options]
說明:顯示系統(tǒng)開機(jī)以來獲是從每月初登入者的訊息
-R省略hostname的欄位
-num展示前num個(gè)
username展示username的登入訊息
tty限制登入訊息包含終端機(jī)代號范例:
shell>> last -R -2
johnney pts/1 Mon Aug 14 20:42 still logged in
johnney pts/0 Mon Aug 14 19:59 still logged in
wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp
shell>> last -2 minery \
minery pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40 (00:03)
minery pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24 (00:02)
39.
passwd
使用權(quán)限:所有使用者使用方式:passwd[-k] [-l] [-u [-f]] [-d] [-S] [username]
說明:用來更改使用者的密碼參數(shù):
-k-l-u-f
-d關(guān)閉使用者的密碼認(rèn)證功能,使用者在登入時(shí)將可以不用輸入密碼,只有具備root權(quán)限的使用者方可使用.
-S顯示指定使用者的密碼認(rèn)證種類,只有具備root權(quán)限的使用者方可使用.
[username]指定帳號名稱.
40.
file
1.作用file通過探測文件內(nèi)容判斷文件類型仿便,使用權(quán)限是所有用戶攒巍。
2.格式file [options]文件名
3.[options]主要參數(shù)
-v:在標(biāo)準(zhǔn)輸出后顯示版本信息荒勇,并且退出。
-z:探測壓縮過的文件類型沽翔。
-L:允許符合連接。
-f name:從文件namefile中讀取要分析的文件名列表跨蟹。
4.簡單說明
使用file命令可以知道某個(gè)文件究竟是二進(jìn)制(ELF格式)的可執(zhí)行文件,還是Shell Script文件橘沥,或者是其它的什么格式。file能識別的文件類型有目錄座咆、Shell腳本、英文文本介陶、二進(jìn)制可執(zhí)行文件、C語言源文件植酥、文本文件弦牡、DOS的可執(zhí)行文件。
5.應(yīng)用實(shí)例
如果我們看到一個(gè)沒有后綴的文件grap驾锰,可以使用下面命令:
$ file grap
grap:English text
此時(shí)系統(tǒng)顯示這是一個(gè)英文文本文件。需要說明的是耻瑟,file命令不能探測包括圖形赏酥、音頻、視頻等多媒體文件類型裸扶。
41.
mkdir
1.作用
mkdir命令的作用是建立名稱為dirname的子目錄,與MS DOS下的md命令類似魏保,它的使用權(quán)限是所有用戶。
2.格式
mkdir
[options]目錄名
3.[options]主要參數(shù)
-m,--mode=模式:設(shè)定權(quán)限<模式>谓罗,與chmod類似。
-p,--parents:需要時(shí)創(chuàng)建上層目錄揭措;如果目錄早已存在,則不當(dāng)作錯(cuò)誤蜂筹。
-v,--verbose:每次創(chuàng)建新目錄都顯示信息芦倒。
--version:顯示版本信息后離開不翩。
4.應(yīng)用實(shí)例
在進(jìn)行目錄創(chuàng)建時(shí)可以設(shè)置目錄的權(quán)限,此時(shí)使用的參數(shù)是“-m”口蝠。假設(shè)要?jiǎng)?chuàng)建的目錄名是“tsk”,讓所有用戶都有rwx(即讀傲霸、寫眉反、執(zhí)行的權(quán)限),那么可以使用以下命令:
$
mkdir-m 777 tsk
42.
grep
1.作用
grep命令可以指定文件中搜索特定的內(nèi)容寸五,并將含有這些內(nèi)容的行標(biāo)準(zhǔn)輸出。grep全稱是Global Regular Expression Print韧拒,表示全局正則表達(dá)式版本十性,它的使用權(quán)限是所有用戶。
2.格式
grep[options]
[option]:
3.主要參數(shù)
[options]主要參數(shù):
-c:只輸出匹配行數(shù)劲适。
-I:不區(qū)分大小寫(只適用于單字符)。
-h(huán):查詢多文件時(shí)不顯示文件名靖诗。
-l:查詢多文件時(shí)只輸出包含匹配字符的文件名。
-n:顯示匹配行及行號刊橘。
-s:不顯示不存在或無匹配文本的錯(cuò)誤信息。
-v:顯示不包含匹配文本的所有行促绵。
pattern正則表達(dá)式主要參數(shù):
\:忽略正則表達(dá)式中特殊字符的原有含義。
^:匹配正則表達(dá)式的開始行浓冒。
$:匹配正則表達(dá)式的結(jié)束行尖坤。
\<:從匹配正則表達(dá)式的行開始。
\>:到匹配正則表達(dá)式的行結(jié)束慢味。
[
]:單個(gè)字符,如[A]即A符合要求 或油。
[
- ]:范圍驰唬,如[A-Z],即A叫编、B、C一直到Z都符合要求 凌简。
恃逻。:所有的單個(gè)字符雏搂。
*:有字符寇损,長度可以為0。
正則表達(dá)式是Linux/Unix系統(tǒng)中非常重要的概念芙沥。正則表達(dá)式(也稱為“regex”或“regexp”)是一個(gè)可以描述一類字符串的模式(Pattern)。如果一個(gè)字符串可以用某個(gè)正則表達(dá)式來描述而昨,我們就說這個(gè)字符和該正則表達(dá)式匹配(Match)。這和DOS中用戶可以使用通配符“*”代表任意字符類似着憨。在Linux系統(tǒng)上务嫡,正則表達(dá)式通常被用來查找文本的模式,以及對文本執(zhí)行“搜索-替換”操作和其它功能心铃。
4.應(yīng)用實(shí)例
查詢DNS服務(wù)是日常工作之一,這意味著要維護(hù)覆蓋不同網(wǎng)絡(luò)的大量IP地址柱衔。有時(shí)IP地址會超過2000個(gè)愉棱。如果要查看nnn.nnn網(wǎng)絡(luò)地址,但是卻忘了第二部分中的其余部分羽氮,只知到有兩個(gè)句點(diǎn)惫恼,例如nnn nn..。要抽取其中所有nnn.nnn IP地址令宿,使用[0-9 ]\{3 \}\.[0-0\{3\}\。含義是任意數(shù)字出現(xiàn)3次粒没,后跟句點(diǎn)簇爆,接著是任意數(shù)字出現(xiàn)3次,后跟句點(diǎn)入蛆。
$grep
'[0-9 ]\{3 \}\.[0-0\{3\}\' ipfile補(bǔ)充說明,grep家族還包括fgrep和egrep枫甲。fgrep是fix grep,允許查找字符串而不是一個(gè)模式想幻;egrep是擴(kuò)展grep,支持基本及擴(kuò)展的正則表達(dá)式闹究,但不支持\q模式范圍的應(yīng)用及與之相對應(yīng)的一些更加規(guī)范的模式抄沮。3.grep命令系統(tǒng)調(diào)用
grep是Linux/Unix中使用最廣泛的命令之一,許多Linux系統(tǒng)內(nèi)部都可以調(diào)用它叛买。
(1)如果要查詢目錄列表中的目錄,方法如下:
$ ls -l
| grep '∧d'
(2)如果在一個(gè)目錄中查詢不包含目錄的所有文件刻伊,方法如下:
$ ls -l
| grep '∧[∧d]'
(3)用find命令調(diào)用grep椒功,如所有C源代碼中的“Chinput”,方法如下:
$find /ZhXwin -name *.c -exec grep -q -s Chinput {} \;-print
通常用于過濾查找ps –ef |grepsendmail
43.
dd
1.作用
dd命令用來復(fù)制文件动漾,并根據(jù)參數(shù)將數(shù)據(jù)轉(zhuǎn)換和格式化。
2.格式
dd [options]
3.[opitions]主要參數(shù)
bs=字節(jié):強(qiáng)迫ibs=<字節(jié)>及obs=<字節(jié)>晨川。
cbs=字節(jié):每次轉(zhuǎn)換指定的<字節(jié)>删豺。
conv=關(guān)鍵字:根據(jù)以逗號分隔的關(guān)鍵字表示的方式來轉(zhuǎn)換文件。
count=塊數(shù)目:只復(fù)制指定<塊數(shù)目>的輸入數(shù)據(jù)呀页。
ibs=字節(jié):每次讀取指定的<字節(jié)>。
if=文件:讀取<文件>內(nèi)容尘分,而非標(biāo)準(zhǔn)輸入的數(shù)據(jù)丸氛。
obs=字節(jié):每次寫入指定的<字節(jié)>。
of=文件:將數(shù)據(jù)寫入<文件>雪位,而不在標(biāo)準(zhǔn)輸出顯示梨撞。
seek=塊數(shù)目:先略過以obs為單位的指定<塊數(shù)目>的輸出數(shù)據(jù)香罐。
skip=塊數(shù)目:先略過以ibs為單位的指定<塊數(shù)目>的輸入數(shù)據(jù)。
4.應(yīng)用實(shí)例
dd命令常常用來制作Linux啟動(dòng)盤港粱。先找一個(gè)可引導(dǎo)內(nèi)核旦签,令它的根設(shè)備指向正確的根分區(qū)查坪,然后使用dd命令將其寫入軟盤:
$ rdev vmlinuz /dev/hda
$dd if=vmlinuz of=/dev/fd0
上面代碼說明宁炫,使用rdev命令將可引導(dǎo)內(nèi)核vmlinuz中的根設(shè)備指向/dev/hda,請把“hda”換成自己的根分區(qū)望忆,接下來用dd命令將該內(nèi)核寫入軟盤竿秆。2.使用dd命令將init.rd格式的root.ram內(nèi)容導(dǎo)入內(nèi)存
dd if=/dev/fd0 of=floppy.fd
dd if=root.ram of=/dev/ram0#
44.find
命令查找文件的幾種方法:
(1)根據(jù)文件名查找
例如,我們想要查找一個(gè)文件名是lilo.conf的文件幽钢,可以使用如下命令:
find /-name lilo.conf
find命令后的“/”表示搜索整個(gè)硬盤。
(2)快速查找文件
根據(jù)文件名查找文件會遇到一個(gè)實(shí)際問題蕾羊,就是要花費(fèi)相當(dāng)長的一段時(shí)間谎懦,特別是大型Linux文件系統(tǒng)和大容量硬盤文件放在很深的子目錄中時(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)會將在/目錄中查找所有的包含有abvd這4個(gè)字符的文件(其中*是通配符)谈秫,比如abvdrmyz等符合條件的文件都能顯示出來。
(4)使用混合查找方式查找文件
find命令可以使用混合查找的方法拟烫,例如,我們想在/etc目錄中查找大于500000字節(jié)上渴,并且在24小時(shí)內(nèi)修改的某個(gè)文件喜颁,則可以使用-and (與)把兩個(gè)查找參數(shù)鏈接起來組合成一個(gè)混合的查找方式。
find /etc -size +500000c -and -mtime +1
find[path][options][expression]
path指定目錄路徑半开,系統(tǒng)從這里開始沿著目錄樹向下查找文件。它是一個(gè)路徑列表奢米,相互用空格分離纠永,如果不寫path,那么默認(rèn)為當(dāng)前目錄尝江。
3.主要參數(shù)
[options]參數(shù):
-depth:使用深度級別的查找過程方式,在某層指定目錄中優(yōu)先查找文件內(nèi)容啤覆。
-maxdepth levels:表示至多查找到開始目錄的第level層子目錄惭聂。level是一個(gè)非負(fù)數(shù),如果level是0的話表示僅在當(dāng)前目錄中查找辜纲。
-mindepth levels:表示至少查找到開始目錄的第level層子目錄拦耐。
-mount:不在其它文件系統(tǒng)(如Msdos见剩、Vfat等)的目錄和文件中查找。
-version:打印版本火脉。
[expression]是匹配表達(dá)式柒啤,是find命令接受的表達(dá)式,find命令的所有操作都是針對表達(dá)式的担巩。它的參數(shù)非常多,這里只介紹一些常用的參數(shù)犯戏。
—name:支持統(tǒng)配符*和?拳话。
-atime n:搜索在過去n天讀取過的文件。
-ctime n:搜索在過去n天修改過的文件弃衍。
-group grpoupname:搜索所有組為grpoupname的文件。
-user用戶名:搜索所有文件屬主為用戶名(ID或名稱)的文件岸裙。
-size n:搜索文件大小是n個(gè)block的文件祠斧。-print:輸出搜索結(jié)果,并且打印艺糜。
使用說明:
將檔案系統(tǒng)內(nèi)符合expression的檔案列出來。你可以指要檔案的名稱倦踢、類別侠草、時(shí)間、大小晤碘、權(quán)限等不同資訊的組合,只有完全相符的才會被列出來园爷。
find根據(jù)下列規(guī)則判斷path和expression,在命令列上第一個(gè)- ( ) , !之前的部份為path求厕,之后的是expression扰楼。如果path是空字串則使用目前路徑呀癣,如果expression是空字串則使用-print為預(yù)設(shè)expression
expression中可使用的選項(xiàng)有二三十個(gè)之多弦赖,在此只介紹最常用的部份项栏。
-mount, -xdev :只檢查和指定目錄在同一個(gè)檔案系統(tǒng)下的檔案蹬竖,避免列出其它檔案系統(tǒng)中的檔案
-amin n :在過去n分鐘內(nèi)被讀取過
-anewer file :比檔案file更晚被讀取過的檔案
-atime n :在過去n天過讀取過的檔案
-cmin n :在過去n分鐘內(nèi)被修改過
-cnewer file :比檔案file更新的檔案
-ctime n :在過去n天過修改過的檔案
-empty :空的檔案-gid n or -group name : gid是n或是group名稱是name
-ipath p, -path p :路徑名稱符合p的檔案币厕,ipath會忽略大小寫
-name name, -iname name :檔案名稱符合name的檔案列另。iname會忽略大小寫
-size n :檔案大小是n單位旦装,b代表512位元組的區(qū)塊,c表示字元數(shù)同辣,k表示kilo bytes拷姿,w是二個(gè)位元組。-type c :檔案類型是c的檔案旱函。
d:目錄
c:字型裝置檔案
b:區(qū)塊裝置檔案
p:具名貯列
f:一般檔案
l:符號連結(jié)
s: socket
-pid n : process id是n的檔案你可以使用( )將運(yùn)算式分隔响巢,并使用下列運(yùn)算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
范例:執(zhí)行命令和立即顯示的內(nèi)容如下:
$ find . -nameabc -print&
10722
10722表示進(jìn)程號(PID)棒妨。當(dāng)find命令在后臺執(zhí)行完后,會顯示結(jié)果券腔。
將目前目錄及其子目錄下所有延伸檔名是c的檔案列出來伏穆。
# find . -name "*.c"
將目前目錄其其下子目錄中所有一般檔案列出
# find . -ftype f
將目前目錄及其子目錄下所有最近20分鐘內(nèi)更新過的檔案列出
# find . -ctime -20
例2]在后臺運(yùn)行find命令,在當(dāng)前目錄及其子目路下查找文件名為abc的文件并將結(jié)果存到myfind文件中纷纫。
執(zhí)行命令如下:
$ find . -name abc -print>myfind&
45.cmp
1.作用
cmp(“compare”的縮寫)命令用來簡要指出兩個(gè)文件是否存在差異枕扫,它的使用權(quán)限是所有用戶。
2.格式cmp[options]文件名
3.[options]主要參數(shù)
-l:將字節(jié)以十進(jìn)制的方式輸出辱魁,并方便將兩個(gè)文件中不同的以八進(jìn)制的方式輸出烟瞧。
46.diff
1.作用
diff命令用于兩個(gè)文件之間的比較诗鸭,并指出兩者的不同,它的使用權(quán)限是所有用戶参滴。
2.格式
diff [options]源文
件目標(biāo)文件
3.[options]主要參數(shù)
-a:將所有文件當(dāng)作文本文件來處理强岸。
-b:忽略空格造成的不同。
-B:忽略空行造成的不同砾赔。
-c:使用綱要輸出格式蝌箍。
-H:利用試探法加速對大文件的搜索。
47關(guān)機(jī)重啟命令
(1)shutdown
–hy 0關(guān)機(jī)
hhalt
rreboot
y回答yes
0倒記時(shí)間
(2)系統(tǒng)的重啟
#shutdown –ry 0或者#reboot