Linux現如今已經成爲了軟件行業最流行的操作系統,掌握Linux就成爲了每一個開發者必備的專業技能。
爲了方便大家學習,大學君在此爲大家整理了在使用Linux時必須掌握的十條命令,希望大家能熟練掌握。
1、cd命令
Linux cd命令用於切換當前工作目錄至 dirName(目錄參數)。
其中 dirName 表示法可爲絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home 目錄 (也就是剛 login 時所在的目錄)。
另外,”~” 也表示爲 home 目錄 的意思,”.” 則是表示目前所在的目錄,”..” 則表示目前目錄位置的上一層目錄。
語法
dirName:要切換的目標目錄。
實例
跳到 /usr/bin/ :
跳到自己的 home 目錄 :
跳到目前目錄的上上兩層 :
2、ls命令
Linux ls命令用於顯示指定工作目錄下之內容(列出目前工作目錄所含之文件及子目錄)。
語法
ls [-alrtAFR] [name…]
參數
-a 顯示所有文件及目錄 (ls內定將文件名或目錄名稱開頭爲”.”的視爲隱藏檔,不會列出)
-l 除文件名稱外,亦將文件型態、權限、擁有者、文件大小等資訊詳細列出
-r 將文件以相反次序顯示(原定依英文字母次序)
-t 將文件依建立時間之先後次序列出
-A 同 -a ,但不列出 “.” (目前目錄) 及 “..” (父目錄)
-F 在列出的文件名稱後加一符號;例如可執行檔則加 “*”, 目錄則加 “/”
-R 若目錄下有文件,則以下之文件亦皆依序列出
實例
列出根目錄(\)下的所有目錄:
# 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 目錄以下所有目錄及文件詳細資料列出 :
ls -lR /bin
列出目前工作目錄下所有文件及目錄;目錄於名稱後加 “/”, 可執行檔於名稱後加 “*” :
ls –AF
3、grep命令
Linux grep命令用於查找文件裏符合條件的字符串。
grep指令用於查找內容包含指定的範本樣式的文件,如果發現某文件的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名爲”-“,則grep指令會從標準輸入設備讀取數據。
語法
常用參數
-a :將binary文件以text文件的方式查找數據
-c :計算找到‘查找字符串’的次數
-i :忽略大小寫的區別,即把大小寫視爲相同
-v :反向選擇,即顯示出沒有‘查找字符串’內容的那一行
示例
# 取出文件/etc/man.config中包含MANPATH的行,並把找到的關鍵字加上顏色
grep –color=auto ‘MANPATH’ /etc/man.config
# 把ls -l的輸出中包含字母file(不區分大小寫)的內容輸出
ls -l | grep -i file
4、find命令
Linux find命令用來在指定目錄下查找文件。任何位於參數之前的字符串都將被視爲欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件。並且將查找到的子目錄和文件全部進行顯示。
語法
參數說明
find 根據下列規則判斷 path 和 expression,在命令列上第一個 – ( ) , ! 之前的部份爲 path,之後的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 爲預設 expression。
expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。
-mount, -xdev : 只檢查和指定目錄在同一個文件系統下的文件,避免列出其它文件系統中的文件
-amin n : 在過去 n 分鐘內被讀取過
-anewer file : 比文件 file 更晚被讀取過的文件
-atime n : 在過去 n 天過讀取過的文件
-cmin n : 在過去 n 分鐘內被修改過
-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 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。-type c : 文件類型是 c 的文件。
d: 目錄
c: 字型裝置文件
b: 區塊裝置文件
p: 具名貯列
f: 一般文件
l: 符號連結
s: socket
-pid n : process id 是 n 的文件
你可以使用 ( ) 將運算式分隔,並使用下列運算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
實例
將目前目錄及其子目錄下所有延伸檔名是 c 的文件列出來。
將目前目錄其其下子目錄中所有一般文件列出
將目前目錄及其子目錄下所有最近 20 分鐘內更新過的文件列出
查找/var/logs目錄中更改時間在7日以前的普通文件,並在刪除之前詢問它們:
查找前目錄中文件屬主具有讀、寫權限,並且文件所屬組的用戶和其他用戶具有讀權限的文件:
爲了查找系統中所有文件長度爲0的普通文件,並列出它們的完整路徑:
查找/var/logs目錄中更改時間在7日以前的普通文件,並在刪除之前詢問它們:
5、cp命令
Linux cp命令主要用於複製文件或目錄。
語法
或
參數說明
-a:此選項通常在複製目錄時使用,它保留鏈接、文件屬性,並複製目錄下的所有內容。其作用等於dpR參數組合。
-d:複製時保留鏈接。這裏所說的鏈接相當於Windows系統中的快捷方式。
-f:覆蓋已經存在的目標文件而不給出提示。
-i:與-f選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答”y”時目標文件將被覆蓋。
-p:除複製文件的內容外,還把修改時間和訪問權限也複製到新文件中。
-r:若給出的源文件是一個目錄文件,此時將複製該目錄下所有的子目錄和文件。
-l:不復制文件,只是生成鏈接文件。
實例
使用指令”cp”將當前目錄”test/”下的所有文件複製到新目錄”newtest”下,輸入如下命令:
注意:用戶使用該指令複製目錄時,必須使用參數”-r”或者”-R”。
6、mv命令
Linux mv命令用來爲文件或目錄改名、或將文件或目錄移入其它位置。
語法
參數說明
-i: 若指定目錄已有同名文件,則先詢問是否覆蓋舊文件;
-f: 在mv操作要覆蓋某已有的目標文件時不給任何指示;
mv參數設置與運行結果
命令格式
運行結果
mv 文件名 文件名
將源文件名改爲目標文件名
mv 文件名 目錄名
將文件移動到目標目錄
mv 目錄名 目錄名
目標目錄已存在,將源目錄
移動到目標目錄;目標
目錄不存在則改名
mv 目錄名 文件名
出錯
實例
將文件 aaa 更名爲 bbb :
將info目錄放入logs目錄中。注意,如果logs目錄不存在,則該命令將info改名爲logs。
再如將/usr/student下的所有文件和目錄移到當前目錄下,命令行爲:
7、rm命令
Linux rm命令用於刪除一個文件或者目錄。
語法
參數
-i 刪除前逐一詢問確認。
-f 即使原檔案屬性設爲唯讀,亦直接刪除,無需逐一確認。
-r 將目錄及以下之檔案亦逐一刪除。
實例
刪除文件可以直接使用rm命令,若刪除目錄則必須配合選項”-r”,例如:
刪除當前目錄下的所有文件及目錄,命令行爲:
文件一旦通過rm命令刪除,則無法恢復,所以必須格外小心地使用該命令。
8、ps命令
Linux ps命令用於顯示當前進程 (process) 的狀態。
語法
常用參數
-A :所有的進程均顯示出來
-a :不與terminal有關的所有進程
-u :有效用戶的相關進程
-x :一般與a參數一起使用,可列出較完整的信息
-l :較長,較詳細地將PID的信息列出
常用組合
ps aux # 查看系統所有的進程數據
ps ax # 查看不與terminal有關的所有進程
ps -lA # 查看系統所有的進程數據
ps axjf # 查看連同一部分進程樹狀態
9、kill命令
Linux kill命令用於刪除執行中的程序或工作。
kill可將指定的信息送至程序。預設的信息爲SIGTERM(15),可將指定程序終止。若仍無法終止該程序,可使用SIGKILL(9)信息嘗試強制刪除程序。程序或工作的編號可利用ps指令或jobs指令查看。
語法
參數說明
-l <信息編號> 若不加<信息編號>選項,則-l參數會列出全部的信息名稱。
-s <信息名稱或編號> 指定要送出的信息。
[程序] [程序]可以是程序的PID或是PGID,也可以是工作編號。
實例
殺死進程
強制殺死進程
發送SIGHUP信號,可以使用一下信號
徹底殺死進程
殺死指定用戶所有進程
10、cat命令
cat命令用於把檔案串連接後傳到基本輸出(螢幕或加 > fileName 到另一個檔案)
使用權限
所有使用者
語法格式
參數說明
-n 或 –number 由 1 開始對所有輸出的行數編號
-b 或 –number-nonblank 和 -n 相似,只不過對於空白行不編號
-s 或 –squeeze-blank 當遇到有連續兩行以上的空白行,就代換爲一行的空白行
-v 或 –show-nonprinting
實例
把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裏
把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3 裏。
清空/etc/test.txt檔案內容