摘要:【筆記整理】CentOS常用指令整理( M ~ P )
整理有關CentOS的相關指令,
基本上使用man來看會比較完整,下列只是一些簡單及常用的組合應用。
當然也會增加一些相關註解。
1. mail:收發郵件
a. mail:不加任何參數,代表檢查自己的郵件。
註:N表示未讀
b. mail -u ghoseliang:指定使用者,檢查此使用者的郵件
c. mail -s "Test Mail":設定標題,如果標題內有空白,則需要在標題前後加上雙引號
d. mail -s "Test Mail" user1 -f user2:指定寄件者
e. mail -s "Test Mail" user1 user2:多位收件者及副本給其他收件者
f. mail -s "Test Mail" user1 < ~/file1:直接帶入內文(最好是文字檔)
2. mailq:列出佇列中的郵件
a. mailq:列出所有在佇列中尚未寄出的郵件
b. mailq -Ac:使用『submit.cf』的設定,而不使用預設『sendmail.cf』的設定。(只對sendmail有效)
c. mailq -q keyword:搜尋指定的keyword
3. make:維護或編譯程式群組
a. make -C 目錄:切換到指定的目錄後執行後續動作
4. man:顯示線上說明
a. man kill:列出『kill』的線上說明,因沒指定章節,所以會顯示章節數最低的章節
b. man 2 kill:指定『kill』的第二章節
c. man -K kill:列出所有跟『kill』有關的線上說明
註:每個相關的檔案都會列出並詢問,輸入『y』才會顯示說明畫面
5. mesg:控制目前所用終端機的寫入權限
a. mesg:顯示目前狀態。預設為『y』,允許其他人對目前的終端機有寫入的權限。
b. mesg n:關閉其他人對目前的終端機視窗的寫入權限
6. mkdir:新增目錄
a. mkdir test1:在目前路徑下新增名稱為『test1』的子目錄
b. mkdir -p test1/test2/test3:若上層目錄不存在,則會依次建立;若已存在,則略過。
c. mkdir -m 777 test4:新增目錄『test4』,並給予所有人可讀可寫的權限
註:參數『-m』的模式用法與『chmod』相同
7. mkfs:將分割區格式化
a. mkfs -c /dev/sdc:在格式化分割區前,先檢查該分割區的正確性
b. mkfs -l filename:在指定的檔名中讀取壞區塊的列表
c. mkfs -t ext3 /dev/sdc1:將分割區『/dev/sdc1』格式化為『ext3』檔案系統
d. mkfs [tab][tab]:顯示『mkfs』支援的檔案系統
參考:http://linux.vbird.org/linux_basic/0230filesystem.php#mkfs
8. mkswap:新增swap區域
a. mkswap /dev/sdc1:新增一個『SWAP』分割
註:在記憶體不夠時會使用硬碟的部份區塊當做記憶體用,這部份稱為『SWAP space』,而此指令是將分割區
格式化為『swap』。但在做磁碟分割時,必須先指定該分割區為『Linux swap』,否則指令是無效的。
9. modinfo:顯示核心模組的訊息
a. modinfo r8169:顯示『r8169』模組的訊息
b. modinfo -d i915:顯示『i915』模組的描述
註:此指令可以顯示核心選項被編為模組後的相關訊息,但在核心編譯時,若將選項編入核心,
則無法使用此指令顯示訊息。
10. modprobe:從核心中新增或是移除模組
a. modprobe -l pp*:顯示開頭為『pp』的模組名稱,『*』為萬用字元
b. modprobe --show-depends i915:顯示『i915』模組的相依性
11. more:顯示檔案內容
a. more -d /etc/yum.conf:在最後一行顯示說明
b. more +10 /etc/yum.conf:從第10行開始顯示
c. more -10 /etc/yum.conf:每次顯示10行
12. mount:掛接檔案系統
a. mount -t ext4 /dev/sdc2 /backup:將分割區『/dev/sdc2』掛在『/backup』上,並指定檔案系統為『ext4』
b. mount -t ext3 -o nosuid /dev/sdc2 /backup:將分割區『/dev/sdc2』掛在『/backup』上,
並指定檔案系統為『ext3』,且不接受『SUID』檔案的執行
c. mount -t ext3 NFS://data /backup:掛接NFS伺服器所分享的檔案系統。NFS為主機名稱,
一般定義在『/etc/hosts』中
13. mv:移動或更名檔案或目錄
a. mv test1 test2:將檔案『test1』更名為『test2』
b. mv test1 /tmp:將檔案『test1』移動到『/tmp』下
14. nano:文書編輯
a. nano -w /etc/yum.conf:編輯『yum.conf』,且不做折行的動作
註:相關編輯指令方式可在下方參考。而若一行在畫面上無法完全顯示,最右邊會以『$』表示。
15. netstat:查詢網路的目前狀態
a. netstat -nat:『n』為直接以IP位址顯示;『a』為顯示所有資訊,包含一般資訊、socket、路由表、
網路介面等;『t』為僅顯示TCP通訊協定的連線狀態。
b. netstat -ntlpu:『l』為顯示正在listen狀態的socket;『p』為顯示與socket相關程式與PID;
『u』為顯示UDP通訊協定的連線狀態
c. netstat -r:顯示路由表,與指令『route』相同
16. nohup:退出系統後仍可以繼續執行該指令
a. nohup wget URL:執行『wget』抓取指定位址的檔案,在離線後仍可繼續抓取。
註:結果會輸出在『nohup.out』
17. nslookup:查詢DNS server之運作
a. 查詢www.google.com的位址
b. 查詢google的郵件伺服器位址
18. pam_tally2:使用pam模組的pam_tally2.so設定帳號N次輸入錯誤自動鎖定M分鐘
說明:依據搭配功能不同可加入至不同的設定檔中,如:SSH登入,可設定在『/etc/pam.d/sshd』;
本機登入,可設定在『/etc/pam.d/login』;若是圖形登入介面,則可設定在『/etc/pam.d/kde』;
不過一般會直接設定在『/etc/pam.d/system-auth』或『/etc/pam.d/system-auth-ac』下,
凡是調用『system-auth』設定檔的服務都會生效。
註:若不支援『pam_tally2』模組,可改用『pam_tally』模組,設定可能會有所不同。
參數內容:
01. deny:失敗次數,超過即鎖定帳號
02. even_deny_root:限制root帳號
03. lock_time:一次失敗即鎖定多久秒,所以一般會使用『unlock_time』。
04. unlock_time:一般帳號鎖定後,多久秒後即解鎖。
05. root_unlock_time:root帳號鎖定後,多久秒後即解鎖。
01. pam_tally2:查看『pam_tally2』記錄
02. pam_tally2 -u ghose:查看個別帳號,指令相同於『pam_tally2 --user=ghose』。
03. pam_tally2 -r:全部解除鎖定,指令相同於『pam_tally2 --reset』。
04. pam_tally2 -u ghose -r:個別帳號解除鎖定,指令相同於『pam_tally2 --user=ghose --reset』
19. passwd:修改密碼
用法:passwd [ -lunixwS ] [ --stdin ] username
01. passwd:不加任何參數,表示修改自己的密碼
02. passwd ghoseliang:變更使用者帳號的密碼,一般唯有『root』權限才能變更
03. passwd -l ghoseliang:帳號停用( 鎖住密碼 ),即修改『/etc/shadow』的密碼欄位
註:與『usermod -L username』類似
04. passwd -u ghoseliang:帳號啟用,移除『!!』,即修改『/etc/shadow』的密碼欄位
註:與『usermod -U username』類似
05. passwd -n 3 ghoseliang:最短天數,3天內不得更改密碼,即『/etc/shadow』第四欄位
06. passwd -x 5 ghoseliang:最長天數內必須變更密碼,即『/etc/shadow』第五欄位
07. passwd -w 4 ghoseliang:警告天數,密碼過期前的警告天數,即『/etc/shadow』第六欄位
08. passwd -i 2 ghoseliang:密碼失效日期,即『/etc/shadow』第七欄位
09. passwd -S ghoseliang:顯示這個使用者帳號的相關資訊,即『/etc/shadow』中相關資訊
10. echo "0okmnbv" | passwd --stdin ghoseliang:經由標準輸入『STDIN』取得密碼,配合管線『| (Piping)』處理
,可修改大量用戶密碼。
11. passwd -n 5 -x 60 -w 5 -i 2 ghoseliang:設定最短、最長、警告、過期的天數
註1:新增帳號後,預設是封鎖的,暫時無法登入,必須設定密碼後才能登入。因此密碼的安全性就必須按照自己
公司的安全性原則或自己習慣進行設定,個人是建議自己最好能養成習慣。
註2:密碼的相關系統預設可以至『/etc/login.defs』調整,請參考
『http://www.dotblogs.com.tw/ghoseliang/archive/2013/03/13/96543.aspx』的『useradd』備註。
20. paste:字元轉換命令,按列合併文件
用法:paste [ -d ] [ -s ] file1 file2 [ - ]
01. paste test1 test2:以列對列的方式,一列列的合併『test1』、『test2』,預設以[Tab]區隔
02. paste -d~ test1 test2:參數『-d』接分隔字元
03. paste -s test1 test2:序列合併成行
04. paste test1 test2 -:參數『-』為標準輸入『STDIN』中讀一次數據,以『空格』做域分隔
21. pgrep:依照PID瀏覽程序
a. pgrep ssh:列出與『ssh』這個字串有關的『PID』
註:此指令結合『ps』與『grep』,可以搜尋含有特定字串的程序
22. pidof:尋找一個再執行中程式的PID
a. pidof sshd:顯示『sshd』這個程序所用的『PID』
23. ping:傳送ICMP echo的封包來檢定連線狀態
a. ping -c 10 168.95.1.1:對168.95.1.1丟出10次的ICMP echo封包
b. ping 168.95.1.1 -r:不透過Gateway,直接傳送封包。此指令只能使用在同區域網路內,
否則會出現『Network is unreachable』
24. pkill:發訊號給程序,通過名稱和其他屬性
註:用法和『killall』差不多
a. pkill -kill -t TTY:強制踢掉使用者,『TTY』可先使用『w』看登入者資訊得知,需有『root』權限
25. ps:顯示目前程序的狀態
a. ps:顯示目前使用者所執行的程序
b. ps aux:顯示系統所有程序資料
c. ps -ef:顯示所有程序的完整列表
26. pstree:以樹狀表示目前程序的狀態
a. pstree:以樹狀顯示目前程序執行狀況
b. pstree -A:列出目前系統所有程序相關性
c. pstree -Aup:列出目前系統所有程序相關性,並顯示users和PID
27. pwd:顯示目前所在的目錄
<.....不定時更新、修改、增加中......>