測試中常用到的linux命令

測試中常用到的linux命令

<轉自>https://www.cnblogs.com/lingzeng86/p/6595951.html

1. man

        格式化以及列出命令的(在線)操作手冊。

        使用方法

                man [ -options ] name

      man man

      man ls

      man cd

 

2. ls

    列出目錄下的內容
    ls [option]… [file]…
    ls    #列出當前文件夾下的所有文檔
    ls -l  等同於ll   #列出當前文件夾下的所有文檔的詳細資料    ls -al  #列出當前文件夾下的所有文檔的詳細資料(包括隱藏文件和父目錄)

    ls -lt    #列出當前文件夾下的所有ls文檔的詳細資料,修改時間倒序

    ls -lrt    #列出當前文件夾下的所有文檔的詳細資料,修改時間正序

    ls /home/qq    #列出某個目錄下的所有文檔

 

3.pwd

    顯示當前或者工作路徑。

 

4. cd

    改變當前所在路徑

    cd [dir] 

    cd    當前用戶主目錄

    cd /home/qq     絕對路徑

    cd .    本路徑

    cd ..    上一級目錄

    cd ~   進入到自己的家目錄

    cd /    根目錄

    cd -    返回進入此目錄之前所在的目錄

 

4.1.Tab鍵

自動補全

vi

5. mkdir

    創建目錄

    mkdir testpwd

    mkdir /home/qq/test2

    mkdir -p /home/qq/test2/test21/test211    #若目錄不存在,則創建

 

6. cp

    拷貝

    文件到文件

        cp file1 file2 拷貝並重命名

        cp /path1/file1 /path2/file2 拷貝並重命名

    •文件到目錄

        cp file1 ../test1/ 拷貝

        cp /home/qq/test1/file1 ./ 拷貝

    •目錄到目錄

        cp -r test1 test2    #遞歸拷貝

 

6.1 *

    通配符,匹配一個或一個以上任意字符

    ls *.txt

    ls a*.txt

    cp *.txt /path/to/des/

    自行了解 “?”和”[]”

 

7.which

    顯示某個命令的完整路徑

    which指令會在環境變量$PATH設置的目錄裏查找符合條件的文件。

    which ls

    which cp

    另外一個作用:查看某個命令是否安裝,或者是否在自己定義的環境變量中。

 

8.whereis

    列出某個命令的位置、幫助手冊

     whereis指令會在特定目錄中查找符合條件的文件。

    whereis ls

    whereis cd

    另外一個作用,在which沒有查詢到的時候,該命令未必不存在,需要再次使用whereis確定。比如bash內建命令

 

9.clear

       清屏(其實只是往上翻了)

 

10.touch

    更改文件的時間屬性

    另外一個作用,創建一個空文件

        touch a.txt

 

11.rm

    刪除文件或者目錄

    rm file1

    rm -f file1    #不提示刪除

    rm -rf dir    #不提示刪除某個文件夾,一定先執行pwd確定自己的位置,慎用

 

12.vi

    編輯器,查看或者編輯一個文本

    vi a.txt

        i    insert,進入編輯狀態

        esc    退出編輯狀態

        :wq!    保存退出

        :q!        退出不保存i

    非編輯狀態下q

        dd    刪除

        yy    拷貝

        p      粘貼

        /uu    查找包含uu的行

               n    查找下一行

                shift+n    查找上一行

       ctrl+f      (forward)下一頁

        ctrl+b    (back)上一頁

 

13.cat

    顯示文件內容

    cat file

    cat -n file    #顯示行號

    避免對大文件使用cat 

 

14.tac

    倒序顯示文件,相當於cat反過來

    用於對日誌文件的檢查等

    用得少

 

15.more

    簡易的文件查看器

    讓畫面在顯示滿一頁時暫停,此時可按空格健繼續顯示下一個畫面,或按Q鍵停止顯示。

    more file 或者使用管道,使用管道功能不全

    cat a.txt |more

    more a.txt

        “空格”下一頁

        “回車”下一行

         “b”    前一頁

       “/patten”查找

15.1.  less

    簡易的文件查看器

    less命令的用法與more命令類似,也可以用來瀏覽超過一頁的文件。所不同的是less命令除了可以按空格鍵向下顯示文件外,還可以利用上下鍵來捲動文件。當要結束瀏覽時,只要在less命令的提示符“: ”下按Q鍵即可。

 

16.head

    顯示文件頭部

    head file 默認顯示10行

    head -5 file 顯示前5行

 

17.tail

    顯示文件尾部

    tail file 默認顯示最後10行

    tail -5 file 顯示後5行

    tail -f file 實時顯示文件尾部(很重要的命令)

        

 

18.echo

    echo 123    #回顯

    echo aaa>>a.txt    #追加

    echo aaa>a.txt       #覆蓋

 

19.wc

    查看文件行數、單詞個數、字節數:

    

    統計行數:

    

 

20.sort

    文本排序命令

    sort -n file 以數字方式排序

    sort -r file 倒序

    sort -u file 剔重

    sort  -rn file     #ASCII碼方式倒序

    sort命令多和管道配合使用

    如 :du -k *|sort -rn    #文件大小倒序排(很重要),看哪個文件佔的多

 

21.grep

    打印匹配的行,grep經常和管道配合使用

    grep “正則表達式” file

        (注意,用好grep的前提是熟悉linux下的正則)

    grep 3 a.txt    #a.txt文件中包含3的行都打印出來

    grep 3 a.txt |wc -l   #a.txt文件中包含3的行都有多少行

    grep -n  3 a.txt    #包含3的行號和行給打出來

        

    grep -v 3 a.txt    #不包含3的行顯示出來

    grep 89$ a.txt    #結尾爲89的行顯示出來

    grep ^98 a.txt    #開頭爲98的行顯示出來

    grep -n aa *    #當前目錄下所有包含aa的行顯示出來,打印出行號

            

 

22.find

    在文件系統中查找文件

    find命令很複雜,甚至可以稱得上一門腳本語言,這裏只介紹幾種常用的命令。

    find /path/to -name “test*” 按照命名規則查找

    find /path/to -type f 按照文件類型查找

    find /path/to -ctime -1 查找一天以內的文件和目錄

    find /path/to -cmin +1440 查找1440分鐘以前的文件和目錄

    以上四種查找較爲常見,可以組合使用。

    另外,可以在查找後使用 -exec 執行後續操作

        find /path/to -ctime +30 -exec rm -rf {} \; 刪除30天前的文件。

 

23.tar

    打包,tar很強大,這裏只介紹打包和解包

    tar -zcvf file.tar.gz a.txt b.txt    壓縮文件(把a.txt和b.txt壓縮到file.tar.gz中)

    tar -zxvf file.tar.gz    解壓縮

     tar -zxvf file.tar.gz -C test/    解壓縮到指定目錄

    -z參數表示是否將文件gzip壓縮

 

24.kill

       

       kill 10170 #本身和子進程都殺了

        kill -9 10170    #只殺進程本身

 

25.gzip zcat

        壓縮

        gzip file

        zcat file.gz    #查看gzip文件

        gunzip file.gz    #解壓縮

        多用於日誌的壓縮

 

26.useradd

    添加用戶

    useradd username

 

27.passwd

    修改密碼命令

    passwd [username]

    passwd 爲當前用戶修改密碼

    passwd username 爲其他用戶修改密碼(通常是root操作)

 

28.su

    以另外一個用戶身份啓動新的shell(切換用戶)

    su [option] [username]

    su 切換到root,但是不使用root環境變量

    su - 切換到root,使用root環境變量 

    注意,一般推薦加上“-”

 

29.whoami

    查看當前使用的用戶名稱

 

30.logname

    查看登錄時的用戶

 

31.who

    查看當前所有登錄用戶

 

32.last

    查看用戶登錄歷史  

    注意,如果黑客攻擊,一般會修改該文件

 

33.chown

    改變文件屬組

    冒號前面爲所有者,冒號後面爲羣組

    chown zhang:zhang file    #改變文件

    chown -R zhang:group dir    #改變vi目錄

 

34.chmod

    修改文件的讀寫屬性

    chmod 755 file

    chmod -R 644 dir

    0-無權限(-);1-可執行(x);2-可讀(r);4-可寫(w)

    第一列代表所屬用戶權限,第二列代表所屬組權限,第三列代表其他用戶權限

 

35.df

    顯示磁盤空間使用情況

    df -h    #到G自動顯示G,到M自動顯示M

    df -m    #顯示M

    df         #等同於df -k

    

 

36.du

    du -sh        #當前目錄佔用的空間

    du -sh *    #當前目錄下所有的文件佔用的空間

    du -sk * |sort -nr #顯示前10個比較大的文件

    

 

37.free

    查看內存使用情況

    free    #K顯示

    free -m    #兆顯示

    free -g     #G顯示

    以下:一共28M,使用2M,剩餘26M

    

    

38.top

    顯示當前系統正在執行的進程的相關信息,包括進程ID、內存佔用率、CPU佔用率等

    第一行,任務隊列信息

    系統時間、系統已運行時間、3個用戶登錄系統、load average後面的三個數分別是1分鐘、5分鐘、15分鐘的負載情況

    第二行,Tasks — 任務(進程)

    89個進程,其中運行中的有1個,88個休眠

  第三行,cpu狀態信息

        us    #用戶佔用的CPU百分比

        sy    #系統佔用的CPU百分比

        id    #空閒CPU百分比

        wa    #CPU等待IO所用的時間,20%系統會很慢,30%可能沒法操作了,長時間超過50%請檢查硬盤設備,肯定出問題了

    第四行,內存狀態

    物理內存總量、已使用內存總量、空閒內存總量、緩存

    備註:

    第四行中使用中的內存總量(used)指的是現在系統內核控制的內存數,空閒內存總量(free)是內核還未納入其管控範圍的數量。納入內核管理的內存不見得都在使用中,還包括過去使用過的現在可以被重複利用的內存,內核並不把這些可被重新使用的內存交還到free中去,因此在linux上free內存會越來越少,但不用爲此擔心。

    如果出於習慣去計算可用內存數,這裏有個近似的計算公式:第四行的free + 第四行的buffers + 第五行的cached。

    對於內存監控,在top裏我們要時刻監控第五行swap交換分區的used,如果這個數值在不斷的變化,說明內核在不斷進行內存和swap的數據交換,這是真正的內存不夠用了。

   第七行以下:各進程(任務)的狀態監控,項目列信息說明如下:

 

    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 — 進程名稱(命令名/命令行)

 

    

    F 、f、 P、 p用來增加或減少顯示項,以及顯示順序

 

39.ps

    顯示當前運行進程 

    ps -ef 

    

 

40.ifconfig

    ifconfig    #查看機器IP,網卡等

    這裏只做顯示網卡信息使用,建議不要使用ifconfig修改網卡參數  

    

41.netstat

    查看網絡信息

    netstat -lnp 監聽端口情況

    netstat -anp 所有端口情況   

 

42. uname

    打印系統信息

    uname -a

 

43.date

    查看修改系統時間

    date

    date -s 19:00:00

 

44.reboot

    重啓

 

45.shutdown

    關機命令

    shutdown -k now 通知所有終端,現在要關機,但是實際上不關機

    shutdown -h now 通知多有終端,現在要關機,實際上確實關了

    shutdown -k 5 通知所有終端,5分鐘後要關機,但是實際上不關機

    shutdown -h 5通知所有終端,5分鐘後要關機,實際上確實要關機了

 

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