【筆記整理】CentOS常用指令整理( A ~ D )

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

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

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

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

 

1. adduser:新增系統上的帳號

 a. adduser -g 20 -G 1001 -m ghoseliang:建立帳號『ghoseliang』,並指定主群組ID『20』及次群組ID『1001

     註:群組必須存在;次群組可指定多組

 b. adduser -D:顯示建立帳號時的預設值

 

2. arch:列出處理器的類型,等同執行『uname -m

 

3. arp:網路硬體位址對應

 a. arp -a:列出『arp』的訊息

 

4. awk:文字資料的進階處理

 a. awk -F"字元":以指定的『字元』作為分隔欄位

 b. awk -F":" '{ print $1 $6 }' /etc/passwd:將『/etc/passwd』的內容以冒號『:』為分隔,取出第一位及第六位

 c. awk -F":" '{ print "user:" $1 "\t home=" $6 }' /etc/passwd:將『/etc/passwd』當中的內容以冒號『:』為分隔,

     取出第一位及第六位。在第一位前面加上『"user:"』,第一位與第六位之間以『Tab』鍵區隔,

     並在第六位前加上『home=』。

 

5. badblocks:檢查磁碟中毀損的區塊

 01. badblocks -b blocksize:指定硬碟區塊大小,預設為『4K』。

 02. badblocks -c blocks_at_once:每個區塊檢查次數,預設為『16』次。

 03. badblocks -f:強制在一個已經掛載的設備上進行讀寫或非破壞性的寫測試操作(可能會有毀損的風險)

 04. badblocks -w:對每個區塊都寫入,然後再讀取訊息。(可能會有毀損的風險)

 05. badblocks -s:將檢測的壞磁區顯示在螢幕上。

 06. badblocks -i input_file:略過不檢測『input_file』中已知的『badblocks』,這些已知的『badblocks』同樣

     不會顯示在檢測結果中。

 07. badblocks -o output_file:將檢測出的『badblocks』寫入『output_file』。

 08. badblocks -v /dev/sdb1:檢查毀損的區塊,並顯示詳細的訊息。

 

6. cat:列出檔案內容

 a. cat -b /etc/hosts.allow:顯示『hosts.allow』的內容,並在非空白列上標示編號

 b. cat /etc/hosts.allow /etc/hosts.deny > /etc/hosts.abc:結合『hosts.allow』與『hosts.deny』的內容,

     並輸出到『hosts.abc』。

 

7. chage:改變密碼的有效期

     用法:chage [ -ldEImMW ] username

 01. chage ghoseliang:簡單的設定方式,不需輸入參數

 02. chage -l ghoseliang:顯示使用者的密碼設定

 03. chage -d 0 ghoseliang:指定上次更改密碼的天數,設定為『0』,時間會更改為『1970/1/1』,

     因此會變成過期狀態,所以系統會要求使用者登入後需立即變更密碼。

 04. chage -E 2012-11-14 ghoseliang:設定使用者密碼於哪時到期,即修改『/etc/shadow』第八欄位

 05. chage -I 5 ghoseliang:限定密碼過期多少天後將該使用者帳號停用(鎖定),即『/etc/shadow』第七欄位

 06. chage -m 30 ghoseliang:設定使用者需要更改密碼的最短天數,即『/etc/shadow』第四欄位

     註:設為『0』表示永不過期

 07. chage -M 45 ghoseliang:設定使用者密碼最長的有效天數,即『/etc/shadow』的第五欄位

 08. chage -W 3 ghoseliang:設定密碼過期前要警告使用者的天數,即『/etc/shadow』第六欄位

     註:有關『/etc/passwd』、『/etc/group』、『/etc/shadow』請參考

     『http://www.dotblogs.com.tw/ghoseliang/archive/2013/03/13/96543.aspx』最下方備註的( 1 - 3 )

 

8. chattr:設定檔案隱藏屬性

     用法:chattr [-RVf ] [ +-=ASacdijstu ] [ -v version ] 檔案或目錄

 01. chattr +參數 檔案或目錄:在原有參數設定基礎上,增加參數 

 02. chattr -參數 檔案或目錄:在原有參數設定基礎上,移除參數

 03. chattr =參數 檔案或目錄:更新為指定的參數。

     註:不適用在『ext4』文件系統,會出現錯誤訊息『chattr: Clearing extent flag not supported on filename

 04. chattr A 檔案或目錄:檔案或目錄的『access time(atime)』不可被修改,可避免I/O較慢的機器過度存取磁碟

 05. chattr S 檔案或目錄:磁碟I/O同步,與sync類似。一般檔案是非同步寫入磁碟,使用此屬性,當進行任何檔案的

     修改,更動會『同步』寫入磁碟中。

 06. chattr a 檔案或目錄:即『append』,檔案或目錄只能增加資料,而不能刪除也不能修改資料,多用於日誌檔案

     註:只有『root』才能設定

 07. chattr c 檔案或目錄:即『compress』,設定後會自動將檔案壓縮,讀取時會自動解壓縮,但在儲存時,將會先

     進行壓縮後再儲存。

 08. chattr d 檔案或目錄:即『no dump』,設定檔案不會被dump備份。

 09. chattr i 檔案或目錄:讓檔案不能被刪除、改名、設定連結,也無法寫入或新增資料

     註:只有『superuser(root)』或具有『CAP_LINUX_IMMUTABLE』處理能力的程序才能設定

 10. chattr j 檔案或目錄:即『journal』,設定此參數使用當通過參數『mount』:『data=ordered』或者

     『data=writeback』掛載的檔案系統,檔案在寫入時會先被記錄在『journal』中。如果『filesystem

     被設定參數為『 data=journal』,則該參數自動失效。

 11. chattr s 檔案或目錄:該檔案被刪除後,將完全移除出磁碟空間。所以若誤刪,將無法救回。

 12. chattr u 檔案或目錄:與『s』相反。刪除後,資料內容仍存於磁碟中,可用於『undeletion』。

     註1:chattr』修改屬性能夠提供系統的安全性,但並不適合所有目錄,如:『/』、『/dev』、『/tmp』、

     『/var』。

     註2:與指令『lsattr』配合,為顯示檔案隱藏屬性。

 

9. chkconfig:設定系統在不同層級的服務

    Runlevel:分為0、1、2、3、4、5、6;『0』表示關機;『6』表示重新開機;『1』表示單人模式;

    『2』表示多人介面,但不包含網路檔案系統功能;『3』表示含完整網路功能的文字介面;『4』為保留;

    『5』為圖形化介面且含所有網路功能。

 a. chkconfig --list ntpd:列出『NTP』在不同『runlevel』之下的狀態

 b. chkconfig --level 35 ntpd on:設定『NTP』在『runlevel 3、5』時啟動

 

10. chmod:改變檔案或目錄的權限

 a. chmod u=rwx,g=rx,o=x test (or chmod 751 test):設定為擁有者可讀可寫可執行;同群組者可讀可執行;

    其他人可執行

 b. chmod a=rw test (or chmod 666 test):設定為所有人都可讀可寫不可執行

 c. chmod 4755 test:給于『SUID』的權限

 

11. cp:複製檔案或目錄

 01. cp -r /tmp ./ &:將『tmp』目錄複製到目前的目錄下(背景執行)

     註:背景執行可在指令後端加上『&』或按下『Ctrl』+『z』。要將背景執行的程式叫出則輸入『fg』,

     若背景無程式在執行,系統會告知無執行中程式(no such job)。

 02. cp -p /etc/sysctl.conf ./:保留原檔案的所有屬性

 03. cp -u test test1:僅複製來源檔『test』較新的檔案,若『test』的時間標記比『test2』早,則不會複製

 04. cp -b /etc/hosts ./test:若原檔案『test』已存在,則會變成備份檔『test~

 

12. cut:擷取命令,用來對字串進行切割的處理

     用法1:cut -d'分隔字元' -f 欄位

     用法2:cut -c 字元區間

 01. ifconfig | grep Bc | cut -f2 -d: | cut -f1 -d" ":使用參數『-f』、『-d』得到所需的訊息

 02. ifconfig | grep Bc | cut -c 11-:截除不必要的字元。主要作為排版整齊的訊息

 

13. date:顯示和設定系統的日期和時間

 01. date:顯示目前的時間

 02. date -s 16:00:設定時間為16:00。只有『root』權限才可設定。

 03. date -s 05/13/2013:設定日期

 04. date -s 051316002013:設定時間與日期,格式為『MMDDhhmmYYYY

 05. date +%a" "%d" "%b" "%y:顯示星期幾『%a』、日期『%d』、月份名稱『%b』、年份『%y

 

14. dd:轉換並輸出資料

 a. dd if=test.txt of=/dev/fd0:將『test.txt』寫到磁片中

 b. dd if=boot.img of=/dev/fd0 bs=1440k:製作開機片

 c. dd if=in.txt of=out.txt conv=ucase:將『in.txt』中的英文字從小寫轉換成大寫,輸出到『out.txt

 

15. df:顯示檔案系統的使用狀況

 a. df -aT :顯示所有檔案系統,包含大小為零的檔案系統,及顯示檔案系統類型

 b. df -t ext4:顯示指定的檔案系統(ex.ext4)所有分割區使用狀況

 c. df -ah:人性化顯示可讀檔案系統的使用大小

 d. df -ahlT:顯示本機(本地端)檔案系統的使用狀況及檔案系統類型

 e. df -h /dev/sda1:以易讀取方式顯示指定的檔案系統的硬碟使用狀況

 f. df -m:以MBytes來顯示目前的檔案系統的狀況

 

16. diff:比較並顯示檔案差異的部份

     用法:diff [ -acbBiy ] From-file To-file

     註:From-file』與『To-file』可以以『-』取代,『-』代表『標準輸入(STDIN)

 01. diff test1 test2:比對檔案『test1』和『test2』的不同

 02. diff -a test1 test2:將比對的檔案都當做『文字檔案』來處理。

 03. diff -b test1 test3:不比對『空白字元

 04. diff -B test3 test1:不比對『空白行

 

 05. diff -bB test3 test1:不比對『空白字元』與『空白行

     註:沒有任何輸出,表示檔案相同

 06. diff -c test1 test2:使用綱要輸出格式,列出前後一行的異同

 07. diff -i test1 test2:忽略大小寫

 08. diff -y test1 test2:並列顯示

 

17. dig:顯示網域名稱的資訊

 a. dig google.com.tw:查詢網域名稱

 b. dig gmail.com -t mx:查詢GMail的MX

 

18. dmesg:顯示或修改核心ring buffer的訊息

 a. dmesg:顯示ring buffer的訊息

 b. dmesg -c:清除ring buffer的內容

 

19. du:查詢檔案或目錄的硬碟使用空間

     用法:du [選項] 檔案或目錄

 01. du -s(or --summarize):顯示目前目錄的大小

 02. du -h(or --human-readable):列出人類易讀格式

 03. du -sh:顯示目前目錄的大小,也可以指定目錄,ex.『du -sh /etc』。

 04. du -c(or --total):顯示個別目錄或檔案的大小,同時也顯示所有目錄或檔案的總和

 05. du -ch:顯示目前目錄的及子目錄的大小,可指定目錄

 06. du -h test1.txt test2.txt:顯示多個檔案的大小『test1.txt』、『test2.txt

 07. du -m(or --megabytes):顯示目錄內所有檔案使用掉空間的狀況,以『MB』為單位顯示

 08. du -s * | sort -rn | head -5:列出目錄下前五個最大的檔案或目錄

 

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