linux期末複習整理(csu軟件)

CH01:

  1. date:date 可以用來顯示或設定系統的日期與時間。
  2. cal:cal [參數][月份][年份] 用於查看日曆等時間信息,如只有一個參數,則表示年份(1-9999),如有兩個參數,則表示月份和年份
  3. free:free [參數] 命令顯示系統使用和空閒的內存情況,包括物理內存、交互區內存(swap)和內核緩衝區內存。共享內存將被忽略 -m  以MB爲單位顯示內存使用情況。 -g 以GB爲單位顯示內存使用情況。
  4. df : df [選項] [文件] 顯示指定磁盤文件的可用空間。如果沒有文件名被指定,則所有當前被掛載的文件系統的可用空間將被顯示。默認情況下,磁盤空間將以 1KB 爲單位進行顯示,除非環境變量 POSIXLY_CORRECT 被指定,那樣將以512字節爲單位進行顯示
  5. ps: ps[參數] 用來顯示當前進程的狀態 顯示所有進程信息 ps -A 顯示指定用戶信息 ps -u root
    linux上進程有5種狀態:
  6. 運行(正在運行或在運行隊列中等待)
  7. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
  8. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷髮生)
  9. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)
  10. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)
    ps工具標識進程的5種狀態碼:
    D 不可中斷 uninterruptible sleep (usually IO)
    R 運行 runnable (on run queue)
    S 中斷 sleeping
    T 停止 traced or stopped
    Z 僵死 a defunct (”zombie”) process
  11. tab: 自動補全
  12. clear:清除當前屏幕終端上的任何信息。
  13. exit:exit(參數) exit命令同於退出shell,並返回給定值。在shell腳本中可以終止當前腳本執行。執行exit可使shell以指定的狀態值退出。若不設置狀態值參數,則shell以預設值退出。狀態值0代表執行成功,其他值代表執行失敗。

CH02:

  1. ls:​​

  2. file:確定文件的具體類型

  3. chmod:用於改變文件或目錄的訪問權限,用它控制文件或目錄的訪問權限。
    u :目錄或者文件的當前的用戶 g :目錄或者文件的當前的羣組 o :除了目錄或者文件的當前用戶或羣組之外的用戶或者羣組 a :所有的用戶及羣組

  4. cd:​​

  5. pwd:查看”當前工作目錄“的完整路徑 pwd -P 顯示出實際路徑,而非使用連接(link)路徑。

  6. mkdir:mkdir 命令用來創建指定的名稱的目錄,要求創建目錄的用戶在當前目錄中具有寫®權限,並且指定的目錄名不能是當前目錄中已有的目錄。 -p, --parents (遞歸撞見) 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄;

  7. rmdir:該命令從一個目錄中刪除一個或多個子目錄(空目錄)項,刪除某目錄時也必須具有對父目錄的寫權限 -p遞歸刪除空目錄

  8. cp :(-s-l區別) cp [選項]… [-T] 源 目的 或:cp [選項]… 源… 目錄 將源文件複製至目標文件,或將多個源文件複製至目標目錄。 -s 參數,建立的是一個『快捷方式』

  9. rm:刪除一個目錄中的一個或多個文件或目錄,如果沒有使用- r選項,則rm不會刪除目錄。
    -f, --force 忽略不存在的文件,從不給出提示。
    -i, --interactive 進行交互式刪除
    -r, -R, --recursive 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
    -v, --verbose 詳細顯示進行的步驟

  10. mv:mv [選項] 源文件或目錄 目標文件或目錄 可以用來移動文件或者將文件改名

  11. cat: 主要有三大功能:
    1.一次顯示整個文件:cat filename filename2…多個文件連接起來顯示。
    2.從鍵盤創建一個文件:cat > filename 只能創建新文件,不能編輯已有文件.
    3.將幾個文件合併爲一個文件:cat file1 file2 > file

  12. tac:用法:tac [選項]… [文件]…
    將每個指定文件按行倒置並寫到標準輸出。如果不指定文件,或文件爲"-",則從標準輸入讀取數據。

  13. nl:nl 可以將輸出的文件內容自動的加上行號!其默認的結果 (文件中的空白行,nl 不會加上行號 )與 cat -n 有點不太一樣, nl 可以將行號做比較多的顯示設計,包括位數與是否自動補齊 0 等等的功能。

  14. more:more會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能 。more命令從前向後讀取文件,因此在啓動時就加載整個文件。

  15. less:less 的用法比起 more 更加的有彈性。在 more 的時候,我們並沒有辦法向前面翻, 只能往後面看,但若使用了 less 時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往後翻看文件,更容易用來查看一個文件的內容!除此之外,在 less 裏頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜。

  16. head: 用來顯示檔案的開頭至標準輸出中,默認head命令打印其相應文件的開頭10行 head -n 5 log2014.log

  17. tail:用於顯示指定文件末尾內容,不指定文件時,作爲輸入信息進行處理。常用查看日誌文件.tail -f filename會把filename裏最尾部的內容顯示在屏幕上,並且不斷刷新 -n 指定最後幾行。

  18. od:​​

  19. touch:touch [選項]… 文件… 用來修改文件時間戳,或者新建一個不存在的文件。
    -a 或–time=atime或–time=access或–time=use  只更改存取時間。
    -m 或–time=mtime或–time=modify  只更改變動時間。

  20. chgrp:chgrp [選項] [組] [文件] chgrp命令可採用羣組名稱或羣組識別碼的方式改變文件或目錄的所屬羣組。使用權限是超級用戶。 chgrp -v bin log2012.log

  21. chown: chown [選項]… [所有者][:[組]] 文件… 通過chown改變文件的擁有者和羣組。在更改文件的所有者或所屬羣組時,可以使用用戶名稱和用戶識別碼設置。普通用戶不能將自己的文件改變成其他的擁有者。其操作權限一般爲管理員。 chown mail:mail log2012.log
    CH03:

  22. ln: ln [參數][源文件或目錄][目標文件或目錄] 所謂的鏈接(link),我們可以將其視爲檔案的別名,而鏈接又可分爲兩種 : 硬鏈接(hard link)與軟鏈接(symbolic link),硬鏈接的意思是一個檔案可以有多個名稱,而軟鏈接的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置。硬鏈接是存在同一個文件系統中,而軟鏈接卻可以跨越不同的文件系統。 ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化;
    ln的鏈接又分軟鏈接和硬鏈接兩種,軟鏈接就是ln –s 源文件 目標文件,它只會在你選定的位置上生成一個文件的鏡像,不會佔用磁盤空間,硬鏈接 ln 源文件 目標文件,沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。(ppt練習題)

  23. fdisk: 用於創建和維護磁盤分區表 選擇要操作的磁盤:fdisk /dev/sdb

  24. mke2fs:被用於創建磁盤分區上的“etc2/etc3”文件系統 創建指定的ext2文件系統:mke2fs -q /dev/hda1

  25. du: 是對文件和目錄磁盤使用的空間的查看 du log2012.log

  26. mount:用於加載文件系統到指定的加載點 第一個爲文件系統對應的設備名,第二個是掛載點文件目錄名 mount -t auto /dev/cdrom /mnt/cdrom

  27. umount:利用設備名或掛載點都能umount文件系統,不過最好還是通過掛載點卸載,以免使用綁定掛載(一個設備,多個掛載點)時產生混亂。
    CH04:

  28. which:which命令的作用是,在PATH變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。

  29. whereis:只能用於程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。whereis [-bmsu] [BMS 目錄名 -f ] 文件名
    備註:whereis和下面即將介紹的locate時,會從數據庫中查找數據,(數據據庫由updatedb程序來更新,updatedb是由cron daemon週期性建立的)而不是像find命令那樣,通過遍歷硬盤來查找,效率自然會很高。 但是該數據庫文件並不是實時更新,默認情況下時一星期更新一次,因此,我們在用whereis和locate 查找文件時,有時會找到已經被刪除的數據,或者剛剛建立文件,卻無法查找到,原因就是因爲數據庫文件沒有被更新。

  30. locate: Locate [選擇參數] [樣式]

  31. find:
    1、時間option:​​
    2、用戶或組option:​​
    3、權限、文件名和其他屬性option:​​

4、搜索完成後附加操作:-exec 參數後面跟的是command命令,它的終止是以;爲結束標誌的,所以這句命令後面的分號是不可缺少的 ,考慮到各個系統中分號會有不同的意義,所以前面加反斜槓。 {} 花括號代表前面find查找出來的文件名
​​
5. gzip: gzip[參數][文件或者目錄] 文件經它壓縮過後,其名稱後面會多出".gz"的擴展名。
-d或–decompress或----uncompress  解開壓縮文件。
-f或–force  強行壓縮文件。不理會文件名稱或硬連接是否存在以及該文件是否爲符號連接。
6. tar:打包和壓縮。打包是指將一大堆文件或目錄變成一個總的文件;壓縮則是將一個大的文件通過一些壓縮算法變成一個小文件。爲什麼要區分這兩個概念呢?這源於Linux中很多壓縮程序只能針對一個文件進行壓縮,這樣當你想要壓縮一大堆文件時,你得先將這一大堆文件先打成一個包(tar命令),然後再用壓縮程序進行壓縮 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName
7. type:用來顯示指定命令的類型,判斷給出的指令是內部指令還是外部指令
alias:別名。
keyword:關鍵字,Shell保留字。
function:函數,Shell函數。
builtin:內建命令,Shell內建命令。
file:文件,磁盤文件,外部命令。
unfound:沒有找到。

  1. alias:爲一套操作取別名 alias 新的命令=‘原命令 -選項/參數’ 例如:alias l=‘ls -lsh’
  2. unalias :取消別名 例 unalias l
  3. echo:書上、ppt上,參數拓展,函數拓展、變量拓展、“”和’‘的區別。
  4. env:用於顯示系統中已存在的環境變量
  5. set: 主要是顯示系統中已經存在的shell變量,以及設置shell變量的新變量值。使用set更改shell特性時,符號"+“和”-"的作用分別是打開和關閉指定的模式。set命令不能夠定義新的shell變量。如果要定義新的變量,可以使用declare命令以 變量=值的格式進行定義 set -a mylove #設置爲環境變量
  6. export:設置或顯示環境變量。(比如我們要用一個命令,但這個命令的執行文件不在當前目錄,這樣我們每次用的時候必須指定執行文件的目錄,麻煩,在代碼中先執行export,這個相當於告訴程序,執行某某東西時,需要的文件或什麼東東在這些目錄裏)。在shell中執行程序時,shell會提供一組環境變量。 export可新增,修改或刪除環境變量,供後續執行的程序使用。
  7. read:從鍵盤讀取變量的值,通常用在shell腳本中與用戶進行交互的場合。該命令可以一次讀取多個變量的值,變量和輸入的值都需要使用空格隔開。在read命令後面,如果沒有指定變量名,讀取的數據將被自動賦值給特定的變量REPLY read -p “text” variableName
  8. declare:用於聲明和顯示已存在的shell變量。當不提供變量名參數時顯示所有shell變量。declare命令若不帶任何參數選項,則會顯示所有shell變量及其值。declare的功能與typeset命令的功能是相同的。
  9. typeset:同上​​
  10. test:是shell環境中測試條件表達式的實用工具
    文件:
    判斷表達式:if test #表達式爲真if test ! #表達式爲假test 表達式1 –a 表達式2 #兩個表達式都爲真test 表達式1 –o 表達式2 #兩個表達式有一個爲真test 表達式1 ! 表達式2 #條件求反判斷字符串:test –n 字符串 #字符串的長度非零test –z 字符串 #字符串的長度是否爲零test 字符串1=字符串2 #字符串是否相等,若相等返回truetest 字符串1!=字符串2 #字符串是否不等,若不等反悔false判斷整數:test 整數1 -eq 整數2 #整數相等test 整數1 -ge 整數2 #整數1大於等於整數2test 整數1 -gt 整數2 #整數1大於整數2test 整數1 -le 整數2 #整數1小於等於整數2test 整數1 -lt 整數2 #整數1小於整數2test 整數1 -ne 整數2 #整數1不等於整數2判斷文件:test File1 –ef File2 兩個文件是否爲同一個文件,可用於硬連接。主要判斷兩個文件是否指向同一個inode。test File1 –nt File2 判斷文件1是否比文件2新test File1 –ot File2 判斷文件1比是否文件2舊test –b file #文件是否塊設備文件test –c File #文件並且是字符設備文件test –d File #文件並且是目錄test –e File #文件是否存在 (常用)test –f File #文件是否爲正規文件 (常用)test –g File #文件是否是設置了組idtest –G File #文件屬於的有效組IDtest –h File #文件是否是一個符號鏈接(同-L)test –k File #文件是否設置了Sticky bit位test –b File #文件存在並且是塊設備文件test –L File #文件是否是一個符號鏈接(同-h)test –o File #文件的屬於有效用戶IDtest –p File #文件是一個命名管道test –r File #文件是否可讀test –s File #文件是否是非空白文件test –t FD #文件描述符是在一個終端打開的test –u File #文件存在並且設置了它的set-user-id位test –w File #文件是否存在並可寫test –x File #文件屬否存在並可執行
  11. <>\2> 重定向:書上
    -標準輸入(stdin):代碼爲0,符號爲<或<<;(有兩個連在一起,意思是不覆蓋,接着之前的
    -標準輸出(stdout):代碼爲1,符號爲>或>>;
    -標準錯誤(stderr):代碼爲2,符號爲2>或2>>;

‣2>:以覆蓋的方式將錯誤信息輸出到指定文件或設備上
‣2>>:以追加的方式將錯誤信息輸出到指定文件或設備上
/dev/null:將錯誤信息忽略,及輸出到黑洞
cat (讀取一個或多個文件(如果沒有給參數,也就是沒有文件名,cat從標準輸入中讀取內容也就是從鍵盤讀取),並把他們複製到標準輸出文件中)> demofile
cat > demofile < /.bashrc 這句話的意思就是:把./bashrc文件的內容重定向到標準輸入,然後cat讀取標準輸入,結果重定向標準輸出到demofile。

CH05:

  1. | 管道:這個符號可以將一個命令的標準輸出管道爲另外一個命令的標準輸入
    管道命令只能處理前一個命令的標準輸出,而不能處理標準錯誤;
    管道命令右邊命令必須能夠接收標準輸入。
  2. cut:cut是一個選取命令,就是將一段數據經過分析,取出我們想要的。一般來說,選取信息通常是針對“行”來進行分析的。 cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file] cut 命令從文件的每一行剪切字節、字符和字段並將這些字節、字符和字段寫至標準輸出。如果不指定 File 參數,cut 命令將讀取標準輸入。必須指定 -b、-c 或 -f 標誌之一。​​
  3. grep:grep的工作方式是這樣的,它在一個或多個文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板後的所有字符串被看作文件名。搜索的結果被送到標準輸出,不影響原文件內容。
    grep可用於shell腳本,因爲grep通過返回一個狀態值來說明搜索的狀態,如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進行一些自動化的文本處理工作。(鳥哥的私房菜例子)​​
    正則表達:【】
    ^ #錨定行的開始 如:’^grep’匹配所有以grep開頭的行。
    $ #錨定行的結束 如:'grep$'匹配所有以grep結尾的行。
    . #匹配一個非換行符的字符 如:'gr.p’匹配gr後接一個任意字符,然後是p。
  • #匹配零個或多個先前字符 如:‘grep’匹配所有一個或多個空格後緊跟grep的行。
    .
    #一起用代表任意字符。
    [] #匹配一個指定範圍內的字符,如’[Gg]rep’匹配Grep和grep。
    [^] #匹配一個不在指定範圍內的字符,如:’[^A-FH-Z]rep’匹配不包含A-F和T-Z的一個字母開頭,緊跟rep的行。
    [:alnum:] #文字數字字符
    [:alpha:] #文字字符 …還有很多
  1. sort:​​

  2. wc:​​

  3. uniq:​​//可以多重管道 |

  4. if語句:統一看ppt

  5. case語句:

  6. 循環語句:

  7. for語句:

  8. funtion:

  9. sh【-cinx】-n:進行shell腳本的語法檢查。 -x:實現shell腳本逐條語句的跟蹤。

CH06

  1. groupadd: 創建一個新的工作組,新工作組的信息將被添加到系統文件中。
    -g:指定新建工作組的id;
    -r:創建系統工作組,系統工作組的組ID小於500;

  2. groups:輸出指定用戶所在組的組成員 groups linux 顯示linux所在的組的組成員

  3. newgroup:切換用戶所在用戶組命令 如果一個用戶同時隸屬於兩個或兩個以上分組,需要切換到其它用戶組來執行一些操作,就用到了newgrp命令切換當前登陸所在組。

  4. useradd:​​

  5. passwd:​​

  6. chage:用於密碼時效管理。它可以修改賬號和密碼的有效期
    -m 密碼可更改的最小天數。爲零時代表任何時候都可以更改密碼。  -M 密碼保持有效的最大天數。  -W 用戶密碼到期前,提前收到警告信息的天數。  -E 帳號到期的日期。過了這天,此帳號將不可用。  -d 上一次更改的日期  -I 停滯時期。如果一個密碼已過期這些天,那麼此帳號將不可用。  -l 例出當前的設置。由非特權用戶來確定他們的密碼或帳號何時過期。

  7. id: 顯示真實有效的用戶ID(UID)和組ID(GID)。UID 是對一個用戶的單一身份標識。組ID(GID)則對應多個UID。

  8. finger:用於查找並顯示用戶信息。包括本地與遠端主機的用戶皆可,帳號名稱沒有大小寫的差別。單獨執行finger指令,它會顯示本地主機現在所有的用戶的登陸信息,包括帳號名稱,真實姓名,登入終端機,閒置時間,登入時間以及地址和電話

  9. usermod: 修改用戶的基本信息。usermod命令不允許你改變正在線上的使用者帳號名稱。當usermod命令用來改變user id,必須確認這名user沒在電腦上執行任何程序。
    例如:
    usermod -l newuser1 newuser//將newuser改名爲newuser1usermod -G staff newuser2//將newuser2加入staff組

  10. userdel:用於刪除給定的用戶,以及與用戶相關的文件。若不加選項,則僅刪除用戶帳號,而不刪除相關文件。
    -f:強制刪除用戶,即使用戶當前已登錄; -r:刪除用戶的同時,刪除與用戶相關的所有文件。

  11. groupmod: 更改羣組識別碼或名稱。 groupmod(選項)(參數原組名 )
    -g<羣組識別碼>:設置欲使用的羣組識別碼;-o:重複使用羣組識別碼;-n<新羣組名稱>:設置欲使用的羣組名稱。

  12. groupdel: 刪除指定的工作組,本命令要修改的系統文件包括/ect/group和/ect/gshadow。若該羣組中仍包括某些用戶,則必須先刪除這些用戶後,方能刪除羣組。
    groupadd damon //創建damon工作組 groupdel damon //刪除damon工作組

  13. su:切換當前用戶身份到其他用戶身份,變更時須輸入所要變更的用戶帳號與密碼
    -c<指令>或–command=<指令>:執行完指定的指令後,即恢復原來的身份;

  14. sudo:以其他身份來執行命令,預設的身份爲root。在/etc/sudoers中設置了可執行sudo指令的用戶。若其未經授權的用戶企圖使用sudo,則會發出警告的郵件給管理員。用戶使用sudo時,必須先輸入密碼,之後有5分鐘的有效期限,超過期限則必須重新輸入密碼。

  15. w:顯示目前登入系統的用戶信息。 w命令的顯示項目按以下順序排列:當前時間,系統啓動到現在的時間,登錄用戶的數目,系統在最 近1秒、5秒和15秒的平均負載。然後是每個用戶的各項數據,項目顯示順序如下:登錄帳號、終端名稱、遠 程主機名、登錄時間、空閒時間、JCPU、PCPU、當前正在運行進程的命令行。

  16. who:顯示系統中有哪些使用者正在上面,顯示的資料包含了使用者 ID、使用的終端機、從哪邊連上來的、上線時間、呆滯時間、CPU 使用量、動作等等。

  17. last:顯示用戶最近登錄信息。單獨執行last命令,它會讀取/var/log/wtmp的文件,並把該給文件的內容記錄的登入系統的用戶名單全部顯示出來。

  18. lastlog: 顯示系統中所有用戶最近一次登錄信息 astlog文件在每次有用戶登錄時被查詢。可以使用lastlog命令檢查某特定用戶上次登錄的時間,並格式化輸出上次登錄日誌/var/log/lastlog 的內容。它根據UID排序顯示登錄名、端口號(tty)和上次登錄時間。如果一個用戶從未登錄過,lastlog顯示 never logged注意需要以root身份運行該命令。-u<用戶名>:顯示指定用戶的最近登錄信息

  19. setfacl:(權限加強)命令行裏設置ACL(訪問控制列表)。在命令行裏,一系列的命令跟隨以一系列的文件名

  20. getfacl: getfacl test #查看acl權限列表

  21. quotacheck:通過掃描指定的文件系統,獲取磁盤的使用情況,創建、檢查和修復磁盤配額(quota)文件。執行quotacheck指令,掃描掛入系統的分區,並在各分區的文件系統根目錄下產生quota.user和quota.group文件,設置用戶和羣組的磁盤空間限制。
    例子:將所有的在/etc/mtab內,含有quota支持的partition進行掃描: quotacheck -avug

  22. quotaon:用於激活Linux內核中指定文件系統的磁盤配額功能。執行quotaon指令可開啓用戶和羣組的才磅秒年空間限制,各分區的文件系統根目錄必須有quota.user和quota.group配置文件。
    quotaon(選項)(參數)

  23. quotaoff:關閉Linux內核中指定文件系統的磁盤配額功能。

  24. edquota:用於編輯指定用戶或工作組磁盤配額。edquota預設會使用vi來編輯使用者或羣組的quota設置

CH07:

  1. systemctl status atd
    systemctl restart atd
    systemctl enable ~

  2. at:一次性定時計劃任務 at[參數][時間] 輸入後會進入at>命令行,

  3. atq:顯示系統中待執行的任務列表,也就是列出當前用戶的at任務列表

  4. atrm:用於刪除待執行任務隊列中的指定任務。

  5. crontab: 週期性的執行某種任務或等待處理某些事件的一個守護進程 任務調度分爲兩類,系統任務調度和用戶任務調度
    系統週期性所要執行的工作,比如寫緩存數據到硬盤、日誌清理等。在/etc目錄下有一個crontab文件,這個就是系統任務調度的配置文件
    用戶任務調度:用戶定期要執行的工作,比如用戶數據備份、定時郵件提醒等。用戶可以使用 crontab 工具來定製自己的計劃任務。所有用戶定義的crontab 文件都被保存在 /var/spool/cron目錄中。其文件名與用戶名一致。
    /etc/cron.deny 該文件中所列用戶不允許使用crontab命令
    /etc/cron.allow 該文件中所列用戶允許使用crontab命令
    /var/spool/cron/ 所有用戶crontab文件存放的目錄,以用戶名命名

  6. batch:用於在指定時間,當系統不繁忙時執行任務,用法與at相似

  7. anacron: anacron 用於以天爲單位的頻率運行命令。它的工作與 cron 稍有不同,它假設機器不會一直開機
    cron: anacron:
    它是守護進程它不是守護進程適合服務器適合桌面/筆記本電腦可以讓你以分鐘級運行計劃任務只能讓你以天爲基礎來運行計劃任務關機時不會執行計劃任務如果計劃任務到期,機器是關機的,那麼它會在機器下次開機後執行計劃任務普通用戶和 root 用戶都可以使用只有 root 用戶可以使用(使用特定的配置啓動普通任務)

  8. ps:見ch01

  9. top:top是一個動態顯示過程,即可以通過用戶按鍵來不斷刷新當前狀態.如果在前臺執行該命令,它將獨佔前臺,直到用戶終止該程序爲止.比較準確的說,top命令提供了實時的對系統處理器的狀態監視.它將顯示系統中CPU最“敏感”的任務列表.該命令可以按CPU使用.內存使用和執行時間對任務進行排序

  10. kill:發送指定的信號到相應進程。不指定型號將發送SIGTERM(15)終止指定進程。如果任無法終止該程序可用“-KILL” 參數,其發送的信號爲SIGKILL(9) ,將強制結束進程,使用ps命令或者jobs 命令可以查看進程號。root用戶將影響用戶的進程,非root用戶只能影響自己的進程。
    kill –9 3268 //-9 意思是徹底殺死進程。

  11. uname:用於打印當前系統相關信息(內核版本號、硬件架構、主機名稱和操作系統類型等)
    uname -a//查看全部信息

  12. uptime:打印系統總共運行了多長時間和系統的平均負載。uptime命令可以顯示的信息顯示依次爲:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鐘、5分鐘和15分鐘內的平均負載。

  13. netstat:顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。

  14. dmesg:用於檢查和控制內核的環形緩衝區。kernel會將開機信息存儲在ring buffer中。您若是開機時來不及查看信息,可利用dmesg來查看。開機信息保存在/var/log/dmesg文件中

  15. vmstat:用來顯示虛擬內存的信息
    Procs(進程):r: 運行隊列中進程數量b: 等待IO的進程數量
    Memory(內存):
    swpd: 使用虛擬內存大小
    free: 可用內存大小
    buff: 用作緩衝的內存大小
    cache: 用作緩存的內存大小
    Swap:si: 每秒從交換區寫到內存的大小 so: 每秒寫入交換區的內存大小
    IO:(現在的Linux版本塊的大小爲1024bytes)bi: 每秒讀取的塊數 bo: 每秒寫入的塊數
    系統:in: 每秒中斷數,包括時鐘中斷。 cs: 每秒上下文切換數。
    CPU(以百分比表示):
    us: 用戶進程執行時間(user time)
    sy: 系統進程執行時間(system time)
    id: 空閒時間(包括IO等待時間),中央處理器的空閒時間 。以百分比表示。
    wa: 等待IO時間

  16. fuser:用於報告進程使用的文件和網絡套接字。fuser命令列出了本地進程的進程號,那些本地進程使用file,參數指定的本地或遠程文件。對於阻塞特別設備,此命令列出了使用該設備上任何文件的進程。
    例子:fuser /etc/passwd #列出使用/etc/passwd 文件的本地進程的進程號
    -u:在每個進程後顯示所屬的用戶名。-k:殺死訪問指定文件的所有進程;

  17. lsof:用於查看你進程打開的文件,打開文件的進程,進程打開的端口(TCP、UDP)。找回/恢復刪除的文件。是十分方便的系統監視工具,因爲lsof命令需要訪問核心內存和各種文件,所以需要root用戶執行。

  18. +&:後臺啓動,可以在啓動參數的時候加一個’&'實現這個目的。 (一個命令的最後)

  19. fg:fg:將後臺中的命令調至前臺繼續運行,如果後臺中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後臺正在執行的命令的序號(不是pid)

  20. bg: 將一個在後臺暫停的命令,變成繼續執行,如果後臺中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後臺正在執行的命令的序號(不是pid)

  21. jobs:jobs -l //顯示後臺作業,-l表示顯示進程號

  22. <ctrl + Z>:可以將一個正在前臺執行的命令放到後臺,並且暫停

  23. <ctrl + C>:發送 SIGINT 信號給前臺進程組中的所有進程,強制終止程序的執行

CH08:
記錄系統在什麼時候由哪個程序做了什麼樣的行爲時,發生了何種的事件:

  1. rsyslogd(rsyslog.service): 主要登錄系統與網絡等服務的訊息 Rsyslog 的主要配置文件爲 /etc/rsyslog.conf 文件,在配置文件中,我們通過配置 filter 以及 action 對日誌進行管理。
    例子:> mail.info   /var/log/maillog #將mail的相關數據寫入/var/log/maillog
  2. logrotate:用於對系統日誌進行輪轉、壓縮和刪除,也可以將日誌發送到指定郵箱。使用logrotate指令,可讓你輕鬆管理系統所產生的記錄文件。每個記錄文件都可被設置成每日,每週或每月處理,也能在文件太大時立即處理。您必須自行編輯,指定配置文件,預設的配置文件存放在/etc/logrotate.conf
  3. systemd-journald.service 最主要的訊息收受者,由 systemd 提供的systemd-journald 用來管理與查詢這次開機後的登錄信息(信息保存在內存中)觀察日誌: journalctl
  4. make -k -n -f
    簡化編譯時所需要下達的指令;
    若在編譯完成之後,修改了某個源代碼文件,則 make 僅會針對被修改了的文件進行編譯,其他的 object file 不會被更動;
    最後可以依照相依性來更新 (update) 可執行文件。
    標的(target): 目標文件1 目標文件2<tab> gcc -o 欲創建的可執行文件 目標文件1 目標文件2

CH09:

  1. dmesg:
  2. lspci:顯示當前主機的所有PCI總線信息,以及所有已連接的PCI設備信息
  3. lsmod:顯示已經加載到內核中的模塊的狀態信息。執行lsmod命令後會列出所有已載入系統的模塊
  4. modinfo:列出Linux內核中命令行指定的模塊的信息。
  5. ifconfig:用來查看和配置網絡設備。當網絡環境發生改變時可通過此命令對網絡進行相應的配置。
  6. ifup/ifdown: 激活/禁用指定的網絡接口 ifup eth0 #激活eth0
  7. route:用於操作基於內核ip路由表,它的主要作用是創建一個靜態路由讓指定一個主機或者一個網絡通過一個網絡接口,如eth0。當使用"add"或者"del"參數時,路由表被修改,如果沒有參數,則顯示路由表當前的內容。
  8. ip:顯示或操縱Linux主機的路由、網絡設備、策略路由和隧道,是Linux下較新的功能強大的網絡配置工具。 ip link list//顯示網絡設備的運行狀態。ip route list //顯示核心路由表
  9. ping:通常用來測試與目標主機的連通性 按ctrl+c終止或者用參數-c指定要求完成的迴應次數
  10. traceroute:traceroute指令讓你追蹤網絡數據包的路由途徑 tranceroute www.baidu.com 最大跳數:-m
  11. dig:常用的域名查詢工具,可以用來測試域名系統工作是否正常
  12. host:分析域名查詢工具,可以用來測試域名系統工作是否正常 -a:顯示詳細信息。
  13. tcpdump:它可以打印所有經過網絡接口的數據包的頭信息,也可以使用-w選項將數據包保存到文件中,方便以後分析。 tcpdump #將監視第一個網絡接口上所有流過的數據包
    tcpdump host 210.27.48.1 #截獲210.27.48.1 的主機收到的和發出的所有的數據包
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章