【筆記整理】CentOS常用指令整理( E ~ H )

摘要:【筆記整理】CentOS常用指令整理( E ~ H )

整理一下有關CentOS的相關常用指令,

基本上從man上查看會比較完整,下列只是一些簡單及常見的組合應用。

當然也會增加一些相關註解。

 

1. eject:退出或收回光碟機

 a. eject -a 參數:自動退出,若參數為『on』或『1』,則裝置卸載時會自動退出,反之為『off』或『0』則否

 b. eject -c 光碟編號:選擇光碟機,編號依序為0、1、2....

 c. eject /mnt/cdrom1:若是掛載的第二台光碟機在『/mnt/cdrom1』上

 d. eject -t:收回光碟機。

     註:部分不支援,ex.slim cdrom

 

2. fdisk:修改磁碟分割區

 a. fdisk -l /dev/sda:列出指定的分割表(ex. 『/dev/sda』)

 b. 內容設定可參考:http://www.dotblogs.com.tw/ghoseliang/archive/2012/09/25/75031.aspx

 

3. fgrep:搜尋檔案中符合條件的字串,等同執行『grep -F

 a. fgrep diff *:列出所有包含串『diff』的檔案

 

4. find:尋找特定字串的檔案或目錄名稱

     用法:find PATH [ option ] [ action ]

 01. find / -mtime 0:將系統上24小時(一天)內有更動過內容(mtime)的檔案列出。『0』為目前的時間。

     註:-mtime n』為列出n天前那一天被更動過內容的檔案;『-mtime +n』為列出在n天之前(不含n天)被更動過

     內容的檔案;『-mtime -n』為列出在n天之內(含n天)被更動過內容的檔案。

     註:mmin』以『分鐘』為單位,後面數字用法與『mtime』相同。

 02. find /etc/ -newer /etc/passwd:在目錄『/etc/』中,列出比檔案『/etc/passwd』的時間還『』的檔案。

 

 03. find . -name "test*":在目前目錄中尋找以『test』開頭的檔案

 04. find . -iname "*a":在目前目錄中尋找『a』(不區分大小寫)結尾的檔案。

 05. find . -not -name "test*":在目前目錄中尋找『非以test』開頭的檔案

 06. find . -perm 755:在目前目錄中尋找權限為『755』的檔案

 07. find . -type f -name "test*":在目前目錄中尋找檔案類型為『 f (regular file) 』,名稱開頭為『test』的檔案

     註:-type』搜尋檔案類型,『f』為一般檔案;『b,c』為裝置檔案,『b』為block device,

     『c』為char device;『d』為目錄;『l』為連結檔;『s』為socket;『p』為FIFO(命名管道)。

 08. find /tmp/Test -type f | wc -l:計算在目錄『/tmp/Test』中有多少個檔案

 09. find . -name "test*" -exec rm -i {} \;:在目前目錄中尋找以『test』開頭的檔案,並刪除。

     註:相似指令『find . -name "test*" -delete

     註:參數『-exec』後可以加入其他『shell command』,以便進行其他動作。

 10. find /etc/ -size 20k:在目錄『/etc』中找出大小為『20kb』的檔案。

     註:+20k』為大小大於20kb;『-20k』為大小小於20kb。

 11. find / -user ghose:在目錄『/』中搜尋指定『帳號名稱』的檔案

 12. find / -group ghose:在目錄『/』中搜尋指定『群組名稱』的檔案

 13. find /tmp/ -empty:搜尋目錄『/tmp/』下所有的『空檔案

 

5. file:觀察檔案類型

     用法:file [ -bz ] [ -f namefile ] file

 01. file iptables.sh:顯示檔案類型

 02. file -b iptables.sh:列出檔案類型,但不顯示文件名稱

 03. file -f namefile:指定namefile,其內容有一個或多個文件名稱,讓『file』依序辨認這些文件,

     格式為每列一個文件名稱

 04. file -z test2.z:嘗試解讀壓縮文件的內容

 

6. free:顯示記憶體使用狀態

 a. free -b:以『bytes』為單位顯示記憶體的使用情形

 b. free -k:以『KBytes』為單位顯示記憶體的使用情形

 c. free -m:以『MBytes』為單位顯示記憶體的使用情形

 d. free -g:以『GBytes』為單位顯示記憶體的使用情形

 d. free -o:不顯示緩衝區的狀態

 e. free -s 5:以5秒為週期持續觀察記憶體使用狀態

 f. free -t:顯示記憶體的總和(實體記憶體和虛擬記憶體)

 

7.  gcc:C語言編譯器

 範例:

 a. gcc test.c:編譯檔案『test.c』為執行檔

     執行:./a.out

 

8. gpasswd:管理/etc/group的進階工具

 a. gpasswd root:修改root群組的群組密碼

 b. gpasswd -a ghoseliang user:新增帳號ghoseliang到user群組

 c. gpasswd -d ghoseliang user:將ghoseliang從user群組刪除帳號

 d. gpasswd -A ghoseliang user:設定帳號ghoseliang為user群組的管理員

 

9. grep:擷取命令,搜尋檔案中符合條件的字串

     用法:grep [ -acinrv ] [ -A ] [ -B ] [ --color=auto ] 搜尋字串 filename

     用法:grep [ -f ] [ --color=auto ] filename1 filename2

 01. grep ghoseliang --color=auto /etc/passwd:從檔案『/etc/passwd』中找出符合字串『ghoseliang』的資料

 02. grep -a text filename:將『binary』檔案以『text』檔案的方式搜尋資料

 03. last | grep -c 'root':在『last』中計算找到符合『root』次數

 04. grep -f test2 test1:搜尋檔案『test1』中包含檔案『test2』中字串的內容

 05. grep -i GHOSEliang /etc/passwd:忽略大小寫

 06. last | grep -n 'ghose' | cut -f1 -d' ':在『last』中計算找到符合字串『ghoseliang』,並顯示『行號』及

     擷取第一欄位

 07. grep -r 'test' /tmp/:搜尋指定目錄下所有檔案與目錄

 08. last | grep -v  'root':顯示『last』中不含『root』的內容

 09. last | grep -n -A2 'ghose':除了搜尋字串『ghose』外,並將搜尋字串的『後兩行』也顯示出來

 10. last | grep -n -B3 'ghose':除了搜尋字串『ghose』外,並將搜尋字串的『前三行』也顯示出來

 

10. groupadd:建立群組

 a. groupadd admin:建立admin群組

 b. groupadd -r ghose:建立名為ghose的系統群組

 

11. groupdel:刪除群組

 a. groupdel admin:刪除admin群組

 

12. groupmod:修改群組識別碼或名稱

 a. groupmod -n admin ghose:修改群組ghose名稱為admin

 

13. groups:顯示帳號所屬的群組名稱,類似執行『cat /etc/group』

 a. groups ghoseliang:顯示使用者ghoseliang的所屬群組名稱

 

14. head:資料擷取

     用法:head [ -n number ] file

 01. head /etc/man.config:顯示檔案內容,預設為顯示『10』行。

 02. head -n 50 /etc/man.config:加入參數『-n』並於後面加入數字,可顯示更多行數。

 03. head -n -140 /etc/man.config:加入的數字為『負數』,為不顯示行數。如『-140』,則不顯示最後的『140』行。

 

14. history:歷史命令

     用法1:history [ n ]

     用法2:history [ -c ]

     用法3:history [ -raw ] [ histfiles ]

 01. history:列出目前記憶體中所有『history』記憶

     註:列出的資訊中,共分為兩欄,第一欄為該指令在這個shell當中的代碼,第二欄為指令本身的內容。

     至於會秀出幾筆指令記錄,則與『HISTSIZE』有關。

 02. history 5:列出目前最近的5筆資料

 03. history -c:將目前『shell』中所有『history』內容全部清除

 04. history -a [ histfiles ]:將目前新增的『history』指令新增到『histfiles』中,若沒有加『histfiles』,

     則預設寫入『~/.bash_history』。

 05. history -r [ histfiles ]:將『histfiles』的內容讀到目前這個『shell』的『history』記憶中

 06. history -w [ histfiles ]:將目前的『history』記憶內容立刻(強制)寫入『histfiles』中

     註:部分相關應用( 1 - 5 )可參考最下方的『備註

 

15. host:查詢主機使用的網域名稱

 a. host www.google.com 168.95.1.1:透過168.95.1.1查詢www.google.com

 b. host -t mx gmail.com 168.95.1.1:透過168.95.1.1查詢gmail.com的MX Record

 

16. hostname:顯示及設定主機名稱

 a. hostname:顯示目前的主機名稱

 b. hostname -i:顯示主機IP

 

17. hwclock:顯示或設定硬體時間

 a. hwclock:顯示硬體時間和日期

 b. hwclock --set --date="11/16/2012 16:48:00":修改硬體時間與日期

 

備註

1. !!:執行『history』中最後一個指令,相當於按『』按鍵後,點擊『Enter』鍵

 

2. !char:由最近的指令向前搜尋『指令串開頭為char』的指令並執行

 

3. !number:執行history中對應該數字行數的指令

 

4. Ctrl+r:按下後會出現『reverse-i-search』,可輸入關鍵字而系統會快速尋找相關開頭且執行過的指令

 

5. 快速呼叫:快速呼叫最後一次執行的『Argument』,如執行『grep ghoseliang /etc/shadow』,

     所以『/etc/shadow』即為『Argument』。下列為快速呼叫的三種方式。

 01. 按『Esc』後按『.』

 02. 按『Alt』後按『.』

 03. !$

     註:個人覺得沒什麼用,所以還是看個人使用習慣吧。

 

 

 

<......不定時更新、修改、增加中......>

 

參考

https://app.shopback.com/RBANl9P3Ysb