使用頻繁的Linux命令

一、檔案和目錄

1、cd命令

cd /	進入根目錄
cd .. 返回上一級目錄
cd ../.. 返回上兩級目錄
cd 進入個人的主目錄
cd ~ 進入個人的主目錄
cd - 返回上次所在的目錄

2、pwd命令

pwd		顯示工作路徑

3、ls命令

ls 		檢視目錄中的檔案
ls -l 顯示檔案和目錄的詳細資料
ls -a 列出全部檔案,包括隱藏檔案
ls -R 連同子目錄的內容一起列出 (遞迴列出,等於該目錄下的所有檔案都會顯示出來)
ls [0-9] 顯示包含數字的檔名和目錄名

4、cp命令

例:cp –r test/ newtest	使用命令將當前目錄下的所有檔案複製到新目錄newtest
-a 將檔案的特性一起復制
-p 連同檔案的屬性一起復制,與-a相似,常見備份
-i 若目標檔案已經存在時,在覆蓋時會先詢問操作的進行
-r 遞迴持續複製,用於目錄的複製行為
-u 目標檔案與原始檔有差異時才會複製

5、mv命令

-f		force:強制的意思,如果目標檔案已經存在,不會詢問而直接覆蓋
-i 入若目標檔案已經存在,就會去詢問是否覆蓋
-u 若目標檔案已經存在,且比目標檔案新,才會更新

6、rm命令

-f		force:強制的意思,忽略不存在的檔案,不會出現警告資訊
-i 互動模式,在刪除前會詢問使用者是否操作
-r 遞迴刪除,最常用於目錄刪除,這是一個危險引數

二、檢視檔案內容

7、cat命令

cat file1		從第一個位元組正向檢視檔案的內容
tac file1 從最後一行開始反向檢視一個檔案的內容
cat -n file1 標示檔案的行數
more file1 檢視一個長檔案的內容
head -n 2 file1 檢視一個檔案的最後兩行
tail -n 2 file 檢視一個檔案的最後兩行

三、檔案搜尋

8、find命令

find / -name file 從'/'開始進入檔案系統搜尋檔案和目錄
whereis halt 顯示一個二進位制檔案、原始碼或man的位置
which halt 顯示一個二進位制檔案或可執行檔案的完整路徑

四、檔案的許可權

9、chmod命令

ls -lh 顯示許可權
chmod go-rwx directory1 刪除群組 (g) 與其他人 (o) 對目錄的讀寫執行許可權

10、chown命令

• chown user1 file1 改變一個檔案的所有人屬性
• chown -R user1 directory1 改變一個目錄的所有人屬性並同時改變改目錄下所有檔案的屬性
• chown user1:group1 file1 改變一個檔案的所有人和群組屬性

11、chgrp命令

chgrp group1 file1 改變檔案的群組

五、文字處理

12、grep命令

grep Aug /var/log/messages  在檔案 '/var/log/messages'中查詢關鍵詞 "Aug"
grep ^Aug /var/log/messages 在檔案 '/var/log/messages'中查詢以 "Aug" 開始的詞彙
grep [0-9] /var/log/messages 選擇 '/var/log/messages' 檔案中所有包含數字的行
grep Aug -R /var/log/* 在目錄 '/var/log' 及隨後的目錄中搜索字串 "Aug"
sed 's/stringa1/stringa2/g' example.txt 將 example.txt 檔案中的 "string1" 替換成 "string2"
sed '/^$/d' example.txt 從 example.txt 檔案中刪除所有空白行

13、paste命令

paste file1 file2 合併兩個檔案或兩欄的內容
paste -d '+' file1 file2 合併兩個檔案或兩欄的內容,中間用 "+" 區分

14、sort命令

sort file1 file2 排序兩個檔案的內容
sort file1 file2 | uniq 取出兩個檔案的並集 (重複的行只保留一份)
sort file1 file2 | uniq -u 刪除交集,留下其他的行
sort file1 file2 | uniq -d 取出兩個檔案的交集 (只留下同時存在於兩個檔案中的檔案)

15、comm命令

 comm -1 file1 file2 比較兩個檔案的內容只刪除'file1' 所包含的內容
comm -2 file1 file2 比較兩個檔案的內容只刪除'file2' 所包含的內容
comm -3 file1 file2 比較兩個檔案的內容只刪除兩個檔案共有的部分

六、打包和壓縮檔案

16、tar命令

對檔案進行打包,預設情況並不會壓縮,如果指定了相應的引數,它還會呼叫相應的壓縮程式(如 gzip 和 bzip 等)進行壓縮和解壓:
• -c :新建打包檔案
• -t :檢視打包檔案的內容含有哪些檔名
• -x :解打包或解壓縮的功能,可以搭配 - C(大寫)指定解壓的目錄,注意 - c,-t,-x 不能同時出現在同一條命令中
• -j :通過 bzip2 的支援進行壓縮 / 解壓縮
• -z :通過 gzip 的支援進行壓縮 / 解壓縮
• -v :在壓縮 / 解壓縮過程中,將正在處理的檔名顯示出來
• -f filename :filename 為要處理的檔案
• -C dir :指定壓縮 / 解壓縮的目錄 dir
• 壓縮:tar -jcv -f filename.tar.bz2 要被處理的檔案或目錄名稱
• 查詢:tar -jtv -f filename.tar.bz2
• 解壓:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄
• bunzip2 file1.bz2 解壓一個叫做'file1.bz2'的檔案
• bzip2 file1 壓縮一個叫做'file1' 的檔案
• gunzip file1.gz 解壓一個叫做'file1.gz'的檔案
• gzip file1 壓縮一個叫做'file1'的檔案
• gzip -9 file1 最大程度壓縮
• rar a file1.rar test_file 建立一個叫做'file1.rar' 的包
• rar a file1.rar file1 file2 dir1 同時壓縮'file1', 'file2' 以及目錄'dir1'
• rar x file1.rar 解壓 rar 包
• zip file1.zip file1 建立一個 zip 格式的壓縮包
• unzip file1.zip 解壓一個 zip 格式壓縮包
• zip -r file1.zip file1 file2 dir1 將幾個檔案和目錄同時壓縮成一個 zip 格式的壓縮包

七、系統和關機

shutdown -h now 關閉系統 (1)
init 0 關閉系統 (2)
telinit 0 關閉系統 (3)
shutdown -h hours:minutes & 按預定時間關閉系統
shutdown -c 取消按預定時間關閉系統
shutdown -r now 重啟 (1)
reboot 重啟 (2)
logout 登出
time 測算一個命令(即程式)的執行時間

八、程序相關的命令

jps(Java Virtual Machine Process Status Tool) 是 JDK 1.5 提供的一個顯示當前所有 java 程序 pid 的命令,簡單實用,非常適合在 linux/unix 平臺上簡單察看當前 java 程序的一些簡單情況

九、ps命令

-A :所有的程序均顯示出來
-a :不與 terminal 有關的所有程序
-u :有效使用者的相關程序
-x :一般與 a 引數一起使用,可列出較完整的資訊
-l :較長,較詳細地將 PID 的資訊列出

十、kill

 kill -9 pid  (-9 表示強制關閉)
killall -9 程式的名字
pkill 程式的名字

十一、top命令

是 Linux 下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於 Windows 的工作管理員。