Linux 系統(tǒng)命令及其使用詳解(大全)
Linux?系統(tǒng)命令及其使用詳解(大全)
(來源:?中國系統(tǒng)分析員)
?
cat cd?
chmod chown?
cp cut
名稱:cat?
使用權(quán)限:所有使用者?
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName?
說明:把檔案串連接后傳到基本輸出(螢?zāi)换蚣?> fileName?到另一個(gè)檔案)?
參數(shù):?
-n?或?--number?由?1?開始對所有輸出的行數(shù)編號(hào)?
-b?或?--number-nonblank?和?-n?相似,只不過對于空白行不編號(hào)?
-s?或?--squeeze-blank?當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行?
-v?或?--show-nonprinting?
范例:?
cat -n textfile1 > textfile2?把?textfile1?的檔案內(nèi)容加上行號(hào)后輸入?textfile2?這個(gè)檔案里?
cat -b textfile1 textfile2 >> textfile3?把?textfile1?和?textfile2?的檔案內(nèi)容加上行號(hào)(空白行不加)之后將內(nèi)容附加到?textfile3?
名稱:cd?
使用權(quán)限:所有使用者?
使用方式:cd [dirName]
說明:變換工作目錄至?dirName。?其中?dirName?表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的?home directory (也就是剛?login?時(shí)所在的目錄).另外,"~"?也表示為?home directory?的意思,"."?則是表示目前所在的目錄,".."?則表示目前目錄位置的上一層目錄。?
范例:跳到?/usr/bin/:
cd /usr/bin?
跳到自己的?home directory:
cd ~?
跳到目前目錄的上上兩層:
cd ../..?
指令名稱:chmod?
使用權(quán)限:所有使用者?
使用方式:chmod [-cfvR] [--help] [--version] mode file...?
說明:Linux/Unix?的檔案存取權(quán)限分為三級(jí):檔案擁有者,群組,其他。利用?chmod?可以藉以控制檔案如何被他人所存取。
把計(jì):
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 777 file?
語法為: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)限?
指令名稱: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)限。?
把計(jì):
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 *?
名稱:cp?
使用權(quán)限:所有使用者?
使用方式:?
cp [options] source dest?
cp [options] source... directory?
說明:將一個(gè)檔案拷貝至另一檔案,或?qū)?shù)個(gè)檔案拷貝至另一目錄。
把計(jì):?
-a?盡可能將檔案狀態(tài),權(quán)限等資料都照原狀予以復(fù)制。?
-r?若?source?中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。?
-f?若目的地已經(jīng)有相同檔名的檔案存在,則在復(fù)制前先予以刪除再行復(fù)制。?
范例:?
將檔案?aaa?復(fù)制(已存在),并命名為?bbb:
cp aaa bbb?
將所有的C語言程式拷貝至?Finished?子目錄中:
cp *.c Finished?
名稱: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?
用法:find?
使用說明:
將檔案系統(tǒng)內(nèi)符合?expression?的檔案列出來。你可以指要檔案的名稱,類別,時(shí)間,大小,權(quán)限等不同資訊的組合,只有完全相符的才會(huì)被列出來。?
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?會(huì)忽略大小寫?
-name name, -iname name:檔案名稱符合?name?的檔案。iname?會(huì)忽略大小寫?
-size n:檔案大小?是?n?單位,b?代表?512?位元組的區(qū)塊,c?表示字元數(shù),k?表示?kilo bytes,w?是二個(gè)位元組。-type c:檔案類型是?c?的檔案。?
d:?目錄?
c:?字型裝置檔案?
b:?區(qū)塊裝置檔案?
p:?具名貯列?
f:?一般檔案?
l:?符號(hào)連結(jié)?
s: socket?
-pid n:process id?是?n?的檔案?
你可以使用?( )?將運(yùn)算式分隔,并使用下列運(yùn)算。?
exp1 -and exp2?
! expr?
-not expr?
exp1 -or exp2?
exp1, exp2?
范例:?
將目前目錄及其子目錄下所有延伸檔名是?c?的檔案列出來。?
# find . -name "*.c"?
將目前目錄其其下子目錄中所有一般檔案列出?
# find . -ftype f?
將目前目錄及其子目錄下所有最近?20?分鐘內(nèi)更新過的檔案列出?
# find . -ctime -20?
名稱:less?
使用權(quán)限:所有使用者?
使用方式:?
less [Option] filename?
說明:?
less?的作用與?more?十分相似,都可以用來瀏覽文字檔案的內(nèi)容,不同的是?less?允許使用者往回卷動(dòng)?
以瀏覽已經(jīng)看過的部份,同時(shí)因?yàn)?less?并未在一開始就讀入整個(gè)檔案,因此在遇上大型檔案的開啟時(shí),會(huì)比一般的文書編輯器(如?vi)來的快速。
范例:?
指令名稱: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é)都不會(huì)將原本的檔案復(fù)制一份,只會(huì)占用非常少量的磁碟空間。
-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í)會(huì)被覆寫或刪除的檔案進(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?
名稱:locate?
使用權(quán)限:所有使用者?
使用方式:?locate [-q] [-d ] [--database=]?
locate [-r ] [--regexp=]?
locate [-qv] [-o ] [--output=]?
locate [-e ] [-f ] <[-l ] [-c]?