LINUX 常用命令


文件屬性相關命令

chgrp:該命令用於改變文件所屬用戶組

chown:該命令用於改變文件的所有者

chmod:該命令用於改變文件的權限

-R:進行遞歸的持續更改,即連同子目錄下的所有文件都會更改   

 

rm命令

 

常用參數:

  1. -f :就是force的意思,忽略不存在的文件,不會出現警告消息  
  2. -i :互動模式,在刪除前會詢問用戶是否操作  
  3. -r :遞歸刪除,最常用於目錄刪除,它是一個非常危險的參數 

 

mv命令

常用參數:

  1. -f :force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋  
  2. -i :若目標文件已經存在,就會詢問是否覆蓋  
  3. -u :若目標文件已經存在,且比目標文件新,才會更新  

 

ls命令 

常用參數:

  1. -l :列出長數據串,包含文件的屬性與權限數據等  
  2. -a :列出全部的文件,連同隱藏文件(開頭為.的文件)一起列出來(常用)  
  3. -d :僅列出目錄本身,而不是列出目錄的文件數據  
  4. -h :將文件容量以較易讀的方式(GB,kB等)列出來  
  5. -R :連同子目錄的內容一起列出(遞歸列出),等於該目錄下的所有文件都會顯示出來

 

cp命令

常用參數:

  1. -a :將文件的特性一起復制  
  2. -p :連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用於備份  
  3. -i :若目標文件已經存在時,在覆蓋時會先詢問操作的進行  
  4. -r :遞歸持續復制,用於目錄的復制行為  
  5. -u :目標文件與源文件有差異時才會復制  

 

grep命令

grep [-acinv] [--color=auto] '查找字符串' filename  

它的常用參數如下:

  1. -a :將binary文件以text文件的方式查找數據  
  2. -c :計算找到‘查找字符串’的次數  
  3. -i :忽略大小寫的區別,即把大小寫視為相同  
  4. -v :反向選擇,即顯示出沒有‘查找字符串’內容的那一行  

# 例如:  

# 取出文件/etc/man.config中包含MANPATH的行,並把找到的關鍵字加上顏色  

grep --color=auto 'MANPATH' /etc/man.config  

# 把ls -l的輸出中包含字母file(不區分大小寫)的內容輸出  

ls -l | grep -i file 

 

crontab命令

用戶所建立的crontab文件中,每一行都代表一項任務,每行的每個字段代表一項設置,它的格式共分為六個字段,前五段是時間設定段,第六段是要執行的命令段,格式如下:

  minute   hour   day   month   week   command

其中:

  minute: 表示分鍾,可以是從0到59之間的任何整數。

  hour:表示小時,可以是從0到23之間的任何整數。

  day:表示日期,可以是從1到31之間的任何整數。

  month:表示月份,可以是從1到12之間的任何整數。

  week:表示星期幾,可以是從0到7之間的任何整數,這里的0或7代表星期日。

  command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。

在以上各個字段中,還可以使用以下特殊字符:

  星號(*):代表所有可能的值,例如month字段如果是星號,則表示在滿足其它字段的制約條件后每月都執行該命令操作。

  逗號(,):可以用逗號隔開的值指定一個列表范圍,例如,“1,2,5,7,8,9”

  中杠(-):可以用整數之間的中杠表示一個整數范圍,例如“2-6”表示“2,3,4,5,6”

  正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute字段,表示每十分鍾執行一次。

 

cron在3個地方查找配置文件:
  1、/var/spool/cron/ 這個目錄下存放的是每個用戶包括root的crontab任務,每個任務以創建者的名字命名,比如tom建的crontab任務對應的文件就是/var/spool/cron/tom。一般一個用戶最多只有一個crontab文件。

  2、/etc/crontab 這個文件負責安排由系統管理員制定的維護系統以及其他任務的crontab。
  3、/etc/cron.d/ 這個目錄用來存放任何要執行的crontab文件或腳本。

 

使用者權限文件:

  文件:/etc/cron.deny,該文件中所列用戶不允許使用crontab命令

  文件:/etc/cron.allow,該文件中所列用戶允許使用crontab命令

  文件:/var/spool/cron/,所有用戶crontab文件存放的目錄,以用戶名命名

 

crontab命令詳解

  1.命令格式:

    crontab [-u user] [ -e | -l | -r ]

  2.命令參數:

    -u user:用來設定某個用戶的crontab服務,例如,“-u ixdba”表示設定ixdba用戶的crontab服務,此參數一般有root用戶來運行。

    -e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。

    -l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。

    -r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。

-i:在刪除用戶的crontab文件時給確認提示。

 

watch命令

命令格式:watch[參數][命令]

可以將命令的輸出結果輸出到標准輸出設備,多用於周期性執行命令/定時執行命令

命令參數:

  -n或--interval  watch缺省每2秒運行一下程序,可以用-n或-interval來指定間隔的時間。

  -d或--differences  用-d或--differences 選項watch 會高亮顯示變化的區域。 而-d=cumulative選項會把變動過的地方(不管最近的那次有沒有變動)都高亮顯示出來。

如:每隔一秒高亮顯示網絡鏈接數的變化情況

  watch -n 1 -d netstat -ant

文本過濾

^                        只匹配行首

$                       只匹配行尾

*                        一個單字符后緊跟*,匹配0個或多個此單字符

?        匹配其前面的字符0或1次

+        匹配其前面的字符至少1次

[]                       匹配[]內字符。可以是一個單字符,也可以是字符序列,用-表示范圍

                         如用[1-5]代替[12345]

\                        用來屏蔽一個元字符的特殊含義。如$ . ' " * ^ | ( ) \ + ?

 

.                         匹配任意單字符

pattern\{n\}      用來匹配前面pattern出現次數。n為次數

pattern\{n,\}m  含義同上,但次數最少為n

pattern\{n,m\}  含義同上,但pattern出現次數在n與m之間

 

例:

 ^$ 匹配一個空行

 ^.$ 匹配只包含一個字符的行

 compu*t 匹配字符u 0次或多次,這個可匹配computer,

 A\{2\}B 匹配字母A出現兩次,並以B結尾

 A\{2,4\}B 匹配字母A出現2到4次之間

 

命令執行順序 && ,||

&&

格式:命令1 && 命令2

說明:命令1返回真(即返回0,成功被執行)后,命令2才能夠被執行

例:/apps/bin目錄將會被移到/apps/dev/bin目錄下,如果它沒有被成功的執行,就不會刪除/apps/bin目錄

 mv /apps/bin /apps/dev/bin && rm -r /apps/bin

 

||

格式:命令1 || 命令2

說明:命令1未執行成功,那么就執行命令2

例: 拷貝文件沒成功的話,就顯示錯誤.

 cp word.txt word.bak || echo "cp file failed!"

 

iproute2 命令

一、IP 地址管理

1、顯示 IP 地址

  ip addr show [dev eth0]

2、增加刪除 IP 地址

  ip addr add 192.0.2.1/24 dev eth0

  ip addr del 192.0.0.1/24 dev eth0

3、顯示接口統計

  ip -s link [ls eth0]

二、網卡和鏈路配置

1、顯示鏈路

  ip link show [eth0]

2、修改接口狀態

  ip link set eth0 up|down

三、路由表管理

1、顯示路由表

  ip route [show dev eth0]

2、新增路由

  ip route add 10.2.2.128/27 dev eth0

3、增加默認路由

  ip route add default via 192.168.1.1

4、修改默認路由

  ip route chg default via 192.168.1.2

5、刪除默認路由

  ip route del default

 

條件測試

格式:test condition

文件測試狀態

-d 目錄        

-s 文件長度大於0,非空

-f 正規文件   

-w 可寫

-l 符號鏈接   

-u 文件有suid位設置

-r 可讀         

-x 可執行

 

字符串測試 string_operator 可為=(相等)  !=(不相等)  -z(空串) -n(非空串)

 

數值測試 numeric_operator可為 -eq(相等),-ne(不相等),-gt(大於),-lt(小於),-le(小於等於),-ge(大於等於)

 

組合測試: -a 邏輯與 -o邏輯或 !邏輯否

 

wc命令

命令參數:

-c 統計字節數。

-l 統計行數。

-m 統計字符數。這個標志不能與 -c 標志一起使用。

-w 統計字數。一個字被定義為由空白、跳格或換行字符分隔的字符串。

 

cal 命令

顯示當前月份日歷

  命令:cal

顯示指定月份的日歷

  命令:cal 9 2012

顯示2016年日歷

  命令:cal 2016

 

date命令

顯示當前時間:

  命令:

    focus@ubuntu:~$ date

    Thu Aug 31 03:01:17 PDT 2017

    focus@ubuntu:~$ date '+%x'

    08/31/2017

顯示日期和設定時間:

  命令:date --date 08:42:00

date -d參數使用:

  date -d "nov 22"  今年的 11 月 22 日是星期三

  date -d '2 weeks' 2周后的日期

  date -d tomorrow +%Y%m%d

  date -d yesterday +%Y%m%d

  date -d last-month +%Y%m(上個月是幾月)

  date -d next-month +%Y%m(下個月是幾月)

  使用 ago 指令,您可以得到過去的日期:

  date -d '30 days ago' (30天前的日期)

  使用負數以得到相反的日期:

  date -d 'dec 14 -2 weeks' (相對:dec 14這個日期的兩周前的日期)

  date -d '-100 days' (100天以前的日期)

 

ln 命令

給文件創建軟鏈接

  命令:ln -s log2013.log link2013

給文件創建硬鏈接

  命令:ln log2013.log ln2013

 

wget命令

使用wget下載單個文件

  命令:wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip

使用wget -c斷點續傳

  命令:wget -c http://www.minjieren.com/wordpress-3.1-zh_CN.zip

使用wget -b后台下載

  命令:wget -b http://www.minjieren.com/wordpress-3.1-zh_CN.zip

 

scp命令

從本地服務器復制到遠程服務器: 

  (1) 復制文件:  

    命令格式:  

      scp local_file remote_username@remote_ip:remote_folder  

  (2) 復制目錄:  

    命令格式:  

      scp -r local_folder remote_username@remote_ip:remote_folder  

從遠程服務器復制到本地服務器: 

  從遠程復制到本地的scp命令與上面的命令雷同,只要將從本地復制到遠程的命令后面2個參數互換順序就行了。

 

find 命令常用用法

命令格式:

  find path -option [-print] [-exec -ok]

-print:find 命令將匹配的文件輸出到標准輸出

-exec:find 命令對匹配的文件執行該參數所給出的 shell 命令,相應命令格式為:command {} \;

-ok:作用同 -exec ,每一步需要用戶確認

 

-option:

  -name:按名查

  -perm:按權限查

  -user:按用戶查

  -group:按照組查找

  -mtime -n +n:文件更改時間查找,-n 是 n 天內,+n 是 n 天前,-atime -ctime類似

  -type:某一類型的文件

  -size n[c]:查找文件長為 n 塊的文件

 

MOUNT

mount [-t vfstype] [-o options] device dir

-o options: 主要用來描述設備或檔案的掛接方式

  1)loop:用來把一個文件當成硬盤分區掛上系統

  2)ro:只讀

  3)rw:讀寫

  4)iocharset:指定訪問文件系統所用字符集

device:連接設備

 

DU DF

du(disk usage)搜索文件統計文件大小

1、顯示指定文件所占空間

  du file1 file2

2、顯示指定目錄占的空間

  du dir

3、只顯示總和大小

  du -s

4、以方便格式顯示

  du -h

5、文件目錄全顯示

  du -ah

6、顯示幾個文件或目錄各自占用磁盤空間大小並統計總和

  du -c

df(disk free)文件系統磁盤空間占用情況,如沒有文件名指定,所有當前掛載的文件系統可用空間將被顯示

1、顯示磁盤使用情況

  df

2、以inode情況顯示

  df -i

 

文件名的匹配

特殊的匹配符號:

 * 匹配文件名中的任何字符串,包括空字符串

 ? 匹配文件名中的任何單個字符串

 [...] 匹配[]中包含的任何字符

 [!...] 匹配[]中非感吧號!之后的字符

 

tee命令

 作用:把輸出的一個副本輸送到標准輸出,另一個副本拷貝到相應的文件中

 格式:tee filename

 例:who | tee who.out 使用who命令,結果輸出到屏幕上,同時保存在who.out文件中

 

文件隱藏屬性

chmod u+s xxx 設置setuid(4775)

chmod g+s xxx 設置gid(2775)

chmod o+t xxx 設置stick bit,針對目錄(1775)

 

read命令

作用:讀入值給變量

1、read  從鍵盤讀入字符到name變量

2、read -p 'msg' var... 輸入提示

3、read -s vars 隱藏輸入

4、read讀取文件時,每次調用會讀取文件中“一行”文本,文本沒可讀行時,以0狀態退出

#!/bin/bash

count=1

cat aa | while read line

do

  echo "$count:$line"

  count=$[ $count + 1 ]

done

 

重定向 :<,<<,>,>>

command>filename  把標准輸出重定向到一個新文件中

command>>filename  把標准輸出重定向到一個文件中(追加)

command 1>filename  把標准輸出重定向到一個新文件中

command>filename 2>&1  把標准輸出和標准錯誤一起重定向到一個文件中

command 2>filename  把標准錯誤重定向到一個新文件中

command 2>>filename  把標准錯誤重定向到一個文件中(追加)

command >>filename 2>&1  把標准輸出和標准錯誤一起重定向到一個文件中(追加)

command <filename >filename 2 command命令以filename文件作為標准輸入,以filename2文件作為標准輸出

command <&m   把文件描述符m作為標准輸入

command >&m   把標准輸出重定向到文件描述符m中

command <&-   關閉標准輸入

 

/dev/null: 在類Unix系統中,/dev/null,或稱空設備,是一個特殊的設備文件,它丟棄一切寫入其中的數據(但報告寫入操作成功),讀取它則會立即得到一個EOF。

/dev/zero: 在類UNIX 操作系統中, /dev/zero 是一個特殊的文件,當你讀它的時候,它會提供無限的空字符(NULL, ASCII NUL, 0x00)

 

ps命令

使用該命令能確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等

 

 

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root          1  0.0  0.2 119816  5628 ?        Ss   04:37   0:09 /sbin/init auto noprompt

root          2  0.0  0.0      0     0 ?        S    04:37   0:00 [kthreadd]

root          4  0.0  0.0      0     0 ?        S<   04:37   0:00 [kworker/0:0H]

root          6  0.0  0.0      0     0 ?        S    04:37   0:02 [ksoftirqd/0]

root          7  0.2  0.0      0     0 ?        S    04:37   2:07 [rcu_sched]

root          8  0.0  0.0      0     0 ?        S    04:37   0:00 [rcu_bh]

root          9  0.0  0.0      0     0 ?        S    04:37   0:00 [migration/0]

root         10  0.0  0.0      0     0 ?        S<   04:37   0:00 [lru-add-drain]

root         11  0.0  0.0      0     0 ?        S    04:37   0:00 [watchdog/0]

 

 

%CPU 進程的cpu占用率
%MEM 進程的內存占用率
VSZ 進程所使用的虛存的大小
RSS 進程使用的駐留集大小或者是實際內存的大小
TTY 與進程關聯的終端(tty)
STAT 檢查的狀態:進程狀態使用字符表示的,如R(running正在運行或准備運行)、S(sleeping睡眠)、I(idle空閑)、Z (僵死)、D(不可中斷的睡眠,通常是I/O)、P(等待交換頁)、W(換出,表示當前頁面不在內存)、N(低優先級任務)T(terminate終 止)、W has no resident pages

START (進程啟動時間和日期)
TIME ;(進程使用的總cpu時間)
COMMAND (正在執行的命令行命令)
NI (nice)優先級
PRI 進程優先級編號
PPID 父進程的進程ID(parent process id)
SID 會話ID(session id)
WCHAN 進程正在睡眠的內核函數名稱;該函數的名稱是從/root/system.map文件中獲得的。
FLAGS 與進程相關的數字標識

常用參數:

  1. -A :所有的進程均顯示出來  
  2. -a :不與terminal有關的所有進程  
  3. -u :有效用戶的相關進程  
  4. -x :一般與a參數一起使用,可列出較完整的信息  
  5. -l :較長,較詳細地將PID的信息列出 

常用組合:

  1. ps aux # 查看系統所有的進程數據  
  2. ps ax # 查看不與terminal有關的所有進程  
  3. ps -lA # 查看系統所有的進程數據  
  4. ps axjf # 查看連同一部分進程樹狀態

 

netstat命令 

netstat命令用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。netstat是在內核中訪問網絡及相關信息的程序,它能提供TCP連接,TCP和UDP監聽,進程內存管理的相關報告。

netstat參數雖然很多,但是常用的不多,主要是下面幾個參數:

netstat -[atunlp]

  • -a :all,表示列出所有的連接,服務監聽,Socket資料
  • -t :tcp,列出tcp協議的服務
  • -u :udp,列出udp協議的服務
  • -n :port number, 用端口號來顯示
  • -l :listening,列出當前監聽服務
  • -p :program,列出服務程序的PID

查看端口占用時,使用:netstat -anp|grep 80 

 

top命令

top命令經常用來監控linux的系統狀況,比如cpu、內存的使用。

 

 

top - 08:16:55 up 1 day,  1:09,  2 users,  load average: 0.00, 0.01, 0.00

Tasks: 252 total,   1 running, 250 sleeping,   0 stopped,   1 zombie

%Cpu(s):  0.5 us,  0.3 sy,  0.0 ni, 98.6 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem :  4025440 total,   858884 free,  1388728 used,  1777828 buff/cache

KiB Swap:  4192252 total,  4192252 free,        0 used.  2260048 avail Mem

 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                               

     1 root      20   0  119788   5980   4020 S   0.0  0.1   0:11.81 systemd                                               

     2 root      20   0       0      0      0 S   0.0  0.0   0:00.06 kthreadd                                              

     4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                          

     6 root      20   0       0      0      0 S   0.0  0.0   0:00.86 ksoftirqd/0                                           

     7 root      20   0       0      0      0 S   0.0  0.0   1:16.12 rcu_sched                                             

     8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                                

     9 root      rt   0       0      0      0 S   0.0  0.0   0:00.07 migration/0                                           

    10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain                                         

    11 root      rt   0       0      0      0 S   0.0  0.0   0:00.29 watchdog/0                                            

    12 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/0                                               

    13 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/1                                               

    14 root      rt   0       0      0      0 S   0.0  0.0   0:00.37 watchdog/1                                            

    15 root      rt   0       0      0      0 S   0.0  0.0   0:00.08 migration/1                                           

    16 root      20   0       0      0      0 S   0.0  0.0   0:13.69 ksoftirqd/1                                           

    18 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0H                                          

    19 root      20   0       0      0      0 S   0.0  0.0   0:00.02 kdevtmpfs                                             

    20 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 netns                                                 

    21 root      20   0       0      0      0 S   0.0  0.0   0:00.16 khungtaskd                                            

    22 root      20   0       0      0      0 S   0.0  0.0   0:00.00 oom_reaper                                            

    23 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 writeback                                              

    24 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kcompactd0                                            

    25 root      25   5       0      0      0 S   0.0  0.0   0:00.00 ksmd                                                   

    26 root      39  19       0      0      0 S   0.0  0.0   0:13.78 khugepaged                                            

    27 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 crypto                                                 

    28 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kintegrityd                                           

    29 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 bioset                                                 

    30 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kblockd                                               

    33 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 ata_sff                                                

    34 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 md                                                    

    35 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 devfreq_wq                                             

    36 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 watchdogd                                             

    39 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kauditd                                                

    40 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kswapd0 

 

 

第一行:

  系統負載,即任務隊列的平均長度。
  三個數值分別為 1分鍾、5分鍾、15分鍾前到現在的平均值。

第三行:

cpu狀態
  us — 用戶空間占用CPU的百分比。
  sy — 內核空間占用CPU的百分比。
  ni — 改變過優先級的進程占用CPU的百分比
  id — 空閑CPU百分比
  wa — IO等待占用CPU的百分比
  hi — 硬中斷(Hardware IRQ)占用CPU的百分比
  si — 軟中斷(Software Interrupts)占用CPU的百分比

第七行以下:各進程(任務)的狀態監控

PID — 進程id
USER — 進程所有者
PR — 進程優先級
NI — nice值。負值表示高優先級,正值表示低優先級
VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
RES — 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
SHR — 共享內存大小,單位kb
S — 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程
%CPU — 上次更新到現在的CPU時間占用百分比
%MEM — 進程使用的物理內存百分比
TIME+ — 進程使用的CPU時間總計,單位1/100秒
COMMAND — 進程名稱(命令名/命令行)

 

常用參數:

  在鍵盤上輸入大寫字母M 以達到以內存占用率大小順序排列。另外輸入大寫字母P可以按CPU使用率排序。

  每兩秒鍾更新一次 top ,觀察整體信息,-d參數:top -d 2

  假設 9999 是一個已經存在的 PID ,用top命令僅觀察指定pid的程序的-p參數用法:top -d 2 -p 9999

 

iostat命令

顯示CPU和I/O統計信息

  iostat的不帶參數的顯示CPU和I/ O的所有分區的統計信息

    -c Display the CPU utilization report.

    -d Display the device utilization report

 

 

Linux 4.10.0-32-generic (ubuntu)        08/31/2017      _x86_64_        (2 CPU)

 

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

           0.50    0.04    0.38    0.44    0.00   98.64

 

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

sda               1.07        11.15        23.80    1007641    2150292

 

 

avg-cpu段:
%user: 在用戶級別運行所使用的CPU的百分比.
%nice: nice操作所使用的CPU的百分比.
%sys: 在系統級別(kernel)運行所使用CPU的百分比.
%iowait: CPU等待硬件I/O時,所占用CPU百分比.
%idle: CPU空閑時間的百分比.
Device段:
tps: 每秒鍾發送到的I/O請求數.
Blk_read /s: 每秒讀取的block數.
Blk_wrtn/s: 每秒寫入的block數.
Blk_read:   讀入的block總數.
Blk_wrtn:  寫入的block總數.

vmstat命令

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

 1  0      0 858612 160236 1617384    0    0     6    12   63  124  1  0 99  0  0

Procs
r: The number of runnable processes (running or waiting for run time).
b: The number of processes in uninterruptible sleep.

Memory
swpd: the amount of virtual memory used.
free: the amount of idle memory.
buff: the amount of memory used as buffers.
cache: the amount of memory used as cache.

Swap
si: Amount of memory swapped in from disk (/s).
so: Amount of memory swapped to disk (/s).

IO
bi: Blocks received from a block device (blocks/s).
bo: Blocks sent to a block device (blocks/s).

System
in: The number of interrupts per second, including the clock.
cs: The number of context switches per second.

CPU
These are percentages of total CPU time.
us: Time spent running non-kernel code. (user time, including nice time)
sy: Time spent running kernel code. (system time)
id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.

 

free命令

free命令可以顯示Linux系統中空閑的、已用的物理內存及swap內存,及被內核使用的buffer。

focus@ubuntu:~$ free -h
total used free shared buff/cache available
Mem: 3.8G 1.3G 928M 27M 1.7G 2.2G
Swap: 4.0G 0B 4.0G

total:Total installed memory (MemTotal and SwapTotal in /proc/meminfo)

used:Used memory (calculated as total - free - buffers - cache)

free:Unused memory (MemFree and SwapFree in /proc/meminfo)

shared:Memory used (mostly) by tmpfs (Shmem in /proc/meminfo, available on kernels 2.6.32, displayed as zero if
not available)

buffers:Memory used by kernel buffers (Buffers in /proc/meminfo)

cache:Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo)

buff/cache:Sum of buffers and cache(A buffer is something that has yet to be "written" to disk. A cache is something that has been "read" from the disk and stored for later use.)

available:Estimation of how much memory is available for starting new applications, without swapping. Unlike the data provided by the cache or free fields, this field takes into account page cache and also that not all reclaimable memory slabs will be reclaimed due to items being in use (MemAvailable in /proc/meminfo, available on kernels 3.14, emulated on kernels 2.6.27+, otherwise the same as free)

 

配置默認程序

update-alternatives 命令用於配置默認程序,版本切換

1、display 命令,查看命令鏈接信息

  update-alternatives --display name

2、install 命令,增加命令鏈接

  update-alternatives --install link name path priority

  link:鏈接原目錄

  name:鏈接符名稱

  path:鏈接新目錄

  priority:優先級

3、remove 命令,刪除命令鏈接

  update-alternatives --remove name path

4、config 配置命令鏈接

  update-alternatives --config name

5、auto 和 manual模式切換,默認為 auto,將 manual 切至 auto

  update-alternatives --auto name

 

軟件管理 

dpkg

安裝

  dpkg -i package.deb

卸載

  dpkg -r packagename

徹底卸載

  dpkg -P packagename

apt-get

搜查包

  apt-cache serach packagename

安裝

  apt-get install packagename

重新安裝包

  apt-get install packagename --reinstall

修復安裝

  apt-get --f install packagename

刪除

  apt-get remove packagename

刪除,包括配置文件

  apt-get remove packagename --puge

更新源

  apt-get update

更新安裝包

  apt-get upgarde

更新系統

apt-get dis-upgrade

 

特定shell變量

$# 傳遞到腳本的參數個數

$* 以一個單字符串顯示所有向腳本傳遞的參數。與位置變量不同,此選項參數可超過9個

$$ 腳本運行的當前進程ID號

$! 后台運行的最后一個進程的進程ID號

$@ 與$*相同,但是使用時加引號,並在引號中返回每個參數

$? 顯示最后命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤

其他:$0(腳本名字) $1 $2 $3 ...$9

 

VIM常用命令整理

1、進入insert模式

  o:當前行后

  O:當前行前

  r:替換當前字符

  R:替換當前字符直到ESC

2、刪除命令

  #dw:刪除#個word

  d^:刪除至行尾

  d$:刪除至行首

3、 u:撤消

  ctrl+r:反撤消

4、搜索替換

  /pattern:前往后查找

  ?pattern:后往前查找

  n:同方向查找下一個

  N:反方向查找下一個

  :s/p1/p2/g:當前行替換

  :n1,n2 s/p1/p2/g:n1至n2行替換

  :% s / old / new / g:全文替換

5、行命令

  :n1,n2 co n3

  :n1,n2 m n3

  :n1,n2 d

  : e file:打開文件

  :!command:執行命令

  :n1,n2!command:輸出替換nq到n2

  :n1,n2w ! command:n1到n2間作為command輸入

 

ubuntu 配置 jdk 環境

在 /etc/profile 文件尾添加
JAVA_HOME=/opt/jdk1.8.0
JRE_HOME=${JAVA_HOME}/jre   PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
:$JRE_HOME/bin

export JAVA_HOME export JRE_HOME export PATH

常用打包壓縮命令

1、將所有.jpg文件打成一個名為all.tar的包

  tar -cf all.tar *.gif

2、將所有.gif文件追加到all.tar

  tar -rf all.tar *.gif

3、更新原來tar包中logo.gif文件

  tar -uf all.tar logo.gif

4、列出all.tar中文件

  tar -tf all.tar

5、解包文件

  tar -xf all.tar

6、tar調用gzip

  tar -czf all.tar.gz *.jpg

  tar -xzf all.tar.gz

7、調用bzip2

  tar -cjf all.tar.bz2 *.jpg

  tar -xjf all.tar.bz2

8、調用xz

  tar -cJf all.tar.xz *.jpg

  tar -xJf all.tar.xz


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM