摘要:Linux現(xiàn)如今已經(jīng)成為了軟件行業(yè)最流行的操作系統(tǒng),掌握Linux就成為了每一個開發(fā)者必備的專業(yè)技能。為了方便大家學(xué)習(xí),大學(xué)君在此為大家整理了在使用Linux時必須掌握的十條命令,希望大家能熟練掌握。1、cd命令Linux cd命令用于切換當(dāng)前工作目錄至 dirName(目錄參數(shù))。其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home 目錄 (也就是剛 l
Linux現(xiàn)如今已經(jīng)成為了軟件行業(yè)最流行的操作系統(tǒng),掌握Linux就成為了每一個開發(fā)者必備的專業(yè)技能。
為了方便大家學(xué)習(xí),大學(xué)君在此為大家整理了在使用Linux時必須掌握的十條命令,希望大家能熟練掌握。
1、cd命令
Linux cd命令用于切換當(dāng)前工作目錄至 dirName(目錄參數(shù))。
其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home 目錄 (也就是剛 login 時所在的目錄)。
另外,”~” 也表示為 home 目錄 的意思,”.” 則是表示目前所在的目錄,”..” 則表示目前目錄位置的上一層目錄。
語法
cd [dirName]
dirName:要切換的目標(biāo)目錄。
實(shí)例
跳到 /usr/bin/ :
cd /usr/bin
跳到自己的 home 目錄 :
cd ~
跳到目前目錄的上上兩層 :
cd ../..
2、ls命令
Linux ls命令用于顯示指定工作目錄下之內(nèi)容(列出目前工作目錄所含之文件及子目錄)。
語法
ls [-alrtAFR] [name…]
參數(shù)
-a 顯示所有文件及目錄 (ls內(nèi)定將文件名或目錄名稱開頭為”.”的視為隱藏檔,不會列出)
-l 除文件名稱外,亦將文件型態(tài)、權(quán)限、擁有者、文件大小等資訊詳細(xì)列出
-r 將文件以相反次序顯示(原定依英文字母次序)
-t 將文件依建立時間之先后次序列出
-A 同 -a ,但不列出 “.” (目前目錄) 及 “..” (父目錄)
-F 在列出的文件名稱后加一符號;例如可執(zhí)行檔則加 “*”, 目錄則加 “/”
-R 若目錄下有文件,則以下之文件亦皆依序列出
實(shí)例
列出根目錄(\)下的所有目錄:
# ls /
bin dev lib media net root srv upload www
boot etc lib64 misc opt sbin sys usr
home lost+found mnt proc selinux tmp var
列出目前工作目錄下所有名稱是 s 開頭的文件,越新的排越后面 :
ls -ltr s*
將 /bin 目錄以下所有目錄及文件詳細(xì)資料列出 :
ls -lR /bin
列出目前工作目錄下所有文件及目錄;目錄于名稱后加 “/”, 可執(zhí)行檔于名稱后加 “*” :
ls –AF
3、grep命令
Linux grep命令用于查找文件里符合條件的字符串。
grep指令用于查找內(nèi)容包含指定的范本樣式的文件,如果發(fā)現(xiàn)某文件的內(nèi)容符合所指定的范本樣式,預(yù)設(shè)grep指令會把含有范本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為”-“,則grep指令會從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù)。
語法
grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數(shù)>][-B<顯示列數(shù)>][-C<顯示列數(shù)>][-d<進(jìn)行動作>][-e<范本樣式>][-f<范本文件>][--help][范本樣式][文件或目錄...]
常用參數(shù)
-a :將binary文件以text文件的方式查找數(shù)據(jù)
-c :計算找到‘查找字符串’的次數(shù)
-i :忽略大小寫的區(qū)別,即把大小寫視為相同
-v :反向選擇,即顯示出沒有‘查找字符串’內(nèi)容的那一行
示例
# 取出文件/etc/man.config中包含MANPATH的行,并把找到的關(guān)鍵字加上顏色
grep –color=auto ‘MANPATH’ /etc/man.config
# 把ls -l的輸出中包含字母file(不區(qū)分大小寫)的內(nèi)容輸出
ls -l | grep -i file
4、find命令
Linux find命令用來在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設(shè)置任何參數(shù),則find命令將在當(dāng)前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進(jìn)行顯示。
語法
find path -option [ -print ] [ -exec -ok command ] {} ;
參數(shù)說明
find 根據(jù)下列規(guī)則判斷 path 和 expression,在命令列上第一個 – ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預(yù)設(shè) expression。
expression 中可使用的選項(xiàng)有二三十個之多,在此只介紹最常用的部份。
-mount, -xdev : 只檢查和指定目錄在同一個文件系統(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 是二個位元組。-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
實(shí)例
將目前目錄及其子目錄下所有延伸檔名是 c 的文件列出來。
# find . -name "*.c"
將目前目錄其其下子目錄中所有一般文件列出
# find . -ftype f
將目前目錄及其子目錄下所有最近 20 分鐘內(nèi)更新過的文件列出
# find . -ctime -20
查找/var/logs目錄中更改時間在7日以前的普通文件,并在刪除之前詢問它們:
$ find /var/logs -type f -mtime +7 -ok rm { } ;
查找前目錄中文件屬主具有讀、寫權(quán)限,并且文件所屬組的用戶和其他用戶具有讀權(quán)限的文件:
$ find . -type f -perm 644 -exec ls -l { } ;
為了查找系統(tǒng)中所有文件長度為0的普通文件,并列出它們的完整路徑:
$ find / -type f -size 0 -exec ls -l { } ;
查找/var/logs目錄中更改時間在7日以前的普通文件,并在刪除之前詢問它們:
$ find /var/logs -type f -mtime +7 -ok rm { } ;
5、cp命令
Linux cp命令主要用于復(fù)制文件或目錄。
語法
cp [options] source dest
或
cp [options] source... directory
參數(shù)說明
-a:此選項(xiàng)通常在復(fù)制目錄時使用,它保留鏈接、文件屬性,并復(fù)制目錄下的所有內(nèi)容。其作用等于dpR參數(shù)組合。
-d:復(fù)制時保留鏈接。這里所說的鏈接相當(dāng)于Windows系統(tǒng)中的快捷方式。
-f:覆蓋已經(jīng)存在的目標(biāo)文件而不給出提示。
-i:與-f選項(xiàng)相反,在覆蓋目標(biāo)文件之前給出提示,要求用戶確認(rèn)是否覆蓋,回答”y”時目標(biāo)文件將被覆蓋。
-p:除復(fù)制文件的內(nèi)容外,還把修改時間和訪問權(quán)限也復(fù)制到新文件中。
-r:若給出的源文件是一個目錄文件,此時將復(fù)制該目錄下所有的子目錄和文件。
-l:不復(fù)制文件,只是生成鏈接文件。
實(shí)例
使用指令”cp”將當(dāng)前目錄”test/”下的所有文件復(fù)制到新目錄”newtest”下,輸入如下命令:
$ cp –r test/ newtest
注意:用戶使用該指令復(fù)制目錄時,必須使用參數(shù)”-r”或者”-R”。
6、mv命令
Linux mv命令用來為文件或目錄改名、或?qū)⑽募蚰夸浺迫肫渌恢谩?/p>
語法
mv [options] source dest
mv [options] source... directory
參數(shù)說明
-i: 若指定目錄已有同名文件,則先詢問是否覆蓋舊文件;
-f: 在mv操作要覆蓋某已有的目標(biāo)文件時不給任何指示;
mv參數(shù)設(shè)置與運(yùn)行結(jié)果
命令格式
運(yùn)行結(jié)果
mv 文件名 文件名
將源文件名改為目標(biāo)文件名
mv 文件名 目錄名
將文件移動到目標(biāo)目錄
mv 目錄名 目錄名
目標(biāo)目錄已存在,將源目錄
移動到目標(biāo)目錄;目標(biāo)
目錄不存在則改名
mv 目錄名 文件名
出錯
實(shí)例
將文件 aaa 更名為 bbb :
mv aaa bbb
將info目錄放入logs目錄中。注意,如果logs目錄不存在,則該命令將info改名為logs。
mv info/ logs
再如將/usr/student下的所有文件和目錄移到當(dāng)前目錄下,命令行為:
$ mv /usr/student/* .
7、rm命令
Linux rm命令用于刪除一個文件或者目錄。
語法
rm [options] name...
參數(shù)
-i 刪除前逐一詢問確認(rèn)。
-f 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無需逐一確認(rèn)。
-r 將目錄及以下之檔案亦逐一刪除。
實(shí)例
刪除文件可以直接使用rm命令,若刪除目錄則必須配合選項(xiàng)”-r”,例如:
# rm test.txt
rm:是否刪除 一般文件 "test.txt"? y
# rm homework
rm: 無法刪除目錄"homework": 是一個目錄
# rm -r homework
rm:是否刪除 目錄 "homework"? y
刪除當(dāng)前目錄下的所有文件及目錄,命令行為:
rm -r *
文件一旦通過rm命令刪除,則無法恢復(fù),所以必須格外小心地使用該命令。
8、ps命令
Linux ps命令用于顯示當(dāng)前進(jìn)程 (process) 的狀態(tài)。
語法
ps [options] [—help]
常用參數(shù)
-A :所有的進(jìn)程均顯示出來
-a :不與terminal有關(guān)的所有進(jìn)程
-u :有效用戶的相關(guān)進(jìn)程
-x :一般與a參數(shù)一起使用,可列出較完整的信息
-l :較長,較詳細(xì)地將PID的信息列出
常用組合
ps aux # 查看系統(tǒng)所有的進(jìn)程數(shù)據(jù)
ps ax # 查看不與terminal有關(guān)的所有進(jìn)程
ps -lA # 查看系統(tǒng)所有的進(jìn)程數(shù)據(jù)
ps axjf # 查看連同一部分進(jìn)程樹狀態(tài)
9、kill命令
Linux kill命令用于刪除執(zhí)行中的程序或工作。
kill可將指定的信息送至程序。預(yù)設(shè)的信息為SIGTERM(15),可將指定程序終止。若仍無法終止該程序,可使用SIGKILL(9)信息嘗試強(qiáng)制刪除程序。程序或工作的編號可利用ps指令或jobs指令查看。
語法
kill [-s <信息名稱或編號>][程序] 或 kill [-l <信息編號>]
參數(shù)說明
-l <信息編號> 若不加<信息編號>選項(xiàng),則-l參數(shù)會列出全部的信息名稱。
-s <信息名稱或編號> 指定要送出的信息。
[程序] [程序]可以是程序的PID或是PGID,也可以是工作編號。
實(shí)例
殺死進(jìn)程
# kill 12345
強(qiáng)制殺死進(jìn)程
# kill -KILL 123456
發(fā)送SIGHUP信號,可以使用一下信號
# kill -HUP pid
徹底殺死進(jìn)程
# kill -9 123456
殺死指定用戶所有進(jìn)程
#kill -9 $(ps -ef | grep hnlinux) //方法一 過濾出hnlinux用戶進(jìn)程
#kill -u hnlinux //方法二
10、cat命令
cat命令用于把檔案串連接后傳到基本輸出(螢?zāi)换蚣?> fileName 到另一個檔案)
使用權(quán)限
所有使用者
語法格式
cat [-AbeEnstTuv] [--help] [--version] fileName
參數(shù)說明
-n 或 –number 由 1 開始對所有輸出的行數(shù)編號
-b 或 –number-nonblank 和 -n 相似,只不過對于空白行不編號
-s 或 –squeeze-blank 當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行
-v 或 –show-nonprinting
實(shí)例
把 textfile1 的檔案內(nèi)容加上行號后輸入 textfile2 這個檔案里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
清空/etc/test.txt檔案內(nèi)容
cat /dev/null > /etc/test.txt