linux系統管理基本命令使用

linux系統管理基本命令使用

1 命令入門

1.1 ls

列出當前目前下的所有文件或文件夾

ls命令參數:

  • -l 可展示出是文件還是目錄,和一些權限,創建時間的具體信息
  • -a 可展示出該目錄下的隱藏文件
  • -lh 可方便的清晰的展示出文件列表
  • -F 大小寫嚴格區分,顯示的會在文件後加 “/”
  • -lS 按照文件的從大到小輸出排列
  • -lt 按照文件的創建時間從新到舊排列
  • -R 顯示出文件下以及其子目錄的文件名
gll@ubuntu:~/Desktop$ ls
awk.txt  demo.py  find.txt  fn.sh  python.py
gll@ubuntu:~/Desktop$ ls -l
總用量 20
-rw-r--r-- 1 root root  42 Aug 25  2021 awk.txt
-rw-rw-r-- 1 gll  gll   20 Aug 23  2021 demo.py
-rw-r--r-- 1 root root  76 Aug 25  2021 find.txt
-rwxr-xr-x 1 root root  90 Aug 25  2021 fn.sh
-rw-rw-r-- 1 gll  gll  596 Aug 23  2021 python.py

1.2 pwd

打印當前工作路徑

1.3 cd

用法:cd 目錄

作用是切換到指定的目錄

1.4 clear

作用是清屏

1.5 whoami

命令:whoami

作用:獲取當前的用戶名

1.6 reboot

命令:reboot

作用:重啓系統

1.7 shutdown

命令:shutdown

作用:關機

語法

shutdown [-t seconds] [-rkhncfF] time [message]

參數說明

  • -t seconds : 設定在幾秒鐘之後進行關機程序。
  • -k : 並不會真的關機,只是將警告訊息傳送給所有使用者。
  • -r : 關機後重新開機。
  • -h : 關機後停機。
  • -n : 不採用正常程序來關機,用強迫的方式殺掉所有執行中的程序後自行關機。
  • -c : 取消目前已經進行中的關機動作。
  • -f : 關機時,不做 fsck 動作(檢查 Linux 檔系統)。
  • -F : 關機時,強迫進行 fsck 動作。
  • time : 設定關機的時間。
  • message : 傳送給所有使用者的警告訊息。

實例:

立即關機

$ shutdown -h now

指定 10 分鐘後關機

$ shutdown -h 10

重新啓動計算機

$ shutdown -r now

2 基本命令

2.1 目錄操作

2.1.1 mkdir

命令: mkdir 文件夾名

作用: 創建目錄

命令使用:

  • 方式一:

    $ mkdir testdir
    
  • 方式二:

    遞歸創建目錄

    $ mkdir -p a/b/c
    
  • 方式三:

    創建多個同級目錄

    $ mkdir dir1 dir2 dir3
    

2.1.2 rmdir

命令:rmdir 文件夾路徑

作用: 刪除空文件夾

命令使用:

只能刪除空目錄

  • 方式一:

    $ rmdir testdir
    
  • 方式二:

    遞歸刪除目錄

    $ rmdir -p a/b/c
    
  • 方式三:

    刪除多個目錄

    $ rmdir dir1 dir2 dir3
    

2.2 文件操作

2.2.1 touch

命令: touch file [file2 file3 ...]

作用: 創建文件

$ touch demo.txt
$ touch demo2.txt demo3.txt

2.2.2 rm

命令: rm [-rf] 文件或目錄

作用: 刪除文件或文件夾

刪除文件:

$ rm demo.txt
$ rm demo2.txt demo3.txt

刪除目錄:

$ rm -r 目錄路徑

2.3 複製剪切

2.3.1 cp

命令: cp 源文件路徑 目標文件路徑

作用: 複製文件到指定路徑

參數說明

  • -a:此選項通常在複製目錄時使用,它保留鏈接、文件屬性,並複製目錄下的所有內容。其作用等於dpR參數組合。
  • -d:複製時保留鏈接。這裏所說的鏈接相當於 Windows 系統中的快捷方式。
  • -f:覆蓋已經存在的目標文件而不給出提示。
  • -i:與 -f 選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答 y 時目標文件將被覆蓋。
  • -p:除複製文件的內容外,還把修改時間和訪問權限也複製到新文件中。
  • -r:若給出的源文件是一個目錄文件,此時將複製該目錄下所有的子目錄和文件。
  • -l:不復制文件,只是生成鏈接文件。

使用指令 cp 將當前目錄 test/ 下的所有文件複製到新目錄 newtest 下,輸入如下命令:

$ cp –r test/ newtest     

2.3.2 mv

命令: mv cp 源文件路徑 目標文件路徑

作用: 移動文件或目錄

參數說明

  • -b: 當目標文件或目錄存在時,在執行覆蓋前,會爲其創建一個備份。
  • -i: 如果指定移動的源目錄或文件與目標的目錄或文件同名,則會先詢問是否覆蓋舊文件,輸入 y 表示直接覆蓋,輸入 n 表示取消該操作。
  • -f: 如果指定移動的源目錄或文件與目標的目錄或文件同名,不會詢問,直接覆蓋舊文件。
  • -n: 不要覆蓋任何已存在的文件或目錄。
  • -u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。
命令格式 運行結果
mv source_file(文件) dest_file(文件) 將源文件名 source_file 改爲目標文件名 dest_file
mv source_file(文件) dest_directory(目錄) 將文件 source_file 移動到目標目錄 dest_directory 中
mv source_directory(目錄) dest_directory(目錄) 目錄名 dest_directory 已存在,將 source_directory 移動到目錄名 dest_directory 中;
目錄名 dest_directory 不存在則 source_directory 改名爲目錄名 dest_directory
mv source_directory(目錄) dest_file(文件) 出錯

2.4 壓縮與解壓

2.4.1 gzip

壓縮指令:壓縮速度快,壓縮效率低,cpu開銷比較低

參數

  • -a或--ascii  使用ASCII文字模式。
  • -c或--stdout或--to-stdout  把壓縮後的文件輸出到標準輸出設備,不去更動原始文件。
  • -d或--decompress或----uncompress  解開壓縮文件。
  • -f或--force  強行壓縮文件。不理會文件名稱或硬連接是否存在以及該文件是否爲符號連接。
  • -h或--help  在線幫助。
  • -l或--list  列出壓縮文件的相關信息。
  • -L或--license  顯示版本與版權信息。
  • -n或--no-name  壓縮文件時,不保存原來的文件名稱及時間戳記。
  • -N或--name  壓縮文件時,保存原來的文件名稱及時間戳記。
  • -q或--quiet  不顯示警告信息。
  • -r或--recursive  遞歸處理,將指定目錄下的所有文件及子目錄一併處理。
  • -S<壓縮字尾字符串>或----suffix<壓縮字尾字符串>  更改壓縮字尾字符串。
  • -t或--test  測試壓縮文件是否正確無誤。
  • -v或--verbose  顯示指令執行過程。
  • -V或--version  顯示版本信息。
  • -<壓縮效率>  壓縮效率是一個介於1-9的數值,預設值爲"6",指定愈大的數值,壓縮效率就會愈高。
  • --best  此參數的效果和指定"-9"參數相同。
  • --fast  此參數的效果和指定"-1"參數相同。

壓縮文件:

# 壓縮單個文件
$ gzip python.py
# 壓縮多個文件
$ gzip python.py readme.txt

解壓文件:

$ gzip -dv python.py.gz
# 或者
$ gunzip python.py.gz

2.4.2 bzip2

壓縮速度慢,壓縮率高,cpu開銷大

參數

  • -c或--stdout  將壓縮與解壓縮的結果送到標準輸出。
  • -d或--decompress  執行解壓縮。
  • -f或--force  bzip2在壓縮或解壓縮時,若輸出文件與現有文件同名,預設不會覆蓋現有文件。若要覆蓋,請使用此參數。
  • -h或--help  顯示幫助。
  • -k或--keep  bzip2在壓縮或解壓縮後,會刪除原始的文件。若要保留原始文件,請使用此參數。
  • -s或--small  降低程序執行時內存的使用量。
  • -t或--test  測試.bz2壓縮文件的完整性。
  • -v或--verbose  壓縮或解壓縮文件時,顯示詳細的信息。
  • -z或--compress  強制執行壓縮。
  • -L,--license,
  • -V或--version  顯示版本信息。
  • --repetitive-best  若文件中有重複出現的資料時,可利用此參數提高壓縮效果。
  • --repetitive-fast  若文件中有重複出現的資料時,可利用此參數加快執行速度。
  • -壓縮等級  壓縮時的區塊大小。

壓縮:

$ bzip2 python.py

解壓:

$ bzip2 -dv python.py.bz2

2.4.3 xz

壓縮率高,解壓速度快,壓縮時間長,cpu開銷比較大

  -z, --compress      強制壓縮
  -d, --decompress    強制解壓
  -t, --test          測試壓縮文件完整性
  -l, --list          列出有關文件的信息
  -k, --keep          保留(不刪除)輸入文件
  -f, --force         強制覆蓋輸出文件和(取消)壓縮鏈接
  -c, --stdout        寫入標準輸出,不刪除輸入文件
  -0 .. -9            壓縮預設;0-2快速壓縮,3-5良好
                      壓縮,6-9極好的壓縮;默認值爲6
  -e, --extreme       編碼時使用更多的CPU時間來增加壓縮
                      不增加解碼器內存使用率的比率
  -q, --quiet         取消警告;指定兩次也可以取消錯誤
  -v, --verbose       詳細;爲更詳細的內容指定兩次
  -h, --help          顯示此簡短幫助
  -H, --long-help     顯示長幫助(同時列出高級選項)
  -V, --version       顯示版本號

如果沒有文件,或者當文件爲-時,讀取標準輸入。

eg:
  xz -z test.txt      壓縮文件
  xz -d test.txt.xz   解壓文件
  xz test.txt         壓縮文件
  unxz test.txt.xz    解壓文件
  xzcat test.txt.xz   查看文件內容

壓縮:

$ xz python.py

解壓:

$ xz -dv python.py.xz
$ xz -d python.py.xz
$ unxz python.py.xz

2.4.4 tar

gzipbzip2或者xz命令帶有多個文件作爲參數,執行壓縮的指令操作是將各個文件單獨壓縮,無法壓縮成一個壓縮包。

tar命令,就可以實現將多個文件打包成獨立的一個壓縮文件。

語法: tar [可選項] 壓縮文件名 要打包的文件文件或者目錄

參數:

  • -c create 創建打包文件
  • -x 解壓
  • -v 可視化,查看創建的過程
  • -f 必寫參數 使用文檔名字
  • -r 向壓縮歸檔文件末尾追加文件
  • -z 通過gzip指令處理備份文件
  • -j 通過bzip2類型處理
  • -J 通過xz指令處理文件
  • -t或--list 列出備份文件的內容

打包:

$ tar -cvf mytar.tar 1.txt 2.txt 3.txt

向壓縮包中追加文件:

$ tar -rf mytar.tar test.txt

解包:

$ tar -xvf mytar.tar ./

打包並壓縮:

tar 是支持打包的時候壓縮文件的,需要使用-z參數

$ tar -zcvf mytar.tar.gz 1.txt 2.txt 3.txt
$ tar -jcvf mytar.tar.bz2 1.txt 2.txt 3.txt
$ tar -Jcvf mytar.tar.xz 1.txt 2.txt 3.txt

解壓還原文件:

$ tar -zxvf mytar.tar.gz 
$ tar -jxvf mytar.tar.bz2
$ tar -Jxvf mytar.tar.xz

查看壓縮包內的文件:

$ tar -tf mytar.tar.xz
$ tar -tf mytar.tar.bz2
$ tar -tf mytar.tar.gz

2.4.5 zip

zip [選項] 壓縮包名 源文件或源目錄列表

注意,zip 壓縮命令需要手工指定壓縮之後的壓縮包名,注意寫清楚擴展名,以便解壓縮時使用。

該命令常用的幾個選項及各自的含義:

選項 含義
-r 遞歸壓縮目錄,及將制定目錄下的所有文件以及子目錄全部壓縮。
-m 將文件壓縮之後,刪除原始文件,相當於把文件移到壓縮文件中。
-v 顯示詳細的壓縮過程信息。
-q 在壓縮的時候不顯示命令的執行過程。
-壓縮級別 壓縮級別是從 1~9 的數字,-1 代表壓縮速度更快,-9 代表壓縮效果更好。
-u 更新壓縮文件,即往壓縮文件中添加新文件。

壓縮:

壓縮文件

$ zip python.zip python.py

壓縮目錄

$ mkdir dir1
$ zip -r dir1.zip dir1

解壓:

從壓縮文件 .zip 中刪除文件

zip -dv cp.zip a.c

2.5 輸出重定向

> 覆蓋輸出

>> 追加輸出

使用方式:

$ ls -lt > filelist.txt
$ ls -lt >> filelist.txt
$ echo "hello linux" > readme.txt

2.6 查看文件內容

先寫入一段文字到文件中

echo -e "hello linux\n1111\n2222" > readme.txt

命令:cat 文件路徑

作用: 查看文件內容

$ cat readme.txt
hello linux
1111
2222

命令:tac 文件路徑

作用: 倒敘查看文件內容

$ tac readme.txt
2222
1111
hello linux

2.7 幫助

2.7.1 --help

--help 也可以使用 -h

作用:查看命令的用法

ls --help

2.7.2 man

main 命令

作用:命令使用手冊/系統文件說明

通常用在從來沒有使用過的命令上

$ man ls
$ man hosts

2.8 磁盤相關命令

2.8.1 df

命令: df [-h]

作用: 查看磁盤內存使用情況

選項:

  • 文件-a, --all 包含所有的具有 0 Blocks 的文件系統
  • 文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks
  • 文件-h, --human-readable 可讀性較高的形式展示大小
  • 文件-H, --si 很像 -h, 但是用 1000 爲單位而不是用 1024
  • 文件-i, --inodes 列出 inode 資訊,不列出已使用 block
  • 文件-k, --kilobytes 就像是 --block-size=1024
  • 文件-l, --local 限制列出的文件結構
  • 文件-m, --megabytes 就像 --block-size=1048576
  • 文件--no-sync 取得資訊前不 sync (預設值)
  • 文件-P, --portability 使用 POSIX 輸出格式
  • 文件--sync 在取得資訊前 sync
  • 文件-t, --type=TYPE 限制列出文件系統的 TYPE
  • 文件-T, --print-type 顯示文件系統的形式
  • 文件-x, --exclude-type=TYPE 限制列出文件系統不要顯示 TYPE
  • 文件-v (忽略)
  • 文件--help 顯示這個幫手並且離開
  • 文件--version 輸出版本資訊並且離開
$ df -h

2.8.2 free

命令: free [-選項]

作用: 查看內存使用情況

選項:

  • -m 表示以M爲單位查看
  • -h 以可讀性較高的形式展示內存大小
$ free -h
$ free -m
$ free

2.9 文件內容相關的命令

2.9.1 head

作用:查看文件的前n行數據, 不指定n則默認前10行

用法:head [-n] 文件路徑 其中n值一個正整數

$ echo -e "111\n222\n333\n444\n555\n666\n777" > test.txt

查看數據:

$ head -5 test.txt 
111
222
333
444
555
$ head
111
222
333
444
555
666
777

2.9.2 tail

作用: 查看文件後n行數據,不指定n則默認顯示後10行

用法: tail [-選項] 文件路徑

參數:

  • -f 循環讀取
  • -q 不顯示處理信息
  • -v 顯示詳細的處理信息
  • -c <數目> 顯示的字節數
  • -n <行數> 顯示文件的尾部 n 行內容
  • --pid=PID 與-f合用,表示在進程ID,PID死掉之後結束
  • -q , --quiet, --silent 從不輸出給出文件名的首部
  • -s , --sleep-interval=S 與-f合用,表示在每次反覆的間隔休眠S秒

查看數據

$ tail -5 test.txt 
333
444
555
666
777

$ tail test.txt 
111
222
333
444
555
666
777

動態查看文件數據

$ tail -f test.txt

2.8.3 less

作用: 查看大文件, 以較少的內容進行輸出, 按下功能鍵查看更多, 按q退出

功能鍵: 空格向下翻頁, “b”鍵向上翻頁, 上下鍵向上向下移動一行

$ less test.txt

2.8.4 more

作用: 查看文件,以更多的內容進行輸出, 按下輔助功能鍵查看更多的文件內容, 按下q退出

more 命令類似 cat ,不過會以一頁一頁的形式顯示,更方便使用者逐頁閱讀,

而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,

而且還有搜尋字串的功能(與 vi 相似),使用中的說明文件,請按 h

參數

  • -num 一次顯示的行數
  • -d 提示使用者,在畫面下方顯示 [Press space to continue, 'q' to quit.] ,如果使用者按錯鍵,則會顯示 [Press 'h' for instructions.] 而不是 '嗶' 聲
  • -l 取消遇見特殊字元 ^L(送紙字元)時會暫停的功能
  • -f 計算行數時,以實際上的行數,而非自動換行過後的行數(有些單行字數太長的會被擴展爲兩行或兩行以上)
  • -p 不以捲動的方式顯示每一頁,而是先清除螢幕後再顯示內容
  • -c 跟 -p 相似,不同的是先顯示內容再清除其他舊資料
  • -s 當遇到有連續兩行以上的空白行,就代換爲一行的空白行
  • -u 不顯示下引號 (根據環境變數 TERM 指定的 terminal 而有所不同)
  • +/pattern 在每個文檔顯示前搜尋該字串(pattern),然後從該字串之後開始顯示
  • +num 從第 num 行開始顯示
  • fileNames 欲顯示內容的文檔,可爲複數個數

逐頁顯示 testfile 文檔內容,如有連續兩行以上空白行則以一行空白行顯示。

$ more -s testfile

從第 20 行開始顯示 testfile 之文檔內容。

$ more +20 testfile

2.8.5 wc

作用: 統計文件內容信息,包括行數、單詞數、字節數

參數

  • -c 或--bytes或--chars 只顯示Bytes數。
  • -l 或--lines 顯示行數。
  • -w 或--words 只顯示字數。
  • --help 在線幫助。
  • --version 顯示版本信息。

在默認的情況下,wc將計算指定文件的行數字數,以及字節數。使用的命令爲:

$ wc test.txt
     23  262144 1081344 test.txt
 
$ wc test.txt demo.py 
     23  262144 1081344 test.txt
      1       1      20 demo.py
     24  262145 1081364 總用量

2.8.6 du

作用: 查看文件或目錄佔用磁盤空間的大小

語法: du [-sh]

參數:

  • -s或--summarize 僅顯示總計。
  • -h或--human-readable 以K,M,G爲單位,提高信息的可讀性。

查看文件佔用磁盤空間:

$ du -h test.txt 
1.1M	test.txt

查看目錄佔用的磁盤空間大小:

$ du -h workdir/
28K	workdir/

2.8.7 find

作用: 查找文檔

參數:

  • -name 按照 文件名稱符合 name 的文件。iname 會忽略大小寫
  • -type 按照指定的文件類型是查找文件
  • -atime n 在過去n天內被讀取過的文件
  • -ctime n 在過去n天內被修改過的文件
# 通過文件名查詢  查詢當前路徑下demo.py文件
find ./ -name demo.py
# 查找符號鏈接文件
find ./ -type l -print 
# 查找類型文件
find ./ -type f -print
# 按時間查找   
# 查找2天內被更改過的文件 
$ find . -mtime -2 -type f -print   
# 查找2天前被更改過的文件 
$ find . -mtime +2 -type f -print   
# 查找一天內被訪問的文件 
$ find . -atime -1 -type f -print
# 查找磁盤中 大於30k的文件
$ find . -size +30k -exec ls -ld {} \;
# 刪除old後綴的文件  查找的結果使用 {} 表示
$ find ./ -name '*.old' -exec rm -rf {} \;

2.10 日期相關的命令

2.10.1 date

語法: date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

作用獲取時間

常用格式符號:

序號 格式符 說明
1 %F 顯示完整的年月日,格式 YYYY-mm-dd
2 %T 顯示完整的時分秒,格式HH:MM:SS
3 %Y year,顯示4位的年
4 %y year,顯示2位的年
5 %m month,顯示兩位的月份
6 %d day,顯示日期
7 %H hour,顯示小時
8 %M min,顯示分鐘
9 %S second,顯示秒

date的使用:

$ date "+%Y-%m-%d %H:%M:%S"
2022-03-25 10:28:12

$ date +%F
2022-03-25

$ date +%T
10:29:39

$ date +%Y
2022

參數說明

  • -d datestr 顯示 datestr 中所設定的時間 (非系統時間)
  • --help 顯示輔助訊息
  • -s datestr 設置系統時間,將系統時間設爲 datestr 中所設定的時間
  • -u 顯示目前的格林威治時間
  • --version 顯示版本編號

獲取之前或之後的時間:

+/- 表示獲取之後或之前的日期

# 獲取一天前的日期
$ date -d "-1 day" +%F
2022-03-24

# 獲取兩天前的日期
$ date -d "-2 day" +%F
2022-03-23

# 獲取兩年前的日期
$ date -d "-2 year" +%F
2020-03-25

# 獲取兩個月前的日期
$ date -d "-2 month" +%F
2022-01-25

# 獲取明年的今天
$ date -d "+1 year" +%F
2023-03-25

2.10.2 hwclock

命令: hwclock

作用:管理計算機硬件RTC時間

$ hwclock
2022-03-25 02:48:22.664256+0800

參數:

  • -w 將系統時間保存到硬件RTC中
  • -s 將RTC時間保存到linux系統時間中
$ hwclock -w
$ hwclock
2022-03-25 10:53:58.383792+0800

$ hwclock -s
$ date "+%F %T"
2022-03-25 10:56:02

2.10.3 timedatectl

作用:同時設置系統時間和RTC硬件時間, 還可以設置時區

參數:

  • list-timezones 列出系統上所有支持的時區名稱
  • set-timezone 設置時區
  • set-time 設置時間
  • set-local-rtc 設置硬件時鐘
  • set-ntp 設置ntp
  • status 查看當前時間日期時區等狀態

使用timedatectl可以進行如下常見操作

# 1 查看當前時間/日期/時區
$ timedatectl
$ timedatectl status

# 2 查看所有可用時區
$ timedatectl list-timezones

# 3 設置時區 以下兩種方式
$ timedatectl set-timezone "Asia/Shanghai"
$ timedatectl set-timezone PRC

# 4 設置時間
$ timedatectl set-time "10:01:01"
$ timedatectl set-time "2022-03-25 10:10"
$ timedatectl set-time "2022-03-25 10:10:10"

# 5 設置硬件時鐘爲本地時間
$ timedatectl set-local-rtc 1

# 6 設置硬件時鐘爲UTC時間
timedatectl set-local-rtc 0

# 7 啓動NTP時間同步
timedatectl set-ntp 1

# 8 禁用NTP時間同步
$ timedatectl set-ntp 0

2.10.4 ntpdate

作用:手動網絡校驗時間

使用:ntpdate ntp服務地址

國家授時中心: ntp.ntsc.ac.cn

阿里雲:ntp.aliyun.com 或者 ntp1.aliyun.com

2.10.4 cal

查看系統日曆

用法: cal [選項] [[[日] 月] 年]

參數:

  • -1 --one 只顯示當前月份(默認)
  • -3 --three  顯示上個月、當月和下個月
  • -s --sunday  週日作爲一週第一天
  • -m --monday 週一用爲一週第一天
  • -j --julian  輸出忽略日
  • -y --year 輸出整年
  • -V --version    顯示版本信息並退出
  • -h --help    顯示此幫助並退出
# 顯示當前月份:
$ cal -1

# 顯示上月下月及當月數據
$ cal -3

# 顯示指定年份日曆
$ cal -y 2021

2.11 管道符

管道符:|

作用:一般用於過濾

用法: 命令1 | 命令2, 命令1中的輸出作爲命令2中操作對象

說明:管道符不能單獨使用,必須配合其他命令一起使用

$ ls /etc | less

過濾功能:

grep: 獲取包含搜索內容的內容行

參數-v 不包含搜索內容的行

$ ls ./ | grep "py"
demo.py
python.py.xz

$ ls ./ | grep -v "py"
awk.txt
find.txt
fn.sh
test.txt
workdir

統計指定路徑下的文件或文件夾行數:

$ ls ./ | wc -l
7

統計用戶的數量:

$ cat /etc/passwd | wc -l
43

2.12 其他命令

序號 命令 說明
1 hostname 查看主機名
2 id 查看一個用戶的基本信息,如果不指定則默認是當前用戶
3 ps 顯示系統的進程信息
4 kill 殺死指定pid的進程
5 killall 殺死指定名稱的進程
6 ifconfig 查看ip地址

2.12.1 hostname 和 id

$ hostname
ubuntu

$ id
uid=1000(gll) gid=1000(gll) 組=1000(gll),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)

2.12.2 ps

作用:顯示系統的進程信息

參數

  • a 顯示所有進程
  • -a 顯示同一終端下的所有程序
  • -A 顯示所有進程
  • c 顯示進程的真實名稱
  • -N 反向選擇
  • -e 等於“-A”
  • e 顯示環境變量
  • f 顯示程序間的關係
  • -H 顯示樹狀結構
  • r 顯示當前終端的進程
  • T 顯示當前終端的所有程序
  • u 指定用戶的所有進程
  • -au 顯示較詳細的資訊
  • -aux 顯示所有包含其他使用者的行程
USER: 行程擁有者
PID: pid
%CPU: 佔用的 CPU 使用率
%MEM: 佔用的記憶體使用率
VSZ: 佔用的虛擬記憶體大小
RSS: 佔用的記憶體大小
TTY: 終端的次要裝置號碼 (minor device number of tty)
STAT: 該行程的狀態:
    D: 無法中斷的休眠狀態 (通常 IO 的進程)
    R: 正在執行中
    S: 靜止狀態
    T: 暫停執行
    Z: 不存在但暫時無法消除
    W: 沒有足夠的記憶體分頁可分配
    <: 高優先序的行程
    N: 低優先序的行程
    L: 有記憶體分頁分配並鎖在記憶體內 (實時系統或捱A I/O)
    START: 行程開始時間
    TIME: 執行的時間
    COMMAND:所執行的指令
$ ps -A 
$ ps aux [| grep 查詢信息]
$ ps -ef | grep 進程

2.12.3 kill

命令: kill [選項] 進程號

作用:殺死進程, 需要指定pid

$ kill -9 60749

# 先查詢進程id, 然後殺死進程
$ ps aux | grep firefox
$ kill -9 60749   # 強制殺死進程

2.12.4 killall

作用:殺死進程, 指定名稱

$ killall firefox
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章