天天看點

Linux150個基礎指令chkconfig:2345 08 92 #這個必須要有description:starts,stop and saves iptables firewall使用者别名分類崗位指令分類角色第一行從左至右顯示的資訊依次為:時間、系統運作時間、登陸使用者數、平均負載:平均負載裡面的數字表示,

1.mkdir 建立目錄 *

主要選項:-p 遞歸建立目錄

主要案列:mkdir /jingfeng

mkdir -p /jingfeng/jf 
      mkdir -p /jingfeng/jf{1,2}  #建立多個目錄 
           

2.cd 切換路徑 *

主要案例:cd 或 cd ~ #切換至家目錄

cd -  #在上一個目錄和目前目錄來回切換 
      cd ~jingfeng  #切換至某使用者的家目錄 
      cd ..  #切換至上一級目錄 
           

3.ls 檢視目錄或檔案資訊 *

主要選項:-l 列出目錄或者檔案的詳細資訊。比如權限、修改時間等等 -a 列出目前目錄下所有檔案,包括隐藏檔案(已點開頭的都是隐藏檔案) -A 列出除.和..之外的所有檔案 -h 已人類能檢視的方式,列出檔案的大小 -d 隻列出目錄的詳細資訊 -F 給不同檔案結尾加不同辨別 -p 給目錄結尾加斜線 -t 按修改時間排序 -r 反轉排序 -i 檢視 inode 節點 --time-style=long-iso 格式化屬性時間 -R 遞歸

主要案例:1、ls -l #列出目錄或者檔案的詳細資訊

-rw-r--r-- 1 root root 1 Aug 5 21:24 jingfeng.txt

2、ls -la #列出目前目錄下所有檔案,包括隐藏檔案

-rw-------   1 root root  18029 Aug 11 22:05 .bash_history            

-rw-r--r-- 1 root root 18 Dec 8 2016 .bash_logout

-rw-r--r-- 1 root root 176 Dec 8 2016 .bash_profile

3、ls -lh #已人類能檢視的方式,列出檔案的大小

-rw-r--r--  1 root root  22K Dec  8  2016 install.log 
      4、ls -ld jingfeng  #隻列出目錄的詳細資訊 
      drwxr-xr-x 5 root root 4096 Aug 11 23:00 jingfeng 
      5、ls -lrt  #已時間倒叙的方式來列出 
      -rw-r--r--  1 root root    205 Feb  5  2017 jingfeng.txt.bz2            

drwxr-xr-x 5 root root 4096 Aug 11 23:00 jingfeng

4.pwd 列出目前目錄 *

主要選項:-L 大寫的 L,顯示的邏輯路徑 /etc/init.d -P 大寫的 P,顯示的是實際實體路徑 /etc/rc.d/init.d 這兩個參數了解即可

主要案例:[root@db02 ~]# pwd

/root

5.touch 建立一個空白檔案,假如目前目錄有同樣的檔案,則會更新檔案的時間戳 *

主要選項:-a 修改 access(通路)時間 -m 修改 modify(修改)時間 這兩個參數了解即可

主要案例:touch jingfeng.txt

6.cat 檢視檔案 *

主要選項:-n 顯示行号 -b 隻顯示非空行的内容(顯示行号) -E 在每行結束處顯示$ -s 壓縮空行 -T 把 tab 鍵字元顯示為^I

主要案例:cat -n jingfeng.txt

cat -b jingfeng.txt            

cat -E jingfeng.txt

cat -T jingfeng.txt

cat >>jingfeng.txt<Jingfeng

Woaini

EOF

7.vi 簡單的編輯指令 *

主要案列:vi jingfeng.txt

8.vim 複雜的編輯器 *(使用方法參考 linux 基礎裡面的 vim 篇章)

使用方法同上

9.echo 列印檔案内容或編輯檔案内容 *

主要選項:-n 不換行輸出 -e 可以使用轉義字元(n 回車,t tab 鍵)

主要案列:echo “I am studying linux”>>jingfeng.txt 追加檔案尾部内容

echo $?  假如傳回值為 0 的時候,表示上一次指令成功。假如是 1 到 255 的話,則是失敗 
      echo -e “wo\tshi\tshei”> jingfeng.txt 
           

10.xargs 從标準輸入(管道或 stdin、輸入重定向)擷取資料。并将資料轉換成命

令行的參數 *

簡單了解就是 find 管道|後面接檔案,就需要 xargs。假如| 前面輸入的是文字,字元串就 不需要接 xargs 主要選項:-n 數字分組           -i 将 xargs 的每項名稱,一行一行指派給{},可以用{}代替            

主要案列:xargs -n 2 < jingfeng.txt

find /etc -type f -name “*.txt”|xargs rm -f 
      find /etc -type f -name “*.txt”|xargs -i mv {} /tmp  
           

11.cp 複制檔案或目錄 *

主要選項:-a 相當于-pdr -f 強制複制,不提示

主要案列:cp -a jingfeng.txt /jf

簡寫方式 cp /etc/ssh/sshd_config {,orz} 
           
cp -a {/root/jingfeng.txt,/tmp/1.txt} 
           

12.mv 移動檔案或目錄,并且可以更改檔案或目錄的名字 *

主要選項:-f 強制移動,不提示

主要案列:mv jingfeng.txt /jingfeng xj.txt

13.rm 删除檔案或者目錄,這個指令在日常工作中一定要慎用 *

主要選項:-r 遞歸删除檔案或者目錄 -f 強制删除不提示

主要案列:rm -f jingfeng.txt

14.find 詳細查找檔案或者目錄 *

主要選項:-type 檔案類型 f=檔案 d=目錄 c=字元類型 b=塊裝置類型 -name 檔案名 -iname 檔案名不區分大小寫 已天為機關: -mtime 修改檔案内容 按修改時間查找 +7 7 天以前 7 第 7 天 -7 7 天以内 -atime 根據通路時間查找 -ctime 根據建立時間查找 已分鐘為機關: -amin 根據通路時間查找 -mmin 根據修改時間查找 -cmin 根據建立時間查找 -user 根據使用者名查找 -group 根據組使用者查找 -uid 根據使用者的 uid 查找檔案 -gid 根據使用者的 gid 查找檔案 -size 根據檔案的大小來查找檔案(預設機關:KB,MB,GB) 1024:什麼都不加,小于檔案大小-1 或等于 +1024:大于等于檔案大小 -1024 小于等于檔案大小 -perm 根據權限查找 644:什麼都不加,精确檔案權限比對

/644: 任何一類使用者(u,g,o)的權限中的任何一位(r,w,x)符合條件即滿足                   -644: 每一類使用者(u,g,o)權限中的每一位(r,w,x)同時符合條件即滿足           !取反           -o 或者           -exec COMMAND {} \; 對查找到的每個檔案執行由 COMMAND 表示的指令 注意:find 傳遞查找到的檔案路徑至後面的指令時,是先查找出所有符合條件的檔案路徑,并一次 性傳遞給後面的指令。但是有些指令不能接受過長的參數,此時指令執行會失敗。是以需要另一種 方式來規避問題:find |xargs COMMAND            

主要案例:find jingfeng/ -type f -name "*.txt" | xargs rm -f

find jingfeng/ -type f -name "jingfeng.txt" -exec rm {} \; 
      find jingfeng/ -type f -name "*txt" -mtime -7 | xargs rm -f 
     這條指令解析:查找 jingfeng 目錄下的為檔案、名字為*txt、最近 7 天之内修改的檔案通過管道命           

令,再通過 xargs 排序 删除檔案

find /jingfeng -type f -name "*.txt" | xargs sed -i s#jingfeng#momo# 
   或者 sed -i "s#shei#jingfeng#g" $(find /jf/ -type f -name "*.txt") 
再或者 find /jf/ -type f -name "*.txt" -exec sed -i "s#shei#jingfeng#g" {} \; 
   find /jingfeng -type f -name "*.txt" -ok rm -f {} \;這種方式,當你删除的時候,會詢問你是           

否需要删除該檔案

find /backup -type f \( -name "*.log" -o -name "*.tar.gz" \)  同時查找多個名字的檔案 
      find /data -type f -name “.txt” -mtime +7|xargs -i mv {} /tmp 
           

15.grep 過濾器 *

主要選項:-v 排除内容 -E 可以同時實作兩條指令的使用,當然也要加| --color=auto 對過濾的字元串加顔色 -i 不區分大小寫 -w 按單詞搜尋 -B 除了顯示比對的一行之外,并顯示該行之前的 N 行 -A 除了顯示比對的一行之外,并顯示該行之後的 N 行 -C 除了顯示比對的一行之外,并顯示該行之前後各 N 行 -o 隻顯示比對到的内容 -n 顯示行号

主要案列:grep -v old jingfeng.txt grep -Po '(?<=addr:)S+' 取 ip 位址

grep -n “.*” jingfeng.txt  grep -w “jf” jingfeng.txt 
           
grep -E “root|nginx” /etc/passwd 
           

16.egrep 支援擴充正規表達式的 grep 指令 *

主要參數: -v 排除内容 --color=auto 對過濾的字元串加顔色 -i 不區分大小寫 -o 隻顯示比對到的内容 -B 除了顯示比對的一行之外,并顯示該行之前的 N 行 -A 除了顯示比對的一行之外,并顯示該行之後的 N 行 -C 除了顯示比對的一行之外,并顯示該行之前後各 N 行

主要案列:egrep -v old jingfeng.txt egrep -Po '(?<=addr:)S+' 取 ip 位址

egrep -w “jf” jingfeng.txt 
           

17.head 檢視檔案的前 N 行 *

主要選項:-n 後面接數字,表示檢視前幾行(也可以不加) 注意:head 預設檢視 10 行

主要案列:head -5 /etc/passwd

head -10 /etc/passwd|tail -5 檢視 passwd 檔案中 6 到 10 行 
           

18.tail 檢視檔案的後 N 行 *

主要選項:-n 後面接數字,表示檢視前幾行(也可以不加) -f(循環讀取)監視 filename 檔案的尾部内容(預設 10 行,相當于增加參數-n 10) 重新整理顯示在螢幕上,退出按下 ctrl+c 注意:tail 預設檢視 10 行

主要案列:tail -5 /etc/passwd

19.alias 檢視和設定别名 *

主要案列:檢視别名,直接輸入 alias。

設定别名:alias cp='cp -i' 
             alias rm='echo “this command does not allow to ues”' 
   别名的配置檔案:/etc/profile 或者/etc/bashrc 全局生效 
                 ~/.bashrc  #目前使用者生效 
           
設定别名檔案時指令必須是/bin 下的 
           

20.unalias 取消别名

主要案例:unalias cp

21.seq 生成序列 *(編寫 shell 時需要)

主要選項:-s 指定分隔符 -w 輸出同寬數列,不足的位數用 0 補齊

主要案例:[root@db02 ~]# seq -s : 10

1:2:3:4:5:6:7:8:9:10

[root@jf ~]# seq 100 >jingfeng.txt

[root@jf ~]# cat jingfeng.txt

1

2

....100

22.sed 流編輯器,實作對檔案的增删改查 *

編輯指令: d:删除 #sed ‘2,3’d /etc/passwd p:列印輸出 a:在行後面追加文本,支援使用n 實作多行追加 i:在行前面插入文本,支援使用n 實作多行插入 c:把比對到的行替換為此處指定的文本 w:儲存模式空間比對到的行至指定的檔案中 r:讀取指定檔案的内容至目前檔案被模式比對到的行後面并且檔案合并 !:條件取反 s///:查找替換,其分隔符可自行指定,常用的有 s@@@,s###等 替換标記:g 全局替換 主要選項:-n 取消預設輸出,把我想輸出的内容輸出到螢幕上 -i 修改檔案内容并且會破壞軟連結和硬連結 -e 多項編輯 -f 每行一個編輯指令 -r 支援使用擴充正規表達式

主要案例:sed -n ‘20,30’p /etc/passwd

sed -i  "s#xj#jingfeng1#g" jingfeng.txt 
      sed -nr '2s#^.*addr:(.*) Bca.*$#\1#gp' 取 IP 
      sed -i '3a '$(sed -n '2p' 1.txt)'\n'$(sed -n '3p' 1.txt) 2.txt            

注意:sed 's#内容#替換的内容#g jingfeng.txt 2.sed 裡面有小 p,前面必須接參數-n

23.awk 過濾,輸出内容 *

區域:$就是取什麼什麼引用 $1 表示第一列,$2 第二列,依次類推。但是$0 表示整行 FS==區域分隔符,預設是空格 RS==每個記錄讀入的時候的分隔符(行的結束辨別) NR==行号,記錄的數。 NF==NF 表示記錄中的區域(列)數量,$NF 表示取最後一列 awk 預設已空格為分隔符 BEGIN 子產品在 awk 讀取檔案之前就執行,一般用來定義我們的内置變量(預定義變量:FS,RS) END 子產品就是 END 在 awk 讀取完所有檔案的時候,再執行 END 子產品,一般用來輸出一個結果(累 加,數組的結果) awk 程式設計思想: 1.先處理,最後再 END 子產品輸出 2.BEGIN 子產品用于 awk 内置變量 FS,RS 的指派,在 awk 執行前 3.END 子產品用來最後輸出,統計資訊 awk 幾種運算表達式:a=a+1 或者 a++ a=a+2 或者 a+=2 a+=$0 主要參數:-F 指定分隔符 比如說指定:為分隔符,那麼:相當于一把菜刀,把資料切成一塊一 塊,這個就是-F 的作用 在 linux 裡面==等于等号。一個=在 linux 裡面相當于指派

主要案例:awk 'NR>19 && NR<31' jingfeng.txt

awk 'NR==20,NR==30' jingfeng.txt  
  awk -F ":" 'NR==1 {print $6}' /etc/passwd 
   awk -F "[ :]+" '{print $3,$5,$7}' 加号表示取一個整體 
   cat /etc/passwd|awk -F "[ :]+" 'NR==10,NR==20 {print $3}' 
   awk 'BEGIN{RS=":"} {print NR,$0}' passwd  
   awk 'BEGIN{RS=":"} {print NR,$0}' passwd  
  awk 'BEGIN{RS="[:/0-9 |\n]+"}{print $0}' passwd | sort | uniq -c | sort -rn 統計單詞數 
  awk -F "[ /]+" '$1~/^(ftp|http|ssh)$/{print $1,$2}' /etc/services  
  awk -F "[:]+" '$3>15{a=a+1}END{print a}' awkfile.txt  
  awk 'BEGIN{jf["a"]="jingfeng";olboy["b"]="xiaoyu";jf["c"]="wo" 
           
awk '{print NR,$0}' jingfeng.txt            

print jf["a"]

print oldbot["b"]

print jf["c"]}' 這個案列引用了數組的概念:1.awk 數組的元素名(蘋果名)可以是字元串

2.字元串要使用雙引号引起來 

     echo jf{01..10}|xargs -n 1|awk '{print "echo "$0" >>/tmp/jf.txt && useradd "$0" &&            
pa=$(mkpasswd|cut -c 1-5) && echo $pa|passwd --stdin "$0"|echo $pa >>/tmp/jf.txt"}'|bash 批量建立用

戶和随機密碼

awk -F "[: ]+" '/Dan/{print $5}' reg.txt  已 Dan 開頭的行,并且比對第五列 
     awk -F "[ :]+" '$3~/^138/{print $1,$3}' reg.txt 已 138 開頭的手機号碼,取人的名字和号碼(這           

裡的~表示比對的意思)

awk -F "[ :]+" '$3!~/^138/{print $1,$2":"$3}' reg.txt 比對不已 138 開頭的手機号碼和人的名字 
     awk -F "[ :]+" '!/138/{print $1,$2":"$3}' reg.txt 比對不已 138 開頭的手機号碼和人的名字 
     awk -F "[ :]+" '$1~/C|E/{print $1,$2}' reg.txt  已 C 或 E 開頭的人名 
     awk -F "[ :]+" '$3~/(1|5)$/{print $1,$2}' reg.txt 已結尾為 1 或者 5 的手機數字,然後取對應的           

人名

awk 'NR==2||NR==3||NR==9{print NR,$0}' jingfeng.txt 或者 awk 'NR==2;NR==3;NR==9{print            

NR,$0}'

jingfeng.txt

2 bin:x:1:1:bin:/bin:/sbin/nologin 
     3 daemon:x:2:2:daemon:/sbin:/sbin/nologin 
     9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 取第二行,第三行,第九行 
    awk 'BEGIN{a="abcd";print a}' awk 中字母會被認為是變量,如果真的要給一個變量指派,使用雙引号 
    awk '/^$/{i=i+1}END{print i}' /etc/services  統計空行數量 
    seq 100|awk '{s=s+$0}'END'{print s}' 
    awk 'BEGIN{jf["a"]="oldgirl";jf["b"]="jingfeng";jf["c"]="oldbaby"            

for(police in jf)

print police,jf[police]

}'

a oldgirl

b jingfeng

c oldbaby (awk 數組)

awk -F "[/]+" '{ceshi[$2]=ceshi[$2]+1}'END'{for(police in ceshi)print            

police,ceshi[police]}' ceshi.txt (數組)

mp3.etiantian.org 1

post.etiantian.org 2

www.etiantian.org 3

awk '{a[$1]+=$2}END{for(i in a)print i,a[i]}' shuzu.txt  “a[$1]=a[$1]+$2”=”a[$1]+=$2”            

awk 小結:1.NR 行号,存放着每個記錄的号,讀取新行時候自動+1 2.RS 是輸入資料的記錄的分隔符,簡單了解就是可以指定每個記錄的結尾标志 3.用 RS 替換n 4.RS 作用就是表示一個記錄的結束 5.FS 辨別着每個區域的結束 6.awk 隻有模式(條件)的時候,會預設輸出整行($0) 7.$1~/正規表達式-開始/,$3~/正則結束/ 行,記錄 8.awk 中字母會被認為是變量,如果真的要給一個變量指派,使用雙引号

24.rmdir 删除空目錄

主要選項:-p 删除某目錄後,如果其父目錄為空,則一并删除

主要案列:rmdir /jf

25.tree 顯示目錄樹 *

主要選項:-a 顯示所有檔案和目錄 -d 隻顯示目錄 -L 後面接上數字,表示隻顯示幾層樹結構 -f 為每個檔案和目錄顯示完整的路徑 -F 可以用來區分檔案和目錄 -i 不以階梯狀列出檔案或目錄名稱

主要案例:[root@db02 ~]# tree -d -L 1 /application/

/application/

├── apache2.2.17

├── mysql -> /application/mysql-5.6.35/

└── mysql-5.6.35

3 directories

26.man 幫助指令 *

當要搜尋某個關鍵字的時候,輸入/,然後在輸入關鍵字搜尋 其中 n 這個快捷鍵是向下翻所查找的關鍵字的内容,大寫 N 是向上查找

主要案列:man cp

27.--help 簡單的幫助指令 *(外部指令)

主要案列:cp --help

28.uname 檢視系統 *

主要選項:-m 檢視系統是幾位作業系統 -r 檢視系統的核心版本 -a 檢視詳細的系統核心版本和系統的作業系統

主要案列:[root@db02 ~]# uname -a

Linux db02 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

29.stat 詳細檢視檔案和目錄的資訊 *

主要案例:[root@db02 ~]# stat jingfeng.txt

File: `jingfeng.txt'

Size: 310 Blocks: 8 IO Block: 4096 regular file

Device: 803h/2051d Inode: 916335 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2017-08-14 16:53:53.668136237 +0800

Modify: 2017-08-14 16:53:48.144137021 +0800

Change: 2017-08-14 16:53:48.144137021 +0800

30.rz 上傳指令 *

假如系統裡面沒有這個指令,則使用 yum install lrzsz -y 來安裝次指令 主要參數:-y 覆寫

主要案例:直接輸入 rz,就可以上傳檔案

注意:新版的 xshell 支援直接從 windows 把檔案拖進 xshell 裡,但是前提必須安裝了 rz

31.sz 下載下傳指令 *

主要參數:-y 覆寫

主要案例:sz -y jingfeng.txt

注意:1.隻能上傳檔案,目錄不行。假如一定要上傳目錄的話,可以打包上傳,但必須是 zip 格式 2.下載下傳的檔案到 linux 中,是目前路徑

31.useradd 建立普通使用者 * 主要選項:-u 指定 uid 列子:useradd -u 504 jingfeng (重要) -c 新賬号 password 的說明欄 -d 設定新賬号每次登入時使用的家目錄 -e 賬号終止日期。日期格式為 MM/DD/YY -g 指定屬于的主組 -G 定義此使用者為多個不同的組成員,每個使用者組使用,逗号來分隔 -s 指定登入 shell (重要) -m 建立家目錄 -M 不建立使用者家目錄 -r 建立系統使用者 -D 顯示或修改使用者的預設配置 修改的結果儲存與/etc/default/useradd 檔案中

主要案例:useradd -s /sbin/nologin -M jingfeng

useradd -u 504 jingfeng            

注意:建立使用者時的諸多預設設定配置檔案為/etc/login.defs /etc/default/useradd 這個配置檔案,可以預設更改 useradd 的一些參數

32.passwd 建立使用者密碼或修改密碼 *

主要選項:--stdin 非互動式設定密碼 -n 指定最短使用期限 -x 最大使用期限 -w 提前多少天開始警告

-i 非活動期限           -e 過期期限            

主要案例:echo “123456”|passwd --stdin jingfeng

33.su 切換使用者 *

主要選項:-c 變更賬号為 USER 的使用者,并執行指令後再變回原來的使用者 - 加載環境變量

主要案例:su - jingfeng

34.hostname 顯示和設定主機名 *

主要案列:hostname 直接輸入,顯示主機名

hostname jingfeng 更改 jingfeng 為主機名 但這個隻是暫時的更改,重新開機就沒有了 
      假如需要永久性的更改主機名,需要到配置檔案/etc/sysconfig/network 
           

35.init 切換運作級别

主要案例:init 0 關機

init 1 單使用者 
      init 2 沒有 NFS 網絡的多使用者模式 
      init 3 有 NFS 網絡的多使用者模式 
      init 4 沒有使用者 
      init 5 x window 
      init 6 重新開機 
           

36.runlevel 檢視目前系統的運作級别

主要案例:直接輸入 runlevel

37.shutdown 關機

主要選項:-h 關機 -r 重新開機 -c 終止關機或重新開機的動作

主要案例:shutdown -h now

shutdown -r now 
           

38.reboot 重新開機

主要案例:直接輸入 reboot

39.history 檢視指令曆史記錄 *

登陸 shell 時,會讀取指令曆史檔案中記錄下的指令(~.bash_history) 登陸進 shell 後新執行的指令隻會記錄在緩存中,這些指令會使用者退出時追加至~.bash_history !#:再一次執行曆史清單中的第#條指令 !!:再一次執行上一條指令 !STRING:再一次執行已 STRING 開頭的指令 控制指令曆史記錄的方式:HISTCONTROL=ignoredups(忽略重複的指令),ignorespace(忽略已 空格開頭的指令),ignoreboth(以上兩者同時生效) 主要選項:-a 追加本次會話新執行的指令曆史清單至曆史檔案中 -c 清空所有 -d 删除指定曆史内容

主要案例:如何調用曆史記錄,使用!後面接指令的字元 比如:!Touch

history -c 
      History -d 5 删除指定曆史内容 
           

40.mount 磁盤挂載 *

主要選項:-t 後面可以接檔案系統 ext2 ext3 等等 -r 隻讀挂載 -L 挂載時以卷标的方式指明裝置 -U 挂載時以 uuid 的方式指明裝置 -a 可自動挂載定義在/etc/fstab 檔案中的所支援自動挂載的裝置 -o 挂載選項: sync/async:同步/異步操作 atime/noatime:檔案或目錄在被通路時是否更新其通路時間戳 diratime/nodiratime:目錄在被通路時是否更新其通路時間戳 remount/:重新挂載 acl:支援使用通路控制清單 dev/nodev:此裝置上是否允許建立裝置檔案

exec/noexec:是否允許允許此裝置上的程式檔案              user/nouser:是否允許普通使用者挂載此檔案系統              suid/nosuid:是否允許程式檔案上的 suid 和 sgind 特殊權限生效 使用技巧:可以實作将目錄綁定至另一個目錄上,作為其臨時通路入口           mount --bind 源目錄 目标目錄:mount --bind /etc /mnt            

主要案列:mount -t ext3 /dev/cdrom /mnt

lsof /mnt  當 umount /mnt 無法解除安裝的時候,可以使用這個指令,來檢視是否有程序在使用中 
           

41.which 詳細檢視指令的路徑 *

主要選項:--skip-alias 不顯示别名

主要案列:which ls

[root@m01 ~]# which --skip-alias ls            

/bin/ls

42.dmesg 檢視系統的故障詳細情況

主要案例:dmesg

43.ifup 和 ifdown 啟動和停止網卡,後面接網卡名 *

主要案例:ifdown eth0

ifup eth0 
           

44.nl 顯示行号

主要案例:nl jingfeng.txt

45.less 檢視目前文檔内容,相比 cat,less 的使用方式更加的靈活多變,它可以實

現上下翻頁等功能 *

主要選項:-N 顯示行号

主要案列:less jingfeng.txt

46.more 按頁檢視,不能回退,靈活上不如 less *

主要案例:more jingfeng.txt

47.wc 統計檔案的字數和行數,位元組數 *

主要選項:-l 顯示總行數,常用于檢視程序是否啟動 -L 顯示最長一行的字元數 -c 顯示位元組數 -m 顯示字元數 -w 顯示單詞數

主要案例:wc -l jingfeng.txt

[root@web01 ~]# ps -ef|grep "/sbin/nginx"|grep -v grep|wc -l 
                      1    工作常用這個來檢視程序是否存在,假如為 1,就是存在的。 
                           要是 0 的話,就表示該程序不存在 
           

48.chkconfig 設定開機自啟動 *

主要選項:--list 檢視啟動服務 --level 設定運作級别 --add 添加服務 --del 删除服務 注意:正常級别下,最後啟動的一個服務 S99local 沒有連結至/etc/init.d/下的腳本,而是連結了 /etc/rc.d/rc.local 腳本。是以,不便或不需寫為服務腳本的程式要想開機自啟動,則需要放置此檔案 中即可。

主要案列:chkconfig --level 5 sshd off(on)

chkconfig --list sshd (檢視指定服務是否開啟還是關閉) 
   chkconfig --list|grep "3:on"|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print            

"chkconfig",$1,"off"}'|bash

假如我寫了一個腳本(指令的集合),怎麼讓 chkconfig 管理并運作呢

1.腳本必須放在/etc/init.d 下

2.腳本要有執行權限(x)

3.腳本的前幾行必須要有

chkconfig:2345 08 92 #這個必須要有

description:starts,stop and saves iptables firewall

4.通過 chkconfig --add 添加

49.dumpe2fs 顯示 ext2/ext3/ext4 檔案系統資訊

主要案列:dumpe2fs /dev/sda1

50.df 列出 linux 下所有的磁盤容量 *

主要選項:-h 已人類可讀的方式(MB,GB,KB)顯示出來 -i 列出 inode 剩餘的總量和使用量 -T 檢視目前挂載的檔案系統 -l 僅顯示本地檔案的相關資訊

主要案例:df -h

51.file 檢視檔案類型

主要案例:file jingfeng.txt

52.檢視使用者的最近登陸資訊,對應的資料檔案是/var/log/wtmp *

主要案例:[root@db02 yum.repos.d]# last

root pts/3 10.0.0.1 Fri Aug 18 11:19 still logged in

root pts/1 10.0.0.1 Mon Aug 14 22:37 - 13:15 (3+14:37)

root pts/4 10.0.0.1 Mon Aug 14 17:00 - 17:02 (00:02)

root pts/3 10.0.0.1 Fri Aug 11 22:56 - 19:40 (2+20:44)

53.lastlog:顯示最近登陸的所有使用者資訊。對應的資料檔案是/var/log/lastlog

主要案例:[root@web01 ~]# lastlog

Username Port From Latest

root pts/0 192.168.203.1 Tue Mar 14 22:12:43 +0800 2017

bin Never logged in

daemon Never logged in

adm Never logged in

lp Never logged in

sync Never logged in

54.ln 連結檔案 *

1.硬連結:可以看做是一種備份,當原檔案寫入,備份檔案也會自動寫入。當原檔案被删除的時 候,備份檔案還能繼續使用。

2.軟連結:可以看做是 windows 下的快捷方式。此連結方式的特點可以概括如下:原檔案删除,備 份檔案不能使用。 主要選項:-s 如果不加-s,就是硬連結。相反加了-s,就是軟連結

主要案例:ln -s /application/nginx-5.6.3.0 /application/nginx

55.tar 打包指令 *

主要選項:-j:通過 bzip2 的支援進行壓縮和解壓縮。此時檔案名最好為:.tar.bz2 -c:建立打封包件 -f:這個參數後面要接被出來的檔案名,建議 -f 單獨寫一個參數 -t:檢視打封包件 -z:通過 gzip 的支援進行壓縮和解壓縮。此時檔案名最好為:.tar.gz --exclude 這個參數可以過濾你不想打包的目錄内容 tar -zcvf /tmp/etc.tar.gz etc --exclude /etc/services -C:這個參數用在解壓縮時,若要在特定目錄解壓縮,可以使用這個參數 -x:解壓縮打封包件 -h:打包的時候,假如目錄裡面有軟連結檔案,這個參數會打包軟連結對應的真實目錄 或檔案 -X:從檔案裡面排除不需要的檔案或者目錄 -u:添加改變了和現有的檔案到已經存在的壓縮檔案裡

主要案例:壓縮:tar -zcv -f /tmp/etc.tar.gz /etc

查詢:tar -t -f /tmp/etc.tar.gz  
     解壓縮:tar -x -f /tmp/etc.tar.gz /tmp 
  tar -zcf /backup/html_`date +%F-%H`.tar.gz www/html/ 
           

56.tr 轉換字元串 *

主要選項:-d 删除

主要案例:轉換 tr 'abc' 'XYZ' < jingfeng.txt (a-X,b-Y,c-z)

57.id 檢視使用者和使用者組的資訊 *

主要選項:-u 僅顯示使用者的 uid -g 僅顯示使用者的 gid -G 僅顯示使用者所屬的所有組 ID -n 僅顯示名字而非 ID

主要案例:[root@db02 ~]# id john

uid=511(john) gid=511(john) groups=511(john)

58.du 檢視 linux 下目錄的容量 *

主要選項:-s 列出目錄容量,而不列出每個各别的目錄占用容量 -h 表示系統自動調節機關 -a 或-all 為每個指定檔案顯示磁盤使用情況,或者為目錄中每個檔案顯示各自磁盤使用 情況 –max-depth=<目錄層數> 超過指定層數的目錄後,予以忽略

主要案例:[root@db02 ~]# du -sh /etc

30M /etc

59.date 設定和顯示時間 *

主要選項:-s 修改并設定時間 -d 可以顯示以前和未來的時間 %H 小時 %M 分鐘 %S 秒 %X 相當于%H %M %S %F 顯示目前所有時間屬性 %Y 完整年份 %m 月 %d 日 %A 星期的全稱

主要案例:date +%F

date -s “2017-03-09 18:56:00” 
      echo `date +%F` 工作中會用到的 
      echo $(date +%F) 工作中會用到的 
      date +%F -d “-2day” 2 天以前的時間 
      tar zcf etc.tar$(date +%F).gz /etc 
           

60.whereis 查找檔案幫助、源代碼、指令

主要案列:whereis ifconfig

61.locate 根據資料庫裡内容查找檔案

主要案列:locate ifconfig

62.readlink 檢視軟連結的源檔案在哪

主要案列:readlink 後面接軟連結檔案

63.rename 重命名軟體 *

主要案列:rename "_finished" "" *

64.basename:basename 和 dirname 指令通常用于 shell 腳本中的指令替換來指定和

指定的輸入檔案名稱有所差異的輸出檔案名稱。

主要案例:basename /root/jingfeng1270.txt

jingfeng1270.txt            

65.dirname:去除檔案名中的非目錄部分,僅顯示與目錄有關的内容

主要案例: dirname /root/jingfeng1270.txt

/root            

66.md5sum 計算和校驗檔案的 md5 值 *

主要選項:-c 從指定檔案中讀取 MD5 校驗和,并進行校驗

主要案例:md5sum jf.txt

md5sum jf.txt >> jingfeng.txt 
      md5sum -c jingfeng.txt 
      jf.txt: OK 
           

67.chmod 改變檔案權限 *

主要選項:-R 遞歸改變目錄下所有子目錄和檔案的權限

主要案列:-rwxr-xr-x root root

數字方式:r=4 w=2 x=1 
  使用方法:chmod 777 jingfeng.txt 
            ls -l jingfeng.txt 
            -rwxrwxrwx 
           

68.chown 改變檔案和目錄的所有者 *

主要選項:-R 遞歸改變目錄下所有子目錄和檔案的所有者

主要案列:ls -l jingfeng.txt

-rwxr-xr-x root root 
  chown jingfeng jingfeng.txt 
  ls -l jingfeng.txt 
  -rwxr-xr-x jingfeng root            

chown 使用者:組 檔案或目錄

69.umask 修改 umask 值

當 umask 值都為偶數,直接相減 如果有奇數,對應為加一 注意:之是以檔案用 666 去減,表示檔案預設不能擁有執行權限。如果減得的結果中有執行權限, 則需要将其加一。是以這個對目錄而言,是沒有任何效果的

主要案列:umask 022

70.chattr 增加隐藏屬性 *

主要選項:-a 可以增加内容,但是不能減少或删除檔案 +i 鎖定檔案,讓其不能增加,删除,修改

主要案例:chattr +i jingfeng.txt

chattr -i jingfeng.txt  #取消鎖定 
           

71.lsattr 檢視隐藏屬性 *

主要選項:lsattr jingfeng.txt

72.groupadd 建立一個組使用者 *

主要選項:-g 建立組的 gid -r 建立系統組

主要案例:groupadd -g 504 jf

73.usermod 更改使用者屬性 *

主要選項:-c 注釋 -d 更新使用者新的家目錄。如果給定-m 選項,使用者舊的家目錄會搬到新的家目錄去,如 舊的家目錄不存在則建個新的 -e 加上使用者賬号停止日期 -g 更新使用者新的起始登入使用者組 -G 定義使用者為多個使用者組 -s 指定新登入的 shell -u 指定使用者的 UID -a 和-G 配合使用,表示追加新的使用者組,不覆寫 -m 隻能與-d 選項一同使用,用于将原來的家目錄移動為新的家目錄

主要案例:usermod -c "Handsomeboy" -u 806 -G root,jf -s /bin/sh -md /jf6 jf6

74.userdel 删除使用者 *

主要選項:-r 删除使用者的家目錄(此選項慎用)

主要案例:userdel -r jingfeng

75.crontab 定時任務 *

主要選項:-l 檢視 crontab 檔案内容 -e 編輯 crontab 檔案内容

主要案例:crontab -e

注意:假如直接用指令行去編輯的時候,後面不要加>/dev/null 2>&1

76.tac 倒叙的方式檢視檔案内容

主要案列:tac jf.txt

77.rev 将檔案中的每行内容已字元為機關反向輸出,即第一個字元最後輸出,最後

一個字元最先輸出

主要案例:rev jf.txt

78.cut 用來顯示行中的指定部分,删除檔案中指定字段 *

主要選項:-b 用位元組來切割 -c 用字元來切割 -d 指定字段的分隔符,預設的字段分隔符為“TAB” -f 顯示指定字段的内容(一般配合-d 使用) --output-delimiter=“ ” 可以把指定的分隔符替換成其他字段,比如說空格符

主要案例:ifconfig eth0|grep "inet addr:"|cut -c 21-33

192.168.203.8 
           

79.chage 修改使用者密碼有效期限 管理/etc/shadow *

主要選項:-l 檢視目前的設定 -E 将賬戶過期時間設為“過期日期”。日期寫法“2017-3-15”

主要案例:[root@db02 ~]# chage -l jingfeng

Last password change : Dec 31, 2016

Password expires : never

Password inactive : never

Account expires : never

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

80.sudo 用來以其他身份來執行指令,預設的身份為 root。在/etc/sudoers 中設定

了可執行 sudo 指令的使用者 *

主要選項:-l 檢視目前使用者可以執行的 sudo 指令

主要案例:[jf@web01 ~]$ sudo ifconfig

81.visudo 配置 sudo 權限的編輯指令 *

主要案例:visudo 進入編輯模式之後,在第 98 行左右,編輯使用者和指令(98gg)

root    ALL=(ALL)       ALL            

%jingfeng ALL=(ALL) /usr/sbin/useradd 使用者組前面一定加百分号

jf ALL=(ALL) /usr/sbin/useradd

定義多個别名:使用者和使用者組和多條指令

使用者别名分類

User_Alias ADMINS = jsmith, mikem

崗位指令分類

Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum

Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig

Cmnd_Alias LOCATE = /usr/bin/updatedb

Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount,

/bin/umount

Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp

角色

Runas_Alias OP1 = root, jf

Runas_Alias OP2 = oldgirl

ADMINS ALL=(OP1) SOFTWARE

82.groupdel 删除使用者組 *

注意:删除有使用者的組,需要先删除使用者,然後在删除組

主要案例:[root@db02 ~]# groupdel john

83.w 詳細檢視目前使用者的登陸情況 *

主要案例:[root@web01 ~]# w

11:06:21 up 3 days, 23:25, 2 users, load average: 0.00, 0.00, 0.00

第一行從左至右顯示的資訊依次為:時間、系統運作時間、登陸使用者數、平均負載:平均負載裡面的數字表示,

1 分鐘内,5 分鐘内,15 分鐘内,當數值超過目前系統核心數量的時候,表示系統已經有了壓力

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 192.168.203.1 Tue22 0.00s 0.00s 0.00s w

root pts/1 192.168.203.1 Mon21 16:01m 0.39s 0.39s -bash

84.who 檢視目前使用者登陸情況

主要案例:[root@web01 ~]# who

root pts/0 2017-03-14 22:12 (192.168.203.1)

root pts/1 2017-03-13 21:25 (192.168.203.1)

85.whoami 檢視目前使用者是什麼 *

主要案例:[root@web01 ~]# whoami

root

86.free 可以顯示目前系統未使用的和已使用的記憶體數目,還可以顯示被核心使用的

記憶體緩沖區 *

87.主要選項:-m 已 mb 為機關顯示

-h 以人類可讀的方式顯示            

主要案例:[root@web01 ~]# free -m

total       used       free     shared    buffers     cached            

Mem: 981 476 505 0 62 298

-/+ buffers/cache: 114 866 (工作看記憶體大小,主要看這裡)

Swap: 1023 0 1023

提示:1)linux 系統的特性是将系統不用的實體記憶體做為緩存或緩沖使用,是以,505 不是系統真實的記憶體

2)系統真正系統可用記憶體是 866M 
  3)buffers 為寫入緩沖區,sync 将緩沖區資料寫入磁盤 
  4)cache 為讀取資料的緩存區 
  5)硬碟是機械的,無論是寫入還是讀取都太慢了,是以讀取和寫入都是用了緩存技術 
  6)門戶網站架構都會用緩存技術,來讓使用者寫入讀取盡可能不接觸硬碟 
           

88.od 檢視二進制檔案

主要案列:od /bin/ls

89.dd 用于複制檔案并對原檔案的内容進行轉換和格式化處理

主要案列:dd if=/dev/zero of=/root/jingfeng.txt bs=1M count=1 建立一個 1M 的檔案

90.fdisk 用于觀察硬碟實體使用情況,也可對硬碟分區 *

主要選項:-l 列出分表情況

主要案例:fdisk /dev/sdb 為第二塊硬碟進行分區

Command (m for help): m

Command action

a toggle a bootable flag

b edit bsd disklabel

c toggle the dos compatibility flag

d delete a partition 删除分區

l list known partition types

m print this menu

n add a new partition 建立一個新的分區

o create a new empty DOS partition table

p print the partition table 列出磁盤目前的分區情況

q quit without saving changes 直接退出不修改分區

s create a new empty Sun disklabel

t change a partition's system id

u change display/entry units

v verify the partition table

w write table to disk and exit 儲存分區表并退出(這個選項慎用)

x extra functionality (experts only)

使用實體分區建構 swap

fdisk /dev/sdb 分成一個分區

mkswap /dev/sdb1

free -m

swapon /dev/sdb1

fdisk 之後需要通知核心強制重讀磁盤分區表:

Centos5:partprobe[device] 
         Centos6 和 7:partx,kpartx 
               partx -a [device] 
               Kpartx -af [device] 
           

91.parted 磁盤分區管理工具,比 fdisk 更加靈活。當磁盤大于 2T 的時候,需要用

到這個指令,并且這個指令分區的時候,是實時生效的,是以分區時一定要慎重

主要案列:[root@localhost ~]# parted /dev/sdb GNU Parted Copyright (C) 1998 - 2004 free Software Foundation,

Inc. This program is free software, covered by the GNU General Public License. This program is distributed in the

hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more

  1. 使用/dev/sdb

(parted)mklabel gpt

(parted)mkpart primary 0 2048(機關是 M)

(parted)Ignore

(parted)quit

92.mkfs 建立檔案系統 *

主要選項:-t 指定檔案系統格式

主要案列:mkfs -t ext4 /dev/sdb

93.fsck 磁盤檢驗

主要案列:fsck -t ext4 /dev/sda6 沒壞的磁盤一定不要使用這個指令

94.partprobe 把分區表的修改變化通知核心

一般配合 fdisk 和 parted 使用

主要案例:partprobe /dev/sdb

95.mkswap 格式化 swap 分區

主要選項:-L 指明卷标 -f 強制

主要案列:mkswap /dev/sdb1

96.swapon 使用 swap 分區

主要案列:swapon /dev/sdb1

97.swapoff:不使用 swap 分區

主要案例:swapoff /dev/sdb1

98.tune2fs:修改檔案系統資訊 (很少用到)

主要參數:-i 檢視超級塊的内容 -j 修改檔案系統 -L 修改卷标 -m 調整預留白間百分比 -O 開啟或關閉某種特性 -o 開啟或關閉某種預設挂載選項 主要案例:tune2fs -c 30 /dev/hda1 設定強制檢查前檔案系統可以挂載的次數 tune2fs -c -l /dev/hda1 關閉強制檢查挂載次數限制。 tune2fs -i 10 /dev/hda1 10 天後檢查 tune2fs -i 1d /dev/hda1 1 天後檢查 tune2fs -i 3w /dev/hda1 3 周後檢查 tune2fs -i 6m /dev/hda1 半年後檢查 tune2fs -i 0 /dev/hda1 禁用時間檢查 tune2fs -j /dev/hda1 添加日志功能,将 ext2 轉換成 ext3 檔案系統 tune2fs -r 40000 /dev/hda1 調整/dev/hda1 分區的保留白間為 40000 個磁盤塊 tune2fs -o acl,user_xattr /dev/hda1 設定/dev/hda1 挂載選項,啟用 Posix Access Control Lists 和使用者指 定的擴充屬性

99.megacli:檢視 raid 資訊

主要案例:megacli

100.ipmitools:檢視硬體資訊工具

主要案列:ipmitools

101.resize2fs:調整檔案系統大小(LVM,brbd)

主要案列:resize2fs

102split:按照指定的大小或行數分割檔案

主要選項:-l 指定行數 -a 指定生成檔案字尾長度 split -l 10 -a 4 jingfeng.txt jingfeng_(預設是 2 位元組) -d 指定檔案字尾為數字 -b 指定檔案大小

主要案例:split -l 10 /etc/inittab new_

103.paste:把每個檔案以列對列的方式,一列列地加以合并

主要選項:-d 指定分隔符 -s 已行來指定檔案

主要案例:paste -d :jingfeng.txt jingfeng1.txt

paste -sd '=\n' svn.txt 
           

104.sort:将檔案的每一行作為一個機關,然後升序排列(預設按照 accll 碼排序,

升序,從小到大)*

主要選項:-n 按照數值排序 sort -n jingfeng.txt -r 倒叙排列數值 sort -r jingfeng.txt -u 去除重複行 -t 指定分隔符 -k 指定區域 -f 忽略字元大小寫

主要案例: awk 'BEGIN{RS="[:/0-9 |n]+"}{print $0}' 、passwd | sort | uniq -c | sort -rn 統計單詞數

head -10 /etc/passwd|tail -5|sort -t : -k 3 -n|cut -d : -f1  #以冒号分隔,取出           

/etc/passwd 檔案的第 6 至第 10 行,并将這些資訊按第三個字段的數值大小進行排序,最後僅顯示各自的第一個

字段

105.dos2unix:windows 格式轉換成 unix 格式 *

主要案列:dos2unix jingfeng.txt

106.diff:用于比較檔案或目錄的内容,特别是比較兩個版本不同的檔案以找到改動

的地方 *

提示符: a add 增加 c chage 改變 d delate 删除 主要選項:-u 顯示行修改的上下文,預設為上下 3 行

主要案例:diff jingfeng.txt jingfeng1(比較兩個檔案内容有什麼不同)

diff /etc/rc3.d/ /etc/rc6.d/ 
           

107.vimdiff:可視化的比較工具,和 diff 一樣,就是多了 vim 可視化(可以比較 4

個檔案) *

主要案列:vimdiff jingfeng.txt jingfeng1 jingfeng2 jingfeng3

108.tr:轉換删除字元串 *

主要案列:轉換 tr 'abc' 'XYZ' < jingfeng.txt (a-X,b-Y,c-z)

109.tee:多重定向

主要選項:-a 追加重定向

主要案例:ls|tee /tmp/ls.txt

cat /etc/passwd|tee /tmp/passwd.txt|tr ‘a-z’ ‘A-Z’ 把 cat 的資料通過管道輸入到 tr 指令           

并且儲存到/tmp/passwd.txt 檔案中

110.dig:解析域名 *

主要選項:-t 正向解析,直接跳過本地的 hosts 檔案,解析 DNS 配置的 IP -x 反向解析

主要案例:dig www.baidu.com (這樣解析不是很完美)

dig @8.8.8.8 www.baidu.com +trace (完美解析) 
      dig -t A www.baidu.com 
           

111.nslookup:DNS 服務診斷工具

主要案例:nslookup

>baidu.com             

112.host:域名解析工具

主要案例:host www.baidu.com

113.ping:網絡服務診斷工具 *

主要選項:-c 指定發送的 ping 包個數 -w 指定 ping 指令逾時時長 -W 一次 ping 操作中,等待對方響應的逾時時長 -s 指定 ping 包封包大小

主要案列:ping www.baidu.com

114.route:配置預設網關和網絡靜态路由 *

主要選項:-n 檢視網關資訊 -net 到一個網絡的路由表

主要案例:route add default gw 網關(添加網關,但是是臨時生效)

route del default gw 網關(删除網關) 
     route add -net 192.168.0.0/24 gw 10.10.10.2 (添加 192.168.0.0 這個網段,并從 10.10.10.2 這           

個網關出去)

115.ifconfig:顯示網卡資訊 *

主要選項:-a 顯示所有接口

主要案例:ifconfig eth0 10.0.0.100/24 up

ifconfig eth0 (隻檢視一塊網卡) 
      ifconfig eth0:0 192.168.1.1/24 up(配置在一塊網卡上配置多個 IP,網卡或者系統重新開機失效) 
      ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up 
      ifconfig eth0:0 down (删除 IP) 
           

116.ip:檢視網卡資訊(未來趨勢)*

主要選項:ip address 檢視網卡資訊

ip address add:添加 ip 位址                 ip address del:删除 ip 位址                 ip address show:指定檢視接口的資訊                 ip address flush:清空端口的 ip 位址           ip route 檢視路由                 ip route add:添加新的路由                 ip route change:修改路由                 ip route replace:修改或添加新的                 ip route delete:删除路由                 ip route show:列出路由表           ip link 檢視不同網絡接口的統計資料 注意:ip 指令大部分選項都可以簡寫            

主要案例:ip addr add 10.0.0.13/24 dev eth0:3(配置在一塊網卡上配置多個 IP,網卡或者系統重新開機失效)

ip addr del 10.0.0.13/24 dev eth0:3 (删除 IP) 
      ip link show eth1  #指定檢視接口的資訊 
      ip address show  #檢視 IP 位址(同 ifconfig) 
      ip address flush dev eth0  #清空 eth0 的 ip 位址 
      ip route add 192.168.0.0/24 via 10.0.0.2 dev eth1 
      ip route add default via 10.0.0.2            

注意:配置子接口,需要在/etc/sysconfig/network-scripts/裡配置一個 ifcfg-eth0:0,這樣才能永久有效

117.netstat:檢視程序或者端口 *

主要參數:-a 檢視所有 -p 顯示正在運作的程序 -u 顯示 udp 協定相關的程序或者端口 -t 顯示 tcp 協定相關的程序或者端口 -n 已數字顯示 -l 僅列出有在 Listen (監聽) 的服務狀态 -r 顯示路由表

主要案列:netstat -lntup|grep 80

netstat -rn 
           

118.lsof:檢視端口 *

主要參數:-i 列出符合條件的程序。(4、6、協定、:端口、 @ip )

主要案例:lsof -i :80

lsof |grep del  檢視被删除的程序            

注意:lsof /mnt 當 umount /mnt 無法解除安裝的時候,可以使用這個指令,來檢視是否有程序在使用 中

119.traceroute:用于追蹤網絡資料包在網絡上傳輸時所經過的路徑 *

主要參數:-n:直接使用 IP 位址而非主機名稱

主要案例:traceroute www.baidu.com

120.tcpdump:抓包工具 *

主要參數:-i 指定端口 -n 指定協定 -t 在輸出的每一行不列印時間戳 -S 将 tcp 的序列号以絕對值形式輸出,而不是相對值 -c 在收到指定的數量的分組後,tcpdump 就會停止

主要案列:tcpdump -n icmp -i eth0

tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24            

w ./target.cap

(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp 這些選項等都要放到第一個參數的位置,用來過濾資料報的類型

(2)-i eth1 : 隻抓經過接口 eth1 的包

(3)-t : 不顯示時間戳

(4)-s 0 : 抓取資料包時預設抓取長度為 68 位元組。加上-S 0 後可以抓到完整的資料包

(5)-c 100 : 隻抓取 100 個資料包

(6)dst port ! 22 : 不抓取目标端口是 22 的資料包

(7)src net 192.168.1.0/24 : 資料包的源網絡位址為 192.168.1.0/24

(8)-w ./target.cap : 儲存成 cap 檔案,友善用 ethereal(即 wireshark)分析

121.uniq:用于去除或忽略檔案中的重複行,一般和 sort 結合使用 *

主要選項:-c 在每列旁邊顯示該行重複出現的次數 -d 僅顯示重複的行 -u 僅顯示不曾重複的行 主要案例:sort file.txt | uniq -c 統計各行在檔案中出現的次數 awk 'BEGIN{RS="[ :/0-9n]+"}{print $0}' jingfeng.txt|sort -n|uniq -c

3 adm       1 bash       5 bin       2 daemon       3 halt       2 lp       1 lpd       3 mail       6 nologin       3 root       12 sbin 
           

122.column:有序的排序

主要參數:-t 判斷輸入行的列數來建立一個表。分隔符是使用在-s 中指定的字元。如果沒有指定分 隔符,預設是空格

主要案例:column -t

123.rsync:備份工具 *

主要選項:-v 詳細模式輸出,傳輸時的進度等資訊 -z 傳輸時進行壓縮以提高傳輸效率 -a 歸檔模式,表示以遞歸方式傳輸檔案,并保持所有檔案屬性,等于-rtopgdl --bwlimit=10 限制傳輸速度 --exclude=PATH:表示指定排除不需要傳輸的檔案,等号後面跟檔案名,可以是萬用字 符模式(如*.txt) --delete:表示删除 DST 中 SRC 沒有的檔案 -L:會把軟連結指向的目标檔案複制到對端目錄中 -e:指定使用 ssh 還是其他方式來資料同步

主要案例:主要案列:本地模式 rsync -avz /tmp/ /jf/

使用遠端 ssh 來傳遞檔案:rsync -avz /etc/hosts -e 'ssh -p 22' [email protected]:/home/jf/            

ssh key (免密鑰的方式)

124.mail:郵件服務

主要選項:-s 指點郵件主題

vim /etc/mail/rc 編輯郵件服務配置檔案 set [email protected] set smtp=smtp.163.com set [email protected] set smtp-auth-password=jingfeng66207383 set smtp-auth=login

主要案列:mail -s “标題” 郵件位址<檔案

mial -s “jf”[email protected] </etc/hosts 
      echo “正文”|mail -s “jf” [email protected] 
           

125.umount:解除安裝挂載服務

主要選項:-f 強制解除安裝 -l 并不是馬上 umount,而是在該目錄空閑後再 umount

主要案例:umount -lf /mnt

lsof /mnt  當 umount /mnt 無法解除安裝的時候,可以使用這個指令,來檢視是否有程序在使用中 
           

126.showmount:檢視挂載

主要選項:-e 顯示 NFS 服務輸出的目錄清單

主要案例:showmount -e 10.0.0.14

127.inotifywait:在被監控的檔案或目錄上等待特定檔案系統時間(open、close、

delete)發生,執行後處于阻塞狀态,适合在 shell 腳本中使用

主要參數:-r 遞歸查詢目錄 -q 列印監控事件的資訊 -m 始終保持事件監聽狀态 --excludei 排除檔案或目錄時,不區分大小寫 --timefmt 指定時間輸出的格式 --format 列印使用指定的輸出類似格式字元串 -e 通過此參數可以指定需要監控的時間,如下所示: access 檔案或目錄被讀取 modify 檔案或目錄内容被修改 attrib 檔案或目錄屬性被改變

close 檔案或目錄封閉,無論讀/寫模式           open 檔案或目錄被打開           moved_to 檔案或目錄被移動至另外一個目錄           move 檔案或目錄被移動另一個目錄或從另一個目錄移動至目前目錄           create 檔案或目錄被建立在目前目錄           delete 檔案或目錄被删除            unmount 檔案系統被解除安裝            

主要案列:inotifywait -mrq --format ‘%w%f’ -e create,delete /backup 實時監控 backup 某個事件的狀态

128.sersync:實時同步工具 *

主要選項:-d 啟用守護程序模式 -r 在監控前,将監控目錄與遠端主機用 rsync 指令推送一遍 -n 指定開啟守護程序的數量,預設為 10 個 -o 指定配置檔案,預設使用 confxml.xml 檔案

主要案例:/application/sersync_installdir_64bit/sersync/bin/sersync -d -r -n 8 -o

/application/sersync_installdir_64bit/sersync/conf/confxml.xml

129.watch:周期性執行程式,列印到目錄,預設 2 秒

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

主要案例:watch -n 1 -d netstat -ant

130.ssh:linux ssh 用戶端工具 *

主要選項:-p 指定端口 -t 打開終端

主要案例:ssh -p22 [email protected]

131.scp:遠端複制 *

主要選項:-P 指定端口 -r 複制目錄 -p 保持屬性

-l 限速            

主要案例:scp -P22 -rp /etc [email protected]:/tmp

132.help:内置指令的幫助 *

主要案列:help cd

133.hash:shell 搜尋到的外部指令的路徑結果會緩存至記憶體緩存中

主要選項:-d 指定删除某個指令 -r 清空所有

主要案例:hash -d help

hash -r 
           

134.wget:下載下傳指令 *

主要選項:-q 不顯示下載下傳過程 -O 指定檔案名 -b 在背景執行下載下傳操作 -c 斷點續傳 --spider 爬蟲,檢查網站是不是好的,不會下載下傳,隻會檢查 -T, –timeout=SECONDS 設定響應逾時的秒數 --tries=2 指定重試的次數 --limit-rate=amount 以指定的速率傳輸檔案 主要案例:wget -O /etc/yum.repos.d/CentOS-Base.repo

http://mirrors.aliyun.com/repo/Centos-6.repo

135.curl 下載下傳工具 *

主要參數:-I 檢視響應 header 資訊 -s 安靜的 -w 擷取狀态碼 -o 把輸出寫到該檔案中

主要案例:[root@m01 ~]# curl www.etiantian.org

www

[root@m01 ~]# curl bbs.etiantian.org

bbs

curl -o /etc/yum.repos.d/CentOS-Base.repo

http://mirrors.aliyun.com/repo/Centos-5.repo

136.rpm :RPM 是 RPM 軟體包的管理指令 *

Rpm 包的命名格式:redis-3.0.2-1.centos7.x64.rpm 3.0.2-1 是版本号 Centos7 是适用于哪個平台 x64 是 32 位還是 64 位系統 主要選項:-a 檢視所有軟體包 -f 檢視指定檔案的軟體包 -q 使用詢問模式,當遇到任何問題時。Rpm 會先詢問使用者 -l 顯示軟體包的檔案清單 --nodeps 忽略軟體包的依賴關系強行安裝 -e 删除指定的軟體包 --force 忽略軟體包及檔案的沖突 -h 軟體包安裝時列出标記 -v 列印輸出 -U 更新指定的軟體包 -i 安裝軟體包 -c 查詢指定的程式提供的配置檔案 -i 程式包相關的資訊,版本号,大小,所屬的包組等 -d 查詢指定的幫助文檔 -R 查詢指定包的依賴關系 --replacepkgs 重新安裝 --noslgnature 不檢查包簽名資訊,不檢查來源合法性 --nodigest 不檢查包完整性資訊 --force 強制更新 --allmatches 解除安裝所有比對指定名稱的程式包的各版本 --whatrequires 查詢指定的指令或者檔案被哪個包所依賴

主要案例:

-ivh:安裝顯示安裝進度--install--verbose--hash

-Uvh:更新軟體包--Update;

-qpl: 列出 RPM 軟體包内的檔案資訊[Query Package list];

-qpi:列出 RPM 軟體包的描述資訊[Query Package install package(s)];

-qf:查找指定檔案屬于哪個 RPM 軟體包[Query File];

-Va:校驗所有的 RPM 軟體包,查找丢失的檔案[View Lost];

-e:删除包

rpm -q samba //查詢程式是否安裝

rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm //按路徑安裝并顯示進度

rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安裝目錄

rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm //用來檢查依賴關系;并不是真正的安裝;

rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降級為舊版本

rpm -qa | grep httpd #[搜尋指定 rpm 包是否安裝]--all 搜尋httpd

rpm -ql httpd #[搜尋 rpm 包]--list 所有檔案安裝目錄

rpm -qpi Linux-1.4-6.i368.rpm #[檢視 rpm 包]--query--package--install package 資訊

rpm -qpf Linux-1.4-6.i368.rpm #[檢視 rpm 包]--file

rpm -qpR file.rpm #[檢視包]依賴關系

rpm2cpio file.rpm |cpio -div #[抽出檔案]

rpm -ivh file.rpm #[安裝新的 rpm]--install--verbose--hash

rpm -ivh

http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm

rpm -Uvh file.rpm #[更新一個 rpm]--upgrade

rpm -e file.rpm #[删除一個 rpm 包]--erase

rpm -ivh --aid *.rpm #--aid 參數解決 RPM 包循環依賴的問題

rpm -qf $(which inotifywait) #查找指令所在的軟體包

rpm -ivh --replacepkgs 安裝包 #重新安裝

137.yum:linux 包管理器 *

主要選項:-y(當安裝過程提示選擇全部為"yes") --nogpgcheck 禁止進行 gpg check -q 靜默模式 --disablerepo=repoidglob 臨時禁用此處指定的 repo --enablerepo=repoidglob 臨時啟用此處指定的 repo --noplugins 禁用所有插件 顯示倉庫清單:repolist [all|enabled|disabled] 顯示程式包:list # yum list [all | glob_exp1] [glob_exp2] [...] # yum list {available|installed|updates} [glob_exp1] [...] 安裝程式包:install package1 [package2] [...] reinstall package1 [package2] [...] (重新安裝) 更新程式包:update [package1] [package2] [...] downgrade package1 [package2]

...

檢查可用更新:check-update 解除安裝程式包:remove | erase package1 [package2] [...] 檢視程式包 information:info [...] 檢視指定的特性(可以是某檔案)是由哪個程式包所提供:provides | whatprovides feature1 [feature2] [...]

清理本地緩存:clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 搜尋:search string1 [string2] [...] 以指定的關鍵字搜尋程式包名及 summary 資訊; 檢視指定包所依賴的關系:deplist package1 [package2] [...] 檢視 yum 的事務曆史:yum history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats] 注意:yum -y update 更新所有包同時也更新軟體和系統核心 yum -y upgrade 隻更新所有包,不更新軟體和系統核心

主要案例:yum -y install tree

怎麼使用 YUM 指令更新所有 RPM 軟體包? 
      yum update 
      怎麼使用 YUM 指令更新單個 RPM 軟體包 
      yum update 軟體名稱 
      使用 YUM 安裝 RPM 軟體包 
      yum install 軟體名稱 
      yum repolist 檢視目前系統使用的源 
      yum list 檢視 yum 源所有已安裝的和未安裝的包 
      yum grouplist 列出所有安裝過的和未安裝的套件 
      yum provides COMMAND 
           

138.kill 結束程序,但是後面隻能加上 pid 程序的号碼 *

常用信号:1 無須關閉程序而讓其重讀配置檔案 2 終止正在運作的程序,相當于 Ctrl+c 3 退出正在運作的程序 9 殺死運作中的程序(慎用) 15 終止運作中的程序 18 繼續 19 暫停 主要案例:kill 3268

kill -9 pid 很危險,無論這個程序是否存在,都會殺死 
           

139.killall 指令使用程序的名稱來殺死程序

主要案例:killall rsync

140.pkill 可以殺掉指定名字的程序,還可以根據各種屬性殺掉程序(程序名可以不

是全名,但必須是唯一) *

主要案例:pkill rsync

pkill rsyn 
           

141.pstree 把程序已樹狀結構列出 *

主要案例:[root@db02 ~]# pstree

init─┬─atd

├─crond 
 ├─6*[mingetty] 
 ├─mysqld_safe───mysqld───21*[{mysqld}] 
 ├─rsyslogd───3*[{rsyslogd}] 
 ├─sh───mysqld───23*[{mysqld}] 
 ├─sshd───sshd───bash───pstree 
 └─udevd───2*[udevd] 
           

142.ps 顯示目前運作的程序 *

主要選項:a 所有與終端相關的程序                 x 所有與終端無關的程序                 u 以使用者為中心組織程序狀态資訊顯示                 o 自定義要顯示的字段清單,以逗号分隔                   常用的 field:pid,ni,pri,psr,pcpu,stat,comm,tty,ppid                 -e 顯示所有程序                 -f 顯示完整格式的程序資訊                 -F 顯示更加完整格式的程序資訊                 -H 以層級結構顯示程序的相關資訊            

主要案例:常用組合之一:aux

常用組合之二:-ef 
      常用組合之三:-eFH 
      常用組合之四:-eo 或者 axo 
           

143.pidof 根據程序名,取其 pid

主要案例:pidof sshd

144.top 實時顯示系統中各個程序的資源占用情況 *

主要選項:-d 指定重新整理時間間隔,預設為 3 秒 -b 以批次方式顯示 -n 顯示多少批次

主要案例:top 顯示,按 q 退出

top -b -n 1 
           

145.htop 比 top 更加好的指令

注意:htop 是一個新的指令,是以 linux 系統中是沒有,需要 yum install htop -y,但是 yum 之前, 需要更新一下 epol 源 wget -O /etc/yum.repos.d/epel.repo

http://mirrors.aliyun.com/repo/epel-6.repo

主要選項:-d 指定延遲時間間隔 -u 僅顯示指定使用者的程序 -s 以指定字段進行排序

主要案列:htop

146.vmstat 顯示系統中各個程序的資源占用情況

主要選項:-s 顯示記憶體統計資料

主要案例:[root@db02 ~]# vmstat 2 #每隔兩秒進行一次監控

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

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

0 0 451020 64936 23864 148060 0 2 3 2 16 64 0 0 100 0 0

vmstat 每一列的解釋:

procs:

r:等待運作的程序的個數。CPU 上等待運作的任務的隊列長度 
b:處于不可中斷睡眠态的程序個數,被阻塞的任務隊列的長度            

memory:

swpd:交換記憶體使用總量 
free:空閑的實體記憶體總量 
buffer:用于 buffer 的記憶體總量 
cache:用于 cache 的記憶體總量            

swap:

si:資料進入 swap 中的資料速率 
so:資料離開 swap 的速率            

lo:

bi:從塊裝置讀入資料到系統的速度 
bo:儲存資料至塊裝置的速率            

system:

in:中斷速率 
cs:上下文,切換的速率            

cpu:

us:user space 
sy:system 
id:idle 
wa:wait 
st:stolen 
           

147.glances 實時顯示系統中各個程序的資源占用情況

主要選項:-b 以 byte 為機關顯示網上資料速率 -d 關閉磁盤 I/O 子產品 -m 關閉 mount 子產品 -n 關閉 network 子產品 -t 重新整理時間間隔 -1 每個 cpu 的相關資料單獨顯示 -o 輸出格式 -f 設定輸出檔案的儲存目錄

主要案例:glances

148.dstat 實時顯示系統中各個程序的資源占用情況 *

主要選項:-c 顯示 cpu 的相關資訊 -d 顯示磁盤的相關資訊 -g 顯示 page 相關的統計資料 -m 顯示記憶體的相關統計資料 -n 顯示網絡的相關統計資料 -p 顯示程序的相關統計資料 -r 顯示 io 請求的相關的統計資料 -s 顯示 swqpped 的相關統計資料 --tcp --udp --raw --socket --top-cpu 顯示最占用 cpu 的程序 --top-io 顯示最占用 io 的程序 --top-mem 顯示最占用記憶體的程序 --top-lantency 顯示延遲最大的程序

主要案列:

149.fpm 簡易的 rpm 打包軟體 *

主要選項:-s 指定源類型 -t 指定目标類型 -n 指定包的名字 -v 指定包的版本号 -C 指定打包的相對路徑 -d 指定依賴于哪些包 -f 第二次打包時如果有同名安裝包存在,則覆寫 -p 輸出的安裝包的目錄,不想放在目前目錄下就需要指定 -post-install 軟體包安裝完成之後所要運作的腳本 -pre-install 軟體包安裝完成之前所要運作的腳本 -post-uninstall 軟體包解除安裝完成之後所要運作的腳本 -pre-uninstall 軟體包解除安裝完成之前所要運作的腳本

主要案列:fpm -s dir -t rpm -n nginx -v 1.6.3 -d 'pcre-devel,openssl-devel' --post-install

/sercer/scripts/nginx_rpm.sh -f /application/nginx-1.6.3/

150.ulimit 用來限制系統使用者對 shell 資源的通路。

如果不懂什麼意思,下面一段内容可以幫助你了解: 假設有這樣一種情況,當一台 Linux 主機上 同時登陸了 10 個人,在系統資源無限制的情況下,這 10 個使用者同時打開了 500 個文檔,而假設 每個文檔的大小有 10M,這時系統的記憶體資源就會受到巨大的挑戰。 而實際應用的環境要比這種 假設複雜的多,例如在一個嵌入式開發環境中,各方面的資源都是非常緊缺的,對于開啟檔案描述 符的數量,配置設定堆棧的大 小,CPU 時間,虛拟記憶體大小,等等,都有非常嚴格的要求。資源的合 理限制和配置設定,不僅僅是保證系統可用性的必要條件,也與系統上軟體運作的性能有着密不可分的 聯 系。這時,ulimit 可以起到很大的作用,它是一種簡單并且有效的實作資源限制的方式。 ulimit 用于限制 shell 啟動程序所占用的資源,支援以下各種類型的限制:所建立的核心檔案的大小、進 程資料塊的大小、Shell 程序建立檔案的大小、記憶體鎖住的大小、常駐記憶體集的大小、打開檔案描述 符的數量、配置設定堆棧的最大大小、CPU 時間、單個使用者的最大線程數、Shell 程序所能使用的最大 虛拟記憶體。同時,它支援硬資源和軟資源的限制。 作為臨時限制,ulimit 可以作用于通過使用其命 令登入的 shell 會話,在會話終止時便結束限制,并不影響于其他 shell 會話。而對于長期的固定 限制,ulimit 指令語句又可以被添加到由登入 shell 讀取的檔案中,作用于特定的 shell 使用者。 主要參數:-a:顯示目前資源限制的設定; -H:設定資源的硬性限制,也就是管理者所設下的限制; -n <檔案數目>:指定同一時間最多可開啟的檔案數; -S:設定資源的彈性限制;

主要案列:ulimit -SHn 65535

151.hwclock 顯示硬體時鐘

主要選項:-s 讓系統時間同步硬體時間 -w 讓硬體時間同步系統時間

主要案列:hwclock

152.groupmod 組屬性修改

主要參數:-n 修改組名 -g 新的 GID

主要案例:groupmod -g 1000 jf

153.gpasswd 組密碼修改 *

主要參數:-a 将使用者添加至指定組中 -d 從組中移除使用者 -A 設定有管理權限的使用者清單(設定之後,在 sudo 管理檔案可以看見) -M 添加多個使用者到一個組

主要案例:gpasswd -a jf test

gpasswd -A jf oldgirl root 
           

154.newgrp 臨時切換基本組

如果使用者不屬于此組,則需要組密碼 主要參數:- 會模拟使用者重新登陸以實作重新初始化其工作環境            

主要案例:newgrp test

155.iconv 用來轉換檔案的編碼方式

156.ss 網絡狀态工具(比 netstat 更加強大的工具) *

主要參數:-h, --help 幫助資訊 -n, --numeric 不解析服務名稱

-r, --resolve 解析主機名           -o, --options 顯示計時器資訊           -e, --extended 顯示詳細的套接字(sockets)資訊           -p, --processes 顯示使用套接字(socket)的程序           -i, --info 顯示 TCP 内部資訊           -s, --summary 顯示套接字(socket)使用概況           -t, --tcp 僅顯示 TCP 套接字(sockets)           -u, --udp 僅顯示 UCP 套接字(sockets)           -d, --dccp 僅顯示 DCCP 套接字(sockets)           -l 監聽狀态的連接配接           -a 所有狀态的連接配接           -m 記憶體用量            

主要案例:ss -lntup|grep rsync

tcp LISTEN 0 5 :::873 :::*

users:(("rsync",1329,5))

tcp LISTEN 0 5 :873 :*

users:(("rsync",1329,3))

157.sshpass 非互動的 ssh 操作

主要參數:-p 端口

主要案列:sshpass -p66207383 ssh 172.16.1.7 hostname

158.set 設定 shell *

主要參數:-C 禁止使用輸出重定向覆寫已存在的檔案 如果想強制覆寫輸出,可使用:>|

主要案例:set -C 禁止使用輸出重定向覆寫已存在的檔案

set +C 關閉上訴功能 
           

159.install 安裝或更新軟體或備份資料

它的使用權限是所有使用者。install 指令和 cp 指令類似,都可以将檔案/目錄拷貝到指定的地點。但 是,install 允許你控制目标檔案的屬性。install 通常用于程式的 makefile,使用它來将程式拷貝到目 标(安裝)目錄。 主要參數:-m 設定目标檔案權限,預設為 755 -o 設定目标檔案屬主

-g 設定目标檔案屬組           -d 建立目錄            

主要案列:install -m 644 /etc/passwd /tmp/

install -m 644 -o jingfeng -g jf /etc/passwd /tmp/ 
      install -d jingfeng/ 
           

160.mktemp 建立一個臨時的随機命名的檔案或者目錄

注意:一個月之後就會被删除 主要參數:-d 建立臨時目錄

主要案列:mktemp /tmp/jingfeng.xxx

161.uptime 檢視系統平均負載 *

主要案例:[root@db02 ~]# uptime

14:02:28 up 6 days, 4:06, 1 user, load average: 0.00, 0.00, 0.00

1.目前時間為:14:02:28

2.系統已運作的時間:6 days, 4:06

3.目前線上使用者:1 user

4.平均負載:0.00, 0.00, 0.00,最近 1 分鐘、5 分鐘、15 分鐘系統的負載

162.export 檢視環境變量 *

主要案例:[root@db02 ~]# export

declare -x MAIL="/var/spool/mail/root"

declare -x MODULEPATH="/usr/share/Modules/modulefiles:/etc/modulefiles"

declare -x MODULESHOME="/usr/share/Modules"

declare -x OLDPWD

declare -x PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"

declare -x PWD="/root"

declare -x SHELL="/bin/bash"

declare -x SHLVL="1"

declare -x SSH_CLIENT="10.0.0.1 62252 22"

declare -x SSH_CONNECTION="10.0.0.1 62252 10.0.0.52 22"

declare -x SSH_TTY="/dev/pts/1"

declare -x TERM="xterm"

declare -x USER="root"

163.readonly 隻讀變量

注意:隻讀變量無法重新指派,并且不支援撤銷。存活時間為目前 shell 程序的生命周期,随 shell 程序終止而終止

主要案例:readonly name

164.patch 向檔案打更新檔

主要選項:-i 讀取指定的修補檔案

主要案列:patch jingfeng.new jingfeng.txt

165.通路控制清單 facl:

檔案的額外賦權機制,在原來的 u,g,o 之外,另一層讓普通使用者能控制賦權給另外使用者或組的賦 權機制 getfacl 指令:檢視通路控制清單 getfacl FILE....... setfacl 指令:設定通路控制清單 賦權給使用者: setfacl -m u:USERNAME:MODE FILE...... 賦權給組: setfacl -m g:GROUPNAME:MODE FILE..... 撤銷賦權: setfacl -x u:USERNAME FILE..... setfacl -x g:GROUPNAME FILE.....

166.mke2fs:ext 系列檔案系統專用管理工具

主要選項:-t 指定要建立的檔案系統類型 -b 指定檔案系統的塊大小 -L 指明卷标 -J 建立有日志功能的檔案系統 -i 指定 inode 與位元組的比率。即每多少位元組建立一個 inode -N 直接指明要給此檔案系統建立的 inode 數量

-O 已指定的特性建立目标檔案系統           -m 指定預留的空間            

主要案例:mke2fs -t ext4 /mnt/jingfeng/

167.e2label:卷标的檢視與設定

檢視:e2label device

設定:e2label device LABEL

168.blkid:檢視檔案系統資訊

主要選項:-L 根據 LABEL 定位裝置 -U 根據 UUID 定位裝置

主要案例:blkid /dev/sda3

169.watch:實時監控每一條指令執行的結果動态變化

主要選項:-n #:重新整理間隔,機關是秒

主要案例:watch -n 2

ifconfig

170.pvdisplay:顯示卷組中一個或多個實體卷的資訊(LVM 專用)

171.pvcreate:建立一個可以被卷組使用的實體卷(LVM 專用)

172.vgdisplay 顯示卷組資訊(LVM 專用)

173.vgcreate 建立一個卷組(LVM 專用)

174.vgremove 從系統上删除一個或多個卷組的定(LVM 專用)

175.vgextend 通過添加實體卷擴充一個卷組(LVM 專用)

176.vgreduce 通過删除一個或多個實體卷減小卷組(LVM 專用)

177lvdisplay 顯示邏輯卷的資訊(LVM 專用)

178.lvcreate 在卷組中建立一個邏輯卷(LVM 專用)

主要參數:-L 指定邏輯卷大小 -s 建立快照(類似于虛拟機上面的快照) -n 指明邏輯卷的名字 -p 指明快照的權限(r,w)

主要案例:lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name

179.lvextend 增加配置設定給邏輯卷的實體區域數(LVM 專用)

主要參數:-L 指定邏輯卷大小

180.lvreduce 減少配置設定給邏輯卷的實體區域數(LVM 專用)

181.lvremove 從卷組中删除一個或多個邏輯卷(LVM 專用)

主要案例:lvremove /dev/VG_NAME/LV_NAME

182.gzip 壓縮工具(一般壓縮以後,檔案的字尾名是 gz)

主要參數:-d: 解壓縮,相當于 gunzip -c: 将結果輸出至标準輸出; -#:1-9,指定壓縮比,預設為 6;

主要案例:gzip [OPTION]... FILE ...

183.zcat:可以直接檢視 gz 結尾的壓縮檔案

主要案例:zcat jingfeng.gz

184.bgzip2:也是一個壓縮工具(字尾名是 bz2)

主要參數:-k: keep, 保留原檔案; -d:解壓縮 -#:1-9,壓縮比,預設為 6;

主要案例:bzip2 [OPTION]... FILE ...

185.bzcat:可以直接檢視 bz2 結尾的壓縮檔案

主要案例:bzcat jingfeng.bz2

186.xz:壓縮工具(字尾名是 xz)

主要案例:xz [OPTION]... FILE ...

187.xzcat:可以直接檢視 xzcat 結尾的壓縮檔案

主要案列:xzcat jingfeng.xz

188.at:一次性任務計劃(這條指令要啟用,需要開啟程序 atd,開啟用

/etc/init.d/atd start or restart

TIME:(時間格式,這裡可以定義出什麼時候要進行 at 這項任務的時間,選項有以下幾項) HH:MM:[YYYY-MM-DD] noon,midnight,teatime tomorrow now+ 主要參數:-l 檢視作業隊列 -f<檔案> 從指定檔案讀入任務而不是從标準輸入讀入 -d 删除指定的作業 -c 檢視指定作業的具體内容 -q 指明隊列

主要案例:# at now+2min

at> echo "wo ai ni"

at> ls -l /root

退出按 ctrl+d

注意:作業執行結果是以郵件方式發送給使用者

188.lsmod:列出核心已載入子產品的狀态(幾乎用不到)

lsmod 以美觀的方式列出/proc/modules 的内容

主要案例:lsmod

189.modinfo:顯示核心子產品的資訊(幾乎用不到)

主要選項:-F 僅顯示指定字段的資訊 -n 顯示檔案路徑 主要案例:modinfo [ -0 ] [ -F field] [modulename | filename ... ]

190.modprobe:linux 核心添加删除子產品(幾乎用不到)

主要案例:modprobe [-r] module_name

子產品的動态裝載:modprobe module_name 
      動态解除安裝:modprobe -r module_name 
           

191.depmod:分析可加載子產品的依賴性,生成 modules.dep 檔案和映射檔案(幾乎用

不到,隻是了解一下)

192.insmod:向 linux 核心中插入一個子產品(幾乎用不到)

主要案例:insmod [filename] [modue options ...]

193.rmmod:删除核心中的一些子產品(幾乎用不到)

主要案例:rmmod [ -f ] [ -w ] [ -s ] [ -v ] [ modulename ]

194.mkinitrd:為目前使用中的核心重新制作 ramdisk 檔案(幾乎用不到,隻是了

解)

195.dracut 指令(幾乎用不到,隻是了解)

196.nload 檢視網卡流量

安裝過程:1.yum install -y epel-release 2.yum install -y nload

主要案列:nload