1. 程式人生 > 實用技巧 >一文搞定 Linux 常用高頻命令

一文搞定 Linux 常用高頻命令

本文為霍格沃茲測試學院優秀學員 HJP 的學習筆記。

命令 cd

進入上級目錄
    cd ..
進入當前使用者主目錄
    cd ~
進入上兩級目錄
    cd ../..
進入當前目錄
    cd .
進入目錄/etc/docker
    cd /etc/docker

命令 mv

移動一個資料夾(docker資料夾,移動到/root/file目錄)
    mv ~/docker/ /root/file
移動一個檔案(docker.txt移動到/root/file目錄)
    mv docker.txt /root/file
當前目錄docker.txt移動到/root/file目錄,並重命名為docker0304.txt
    
mv docker.txt /root/file/docker0304.txt 移動檔案到上級目錄 mv docker.txt ../ 一條命令,移動兩個檔案docker.txt jenkins.txt到目錄/root/file mv docker.txt jenkins.txt -t /root/file

命令 cp

複製當前目錄包docker.tar.gz到備份目錄/root/bak
    cp docker.tar.gz /root/bak
複製資料夾docker到目錄/root/file
    cp -r docker/ /root/file

命令 mkdir

新建一個資料夾mysql
    
mkdir mysql 新建三個資料夾mysql1 mysql2 mysql3 mkdir mysql1 mysql2 mysql3 新建一個多層級資料夾mysql/2019/0304 mkdir -p mysql/2019/0304

命令 history

檢視歷史命令執行記錄
    history
檢視命令mkdir的歷史執行記錄
    history | grep mkdir
執行歷史記錄中序號為54的命令
    !54

命令 tail

實時重新整理log
    tail -f mysql.log
實時重新整理最新200條log
    tail -200f mysql.log

命令 tar

壓縮一個檔案docker.txt
    tar -cvf docker.tar docker.txt
壓縮多個檔案docker.txt jenkins.txt
    tar -cvf all.tar docker.txt jenkins.txt
壓縮資料夾docker/
    tar -cvf docker.tar docker/
將當前目錄所有jpg檔案打包成jpg.tar
    tar -cvf jpg.tar *.jpg
將當期目錄所有png檔案打包成png.tar.gz
    tar -zcvf png.tar.gz *.png
解壓jpg.tar
    tar -xvf jpg.tar
解壓png.tar.gz
    tar -zxvf png.tar.gz

命令 ls

列出當期目錄中所有子目錄和檔案
    ls
列出目錄下的所有檔案(包含隱藏檔案)
    ls -a
列出檔案的詳細資訊(包括許可權、所有者、檔案大小等)
    ls -l
列出當前目錄中所有以"docker"開頭的詳細內容
    ls -l docker*

命令 ps

檢視所有程序
    ps -A
檢視java程序
    ps -ef | grep java
顯示所有程序資訊,包括命令列
    ps -ef

命令 top

顯示程序資訊
    top
監控每個邏輯cpu的狀況
    top,按1
高亮顯示當前執行程序
    top,按b
顯示完整命令
    top,按c
退出top程式
    按q

命令 wget

wget 是一個下載檔案的工具,對於 Linux 使用者是必不可少的工具:

檔案地址
    假設為http://xxxx/xxx.png
下載此檔案
    wget http://xxxx/xxx.png
下載此檔案,並存儲為aaa.png
    wget -o aaa.png http://xxxx/xxx.png
後臺下載此檔案
    wget -b http://xxxx/xxx.png

命令 find

在/root/file目錄及其子目錄下面查詢名字為docker.txt的檔案
    find /root/file/ -name docker.txt
在當前目錄及其子目錄中查詢任何副檔名為"ini"的檔案
    find . -name "*.ini"/root/file目錄下查詢更改時間在5日以前的檔案
    find /root/file/ -mtime +5/root/file目錄下查詢更改時間在3日以內的檔案
    find /root/file/ -mtime -3/root/file目錄下查詢所有的目錄
    find . -type d
在/root/file目錄下查詢所有的檔案
    find /root/file/ -type f
在當前目錄所有的普通檔案中搜索docker這個詞
    find ./ -type f | xargs grep "docker"
在當前目錄,刪除1天以內的所有東西
    find ./ -mtime -1 -print | xargs rm -rf
在當前目錄,刪除5天以前的所有東西(慎用!慎用!慎用!)
    find ./ -mtime +5 -print | xargs rm -rf
刪除檔案大小為0的檔案
    find ./ -size 0 | xargs rm -rf

命令 rm(rm -rf慎用)

刪除/root/file/目錄下的docker.txt檔案(系統會詢問是否刪除)
    rm /root/file/docker.txt
強行刪除/root/file/目錄下的docker.txt檔案(系統不會詢問是否刪除)
    rm -f /root/file/docker.txt
刪除/root/file/目錄下的所有.log檔案
    rm -f /root/file/*.log
刪除/root/file/目錄下的jenkins資料夾
    rm -r /root/file/jenkins/
強行刪除/root/file/目錄下的jenkins資料夾
    rm -rf /root/file/jenkins/
刪除/root/file/目錄下的所有內容
    rm -rf /root/file/*

檔案操作命令

建立檔案
    touch docker.txt
    vim docker.md
    echo 'create file' > docker.ini
    cp docker.txt dockercp.txt
    ls > filelist.txt
同時建立幾個檔案
    touch docker.txt jenkins.txt
同時建立1000個檔案
    touch mysql{0001..1000}.ini
更改檔案docker.txt時間為當前時間
    touch docker.txt

檢視檔案命令

命令提示
    cat 從第一行開始顯示
    tac 從最後一行開始顯示
    more 一頁一頁顯示
    less 與more相同,但是可以往前翻頁,推薦用less
    head 只看頭幾行
    tail 只看尾幾行
    nl 顯示的時候,輸出行號
檢視檔案docker.txt的內容
    cat docker.txt
檢視檔案docker.txt前20行的內容
    head -n 20 docker.txt
檢視檔案docker.txt後30行的內容
    tail -n 30 docker.txt
顯示檔案docker.txt的第10行到第20行內容
    head -n 20 docker.txt | tail -n 10
倒序顯示檔案docker.txt前10行的內容
    tac docker.txt | head -n 10
顯示檔案docker.txt前10行的內容,並顯示行號
    nl docker.txt | head -n 10

命令 yum & scp

假設當前伺服器 ip 為 192.168.1.2:

從linux伺服器192.168.1.1複製檔案docker.txt到伺服器192.168.1.2
    scp root@192.168.1.1:/root/file/docker.txt /root/file
從linux伺服器192.168.1.1複製目錄docker/到伺服器192.168.1.2
    scp -r root@192.168.1.1:/root/file/docker/ /root/file
安裝scp命令,假設是centos
    yum install openssh-clients

命令 clear & ifconfig & df & du

清屏
    clear
檢視當前伺服器ip
    ifconfig
檢視當前伺服器硬碟空間
    df -h
檢視目錄docker/所佔用的空間
    du -sh docker

命令 vi/vim & chmod

vi/vim,推薦用vim
    建立檔案、編輯檔案
chmod
    改變檔案或目錄的訪問許可權
建立檔案docker.md
    vim docker.md
更新檔案內容為"this is a markdown file"
    vim docker.md
    按i,進入編輯模式
    輸入內容
    按esc進入命令模式:wq儲存退出
將檔案docker.md設為所有人可讀
    chmod +r docker.md
將docker.md設為只有該檔案的擁有者才可以執行
    chmod u+x docker.md
給檔案docker.md設定所有許可權
    chmod 777 docker.md(或者chmod a=rwx docker.md)

檢視 Java 應用

jps -ml

檢視應用路徑

pwdx pid

檢視所有 Java 應用路徑

pid=$(jps -ml|awk '{print $1}');for i in $pid;do pwdx $i;done

小結

本文列舉了測試工程師最常用的 Linux/Shell 高頻命令。對於任何一個命令的詳細解釋都可以使用–help檢視使用幫助,如top –help。對於英語水平較好的同學,可以使用man命令將其解釋文件輸出儲存為一個檔案,以便查閱,同樣使用 top 舉例,可以使用man top > top.txt儲存其解釋文件。

以上,期待大家一起交流探討。

更多技術文章分享及測試資料