linux常用命令及例項(linux常用命令技巧)
1.幫助命令
1.1 help命令
#語法格式: 命令 --help #作用: 檢視某個命令的幫助資訊 # 示例: # ls --help 檢視ls命令的幫助資訊 # netstat --help 檢視netstat命令的幫助資訊
1.2 man命令
#語法格式: man 命令 #作用: 檢視某個命令的幫助手冊 # 示例: # man ls #檢視ls命令的幫助手冊 # man netstat #檢視netstat命令的幫助手冊
2.路徑切換及檢視
2.1 cd命令
#語法格式: cd 目錄 #作用: 切換到目錄中 # 示例: # cd /opt 切換到/opt目錄下 # cd ~ 切換到使用者目錄 # cd - 切換到上一次訪問的目錄 # cd .. 切換到上一次所在的目錄
2.2 pwd命令
#語法格式: pwd #作用: 檢視當前所在路徑 # 示例: # pwd 檢視當前路徑,會將當前路徑回顯
2.3 ls命令
#語法格式: ls [-la] [檔案/目錄] #作用: 檢視當前路徑下的檔案和目錄,若後帶有檔案或目錄,則只檢視當前檔案或目錄 # 示例: # ls 檢視當前路徑下所有的檔案或目錄 # ls -l 檢視當前路徑下所有的檔案或目錄的詳細資訊 # ls -a 檢視當前路徑下所有的檔案或目錄,將隱藏檔案顯示出來 # ls -l a.log 檢視當前路徑下a.log下的詳細資訊
2.4 find命令
#語法格式: find [路徑] [引數] [匹配模式] #作用: 可以根據給定的路徑和表示式查詢的檔案或目錄 # 示例: # find / -name "*.txt" 查詢根目錄下所有以.txt結尾的檔案 。 # find /test -perm 644 查詢/test目錄下許可權為644的所有檔案 # find . -type f 查詢當前目錄下所有的檔案 # find . -type f -name "abc" 查詢當前目錄下所有檔案中包含abc字元的檔案 # find . -type f | sort 查詢當前目錄下所有檔案並排序 # find . -type d 查詢當前目錄下所有目錄 # find . -size 10M
3.檔案|目錄操作
3.1 檔案和目錄的基本操作
3.1.1 touch命令
#語法格式: touch 檔名 #作用: 建立一個檔案 # 示例: # touch a.log 建立一個a.log檔案。
3.1.2 ln命令
#語法格式: ln 原始檔名 硬連結檔名 ln -s 原始檔名 軟連線檔名 #作用: 建立檔案連結 # 示例: # ln a.txt a.txt.link 為a.txt建立一個硬連結檔案a.txt.link。 # ln -s a.txt a.txt.link 為a.txt建立一個軟連線檔案 。 # 備註: 軟連結檔案:就像Windows中快捷方式一樣,只是原始檔的一個指向,刪除軟連線檔案,原始檔任存在。 硬連結檔案:比如當前目錄下有2個檔案,這2個檔案除了名字不一樣其他的一模一樣,但是佔用的實際磁碟空間還是隻有1M,改變任何一個檔案的內容另一個檔案也會跟著改變;
3.1.3 mkdir 命令
#語法格式: mkdir 目錄名 #作用: 建立一個目錄 # 示例: # mkdir test 建立一個test的目錄。 # mkdir -p test 若存在test,則不建立;若不存在,則建立 # mkidr -p test/a/b 建立test目錄,其下再建立a目錄,a目錄再建立b目錄 。
3.1.4 rm命令
#語法格式: rm [-rf] 檔案|目錄 #作用: 刪除檔案或目錄 # 示例: # rm a.txt 刪除a.txt,刪除前詢問 。 # rm -f a.txt 直接刪除a.txt ,不在詢問 。 # rm -r test 刪除test目錄,刪除前詢問 # rm -rf test 直接刪除test目錄,不在詢問 。 # 備註:任何的刪除操作都是危險的動作,慎用 。
3.1.5 mv命令
#語法格式: mv 原始檔|目錄 目標檔案|目標目錄 #作用: 有兩層意思,分別為: 1. 進行重新命名檔案或目錄 2. 進行移動檔案或目錄到目的目錄 。 # 示例: # mv a.txt b.txt 修改檔名a.txt為b.txt 。 # mv a.txt test/ 移動a.txt 到test目錄下 # mv abc bcd 重新命名目錄abc為bcd . # mv abc bcd/ 移動abc目錄到bcd下 。
3.1.6 cp命令
#語法格式: cp [-rf] 原始檔|目錄 目標檔案|目錄 #作用: 拷貝檔案或目錄為另一個檔案或目錄 。 # 示例: # cp a.txt b.txt 拷貝a.txt為b.txt ,若b.txt以存在,則提示是否繼續拷貝 。 # cp -f a.txt b.txt 拷貝a.txt為b.txt ,即使b.txt以前就存在,也是直接覆蓋 。 # cp -r abc bcd 拷貝abc目錄為bcd ,若abc存在,則提示是否繼續拷貝 。 # cp -rf abc bcd 拷貝abc目錄為bcd ,即使abc存在,則也是直接覆蓋 。
3.2 檔案壓縮與解壓縮
3.2.1 zipinfo命令
#語法格式: zipinfo zip檔案 #作用: 檢視zip檔案裡的資訊。 # 示例: # zipinfo abc.zip 檢視abc.zip裡的檔案資訊 。 # zipinfo -v abc.zip 顯示abc.zip裡的每個檔案的資訊 。
3.2.2 zip命令
#語法格式: zip 壓縮檔案 檔案|目錄 #作用: 將目標檔案或目錄進行壓縮。 # 示例: # zip a.zip a.txt 將a.txt進行壓縮形成a.zip 。 # zip a.zip test/ 將test目錄下的所有檔案和目錄壓縮到a.zip 。
3.2.3. gzip命令
#語法格式: gzip [-d] 檔案|目錄 #作用: 壓縮|解壓縮檔案或目錄 # 示例: # gzip a.txt 將a.txt壓縮為a.txt.gz ,注意壓縮後原始檔已不存在。 # gzip -d a.txt.gz 解壓a.txt.gz檔案
3.2.4 unzip命令
#語法格式: unzip 檔案 #作用: 解壓縮檔案 # 示例: # unzip a.zip 解壓檔案 # gzip -d a.txt.gz 解壓a.txt.g3.2.5 gunzip命令
3.2.5 gunzip命令
#語法格式: gunzip 壓縮檔案 #作用: 解壓壓縮檔案 # 示例: # gunzip a.txt.gz 解壓a.txt.gz # guzip test.tar.gz 解壓test.tar.gz
3.2.6 tar命令
#語法格式: tar [-c|xzvf] 檔案|壓縮檔案 #作用: 進行歸檔並建立壓縮檔案 或 進行解壓歸檔壓縮文件 # 示例: # tar -cvzf a.tar a.txt # 將檔案a.txt進行壓縮並歸檔 # tar -xvzf a.tar . 解壓a.tar檔案到當前目錄 。
3.3 檔案傳輸
3.3.1 tftp命令
#語法格式: tftp 遠端主機 #作用: 連線遠端主機,上傳或下載檔案 # 示例: (需連線到遠端主機) # get a.txt 下載a.txt檔案 # put a.txt 上傳a.txt到遠端主機
3.3.2 curl命令
#語法格式: curl url #作用: 進行檔案下載或者請求http協議資料 # 示例: # curl http://www.baidu.com #請求百度 # curl -o baidu.html http://www.baidu.com 將請求到的資料儲存到baidu.html中 。
3.3.3 scp命令
#語法格式: scp 遠端主機賬號@遠端IP地址 本地目錄 #作用: 登入遠端主機進行拷貝檔案或目錄 # 示例: # scp [email protected]:/soft/test.tar.gz /tools/ 將遠端主機目錄下的/soft/test.tar.gz 拷貝到本地目錄下的tools/下 # scp [email protected]:/soft/ /tools/ 將遠端主機目錄soft 拷貝到本地目錄的tools/下 。
3.3.4 rcp命令
#語法格式: scp 主機1 主機2 #作用: 遠端主機間的檔案或目錄相互拷貝 # 示例: # rcp test 192.168.128.169:/test 拷貝當前目錄下的test 到192.168.128.169的/test目錄下 # rcp [email protected]:./test /test 複製遠端目錄到本地的/test下
3.4 檔案屬性檢視
3.4.1 file命令
#語法格式: file 檔名 #作用: 檢視檔案的型別 # 示例: # file a.txt #檢視a.txt是什麼型別 # file abc #檢視abc是什麼型別
3.4.2 du命令
#語法格式: du 檔名 #作用: 檢視檔案的大小 # 示例: # du a.txt #檢視a.txt的檔案大小,以k為單位 # du -h a.txt #檢視a.txt的檔案大小,以M為單位 。
3.5 檔案目錄許可權設定
3.5.1 chmod命令
#語法格式: 有兩種用法 chmod [u/g/o/a][ /-/=] rwx 檔案/目錄 :增加許可權,-取消許可權, =設定許可權 chmod 數字 檔案/目錄 #作用: 為檔案或目錄設定許可權。 # 示例: # chmod a=rw a.txt 為所有者設定讀寫許可權 。 # chmod 644 a.txt 為所有者設定讀許可權,為使用者設定寫許可權。
4.文字內容檢視及過濾
4.1 文字內容檢視
4.1.1 cat命令
#語法格式: cat 檔名 #作用: 檢視文字內容,會將內容全部顯示。 # 示例: # cat a.txt 顯示a.txt裡的內容。
4.1.2 more命令
#語法格式: more 檔名 #作用: 百分比顯示檔案內容,按Enter繼續。 # 示例: # more a.txt 若只有一頁,則全部顯示,否則按百分比顯示。
4.1.3 tail命令
#語法格式: tail 檔名 #檢視文字內容 tail -n 數量 檔名 #只顯示倒數的幾行 tail -f 檔名 # 實時的檢視檔案寫入的資訊 #作用: 檢視文字內容, # 示例: # tail a.txt 檢視檔案內容,和cat效果一樣 。 # tail -n 2 a.txt 顯示a.txt最後兩行 # tail -f a.txt 實時監控a.txt文字內容。
4.1.4 head命令
#語法格式: head 檔名 head -n 數量 檔名 #作用: 檢視文字內容。 # 示例: # head a.txt 檢視文字內容,和cat效果一樣。 # head -n 2 a.txt 檢視文字的前兩行 。
4.2 文字內容篩選過濾
4.2.1 grep命令
#語法格式: grep [選項] [模式] 檔案 #作用: 文字搜尋工具。 # 示例: # grep "aaa" a.txt 從a.txt中搜尋aaa字元的行 # grep -v "aaa" a.txt 從a.txt中不包含aaa的行 # grep -n "aaa" a.txt 從a.txt中搜尋aaa字元的行,並在前面加上行號 # grep -i "aaa" a.txt 從a.txt中搜尋aaa字元的行,其中忽略aaa的大小寫 # grep -e "a*" a.txt 從a.txt中搜尋匹配a字元的行 # ps -ef |grep "mysql" 檢視mysql的程序 #備註:grep命令非常強大,詳細用法請參考本人另一篇關於grep命令的博文
4.2.2 sed命令
#語法格式: sed [選項] 檔案 #作用: 文字編輯工具。 # 示例: # sed -n '2p' a.txt 從a.txt中的第二行內容 # sed '3,5d' a.txt 刪除a.txt中第3到5行的內容,(注:原始檔內容不變,只是回顯內容會刪除) # sed '/aaa/d' a.txt 刪除匹配aaa的行,從a.txt中 。 #備註:sed命令非常強大,詳細用法請參考本人另一篇關於sed命令的博文
4.2.3 awk命令
#語法格式: awk [選項] 檔案 #作用: 文字分析工具。 # 示例: # awk '{print $5}' a.txt 顯示a.txt中第5列的內容 # awk 'NR <=2 {print $1,$3,$5}' a.txt 顯示前兩行內容,每行只顯示第1,3,5列 。 # awk '/^d/ {print $1,$9}' a.txt 顯示以d開頭的行,每行只顯示第一,九列 。 #備註:awk命令非常強大,詳細用法請參考本人另一篇關於awk命令的博文
4.2.4 cut命令
#語法格式: cut 選項 檔案 #作用: 用於剪下字元。 # 示例: # cut -c 1-3 a.txt 只輸出每行第一到第三的字元 # cut -f4 -d" " a.txt 顯示第四列,以空格為分隔符
4.2.5 col命令
#語法格式: col 選項 檔案 #作用: 用於過濾字元。 # 示例: # man ls | col-b > ls_help 過濾掉ls手冊中的控制字元並輸出到檔案
4.3 文字編輯
4.3.1 vi/vim命令
#語法格式: vi/vim 檔案 #作用: 用於編輯檔案。 # 示例: # vi a.txt 編輯a.txt,可以進行修改裡面的內容 # vim a.txt 編輯a.txt,可以進行修改裡面的內容 # 備註: vi和vim的用法基本一樣,可以說vim是vi的增加版,就像記事本與notepad
4.4 輸出到文字檔案
4.4.1 >命令
#語法格式: > 檔案 #作用: 將內容輸出到檔案,若檔案中有內容則覆蓋。若檔案不存在,則建立檔案 # 示例: # ll > a.txt 檢視詳細後輸出到a.txt 。 # cat a.txt > b.txt 將a.txt中的內容新增到b.txt中 。
4.4.2 >>命令
#語法格式: >> 檔案 #作用: 將內容追加到檔案,若檔案中有內容則追加。若檔案不存在,則建立檔案 # 示例: # ll >> a.txt 檢視詳細後追加到a.txt 。 # cat a.txt >> b.txt 將a.txt中的內容新增到b.txt中 。
4.4.3 tee命令
#語法格式: tee 檔案 #作用: 將內容輸出到檔案並輸出內容顯示在控制檯上。若檔案不存在,則建立檔案,一般需要和管道符(|)一起使用。 # 示例: # cat a.txt | tee b.txt 將a.txt中的內容新增到b.txt中,同時將新增內容回顯到控制檯上 。
4.5 文字內容處理
4.5.1 join命令
#語法格式: join 檔案1 檔案2 #作用: 用於將兩個檔案中,指定欄目內容相同的行連線起來 # 示例: # join a.txt b.txt 若第一行相同,將後面的內容連線起來 。
4.5.2 split命令
#語法格式: split 數量 檔案 #作用: 用於將一個檔案分割成數個 # 示例: # split -5 c.txt 按每5行顯示分隔出一個檔案。
4.5.3 uniq命令
#語法格式: uniq 檔案 #作用: 用於檢查及刪除文字檔案中重複出現的行列,注意:重複的行一定是相鄰的行,若不相鄰不會刪除 # 示例: # uniq d.txt 將d.txt中相鄰重複的行去掉 。 # uniq d.txt | sort 將d.txt中相鄰重複的行去掉並排序 # 備註: 此命令經常和sort命令結合使用,用於去重和排序。
4.5.4 sort命令
#語法格式: sort 檔案 #作用: 對文字內容進行排序 # 示例: # sort a.txt 將a.txt中的內容進行排序,預設為升序。 # sort -r a.txt 將a.txt中的內容進行相反順序排序 # uniq d.txt | sort -r 將d.txt中相鄰重複的行去掉並倒序排序
4.5.5 paste命令
#語法格式: paste 檔案1 檔案2 ... #作用: 用於合併檔案的列。 # 示例: # cat a.txt b.txt 將兩個檔案的列合併起來顯示 。
5.使用者|組操作
5.1 使用者增刪改
5.1.1 useradd命令
#語法格式: useradd 新使用者 #作用: 建立使用者 # 示例: # useradd test 建立test使用者 # useradd -d /home/test test 建立test使用者,並指定test使用者的家目錄為home/test # useradd -u 666 test 為test使用者指定uid為666
5.1.2 adduser命令
#語法格式: adduser 新使用者 #作用: 建立使用者 # 示例: # adduser test 建立test使用者 # adduser -d /home/test test 建立test使用者,並指定test使用者的家目錄為home/test # adduser -u 666 test 為test使用者指定uid為666 # 備註:useradd和adduser使用上一致,設定兩個命令可能就是為了解決使用者將字母記錯輸返。
5.1.3 userdel命令
#語法格式: userdel 使用者 #作用: 刪除使用者 # 示例: # userdel test 刪除test使用者 # userdel -r test 刪除test使用者及其家目錄
5.1.4 usermod命令
#語法格式: usermod 使用者 #作用: 修改使用者 # 示例: # usermod -l test1 test 將使用者test修改為test1 # usermod -d /home/test00 test 將使用者test的家目錄修改為/home/test00 # usermod -L test 鎖定test使用者的密碼 # usermod -U test 解鎖test使用者的密碼
5.2 使用者設定密碼
5.2.1 passwd命令
#語法格式: passwd 使用者 #作用: 修改使用者密碼,輸入命令回車後會引到使用者設定新密碼 。 # 示例: # passwd test 修改使用者密碼
5.3 組的增刪改
5.3.1 groupadd命令
#語法格式: groupadd 使用者組 #作用: 新增使用者組 # 示例: # groupadd test 新增使用者組為test # groupadd -g 9999 test 為建立使用者組test並設定gid為9999
5.3.2 groupdel命令
#語法格式: groupdel 使用者組 #作用: 刪除使用者組 # 示例: # groupdel test 刪除使用者組test
5.3.3 groupmod
#語法格式: groupmod 使用者組 #作用: 修改使用者組 # 示例: # groupmod -n root test 更改test使用者組為root
5.4 檔案設定使用者許可權
5.4.1 chown命令
#語法格式: chown 檔案|目錄 使用者|使用者組 #作用: 更改檔案目錄的使用者或使用者組 # 示例: # chown root /test/a.txt 把a.txt的所有者設定為root # chown root:root /test/a.txt 把a.txt的所有者設定為root,組設定為root # chown -R test:test * 把當前目錄下的所有檔案都設定為test使用者和test使用者組
5.5 切換使用者
5.5.1 su命令
#語法格式: su [-] 使用者 #作用: 切換使用者 # 示例: # su test 切換當前使用者為test使用者 # su - test 切換當前使用者為test使用者 # 備註: 第一次切換時需要輸入密碼
6.工作管理員
6.1 程序
6.1 ps命令
#語法格式: ps [引數] #作用: 顯示當前系統的程序狀態 # 示例: # ps -ef 顯示所有程序 # ps -aux 顯示所有程序 # ps -ef | grep mysql 檢視mysql程序 # ps -u root 顯示root使用者程序。
6.2 kill 命令
#語法格式: kill [引數] #作用: 殺掉系統中執行的程式(程序) # 示例: # kill 319877 殺掉程序319877 # kill -9 319877 強制殺掉程序319877
6.2 系統資源
6.2.1 top命令
#語法格式: top [引數] #作用: 顯示系統中各個程序的資源佔用情況 # 示例: # top 檢視系統各個程序的資源佔用,比如CPU ,記憶體資訊。 # top -n 5 動態更新5次結束 # top -d 5 每隔5秒更新一次
6.2.2 vmstat命令
#語法格式: vmstat [引數] #作用: 顯示虛擬記憶體狀態 # 示例: # vmstat 顯示記憶體資訊 # vmstat -s 以列表形式顯示記憶體 # vmstat 2 每隔2秒重新整理一次
6.2.3 free命令
#語法格式: free [引數] #作用: 檢視系統記憶體資訊 # 示例: # free 顯示記憶體資訊,預設以kb為單位 # free -m 顯示記憶體資訊,以mb為單位 # free -g 顯示記憶體資訊,以gb為單位
6.2.4 df命令
#語法格式: df [引數] 分割槽 #作用: 檢視磁碟佔用空間 # 示例: # df 檢視各分割槽在磁碟佔用情況 # df -h 以比較容易閱讀方式檢視磁碟使用情況 # df /dev/shm 檢視該掛載點下的使用情況
6.2.5 fdisk命令
#語法格式: fdisk [引數] #作用: 進行磁碟分割槽管理 # 示例: # fdisk -l 檢視所有分割槽情況
6.2.6 netstat命令
#語法格式: netstat [引數] #作用: 顯示各種網路資訊 # 示例: # netstat 檢視各網路資訊 # netstat -an | grep 3306 檢視3306埠的使用情況
6.3 服務
6.3.1 service命令(RHEL6)
#語法格式: service [引數] #作用: 服務管理 # 示例: # service --status-all 檢視所有服務的執行狀態 # service mysql start 啟動mysql # service mysql stop 停止mysql # service mysql restart 重啟mysql
6.3.2 systemctl命令(RHEL7)
#語法格式: systemctl [選項] [服務] #作用: 對服務進行管理,如啟動/重啟/停止/檢視服務 # 示例: # systemctl status httpd.service 檢視http服務狀態 # systemctl start httpd.service 啟動http服務 # systemctl stop httpd.service 停止http服務 # systemctl restart httpd.service 重啟http服務 # systemctl status firewalld 檢視防火牆狀態 # systemctl start firewalld 開啟防火牆 # systemctl stop firewalld 關閉防火牆
6.3.3 chkconfig命令
#語法格式: chkconfig [引數] #作用: 更新(啟動或停止)和查詢系統服務的執行級資訊 # 示例: # chkconfig -list 顯示所有執行級系統服務的執行狀態資訊(on或off) # chkconfig –add httpd 增加httpd服務 # chkconfig –del httpd 刪除httpd服務
7.網路管理
7.1 ifconfig命令
#語法格式:ifconfig #作用: 檢視或設定網路裝置 # 示例: # ifconfig 檢視網路資訊,比如IP地址 # ifconfig eth0 down 關閉eth0的網絡卡 # ifconfig eth0 up 開啟eth0的網絡卡 # ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE 修改Mac地址 # ifconfig eth0 add 32ffe:3840:320:2007::2/64 為網絡卡配置IPV6地址 # ifconfig eth0 del 32ffe:3840:320:2007::2/64 刪除網絡卡的IPV6地址 # ifconfig eth0 192.168.128.169 修改ip地址為192.168.128.169 # ifconfig eth0 192.168.128.169 netmask 255.255.255.0 修改IP和子網掩碼 # ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255 修改ip,子網掩碼及閘道器
7.2 ping命令
#語法格式: ping IP地址 #作用: 確認是否和某主機的網路相同 # 示例: # ping 192.168.12.12 確認是否能連通到192.168.12.12 # ping www.baidu.com 確認是否能正常訪問百度 # ping -c 4 www.baidu.com 只ping四次 # ping -c 4 -i 2 www.baidu.com 只ping四次,每次間隔2s
7.3 firewall-cmd命令
#語法格式: firewall-cmd [引數] #作用: 防火牆埠管理 # 示例: # firewall-cmd --state 檢視當前防火牆的執行狀態 # firewall-cmd --zone=public --list-ports 檢視所有放行的埠 # firewall-cmd --reload 重新載入修改的配置 # firewall-cmd --query-port=8888/tcp 查詢埠8888是否被開放7.3 systemctl命令 #語法格式: systemctl [選項] [服務] #作用: 對服務進行管理,如啟動/重啟/停止/檢視服務 # 示例: # systemctl status httpd.service 檢視http服務狀態 # systemctl start httpd.service 啟動http服務 # systemctl stop httpd.service 停止http服務 # systemctl restart httpd.service 重啟http服務 # systemctl status firewalld 檢視防火牆狀態 # systemctl start firewalld 開啟防火牆 # systemctl stop firewalld 關閉防火牆 7.4 firewall-cmd命令 #語法格式: firewall-cmd [引數] #作用: 防火牆埠管理 # 示例: # firewall-cmd --state 檢視當前防火牆的執行狀態 # firewall-cmd --zone=public --list-ports 檢視所有放行的埠 # firewall-cmd --reload 重新載入修改的配置 # firewall-cmd --query-port=8888/tcp 查詢埠8888是否被開放 # firewall-cmd --add-port=8888/tcp 開啟8888埠通過防火牆 # firewall-cmd --permanent --remove-port=123/tcp 關閉123埠 # firewall-cmd --add-port=8888/tcp 開啟8888埠通過防火牆 # firewall-cmd --permanent --remove-port=123/tcp 關閉123埠
8.安裝更新配置
8.1 yum命令
#語法格式: yum [選項] #作用: rpm的軟體包管理器 # 示例: # yum install mysql 安裝mysql # yum remove mysql 解除安裝mysql # yum clean mysql 清除快取目錄下的安裝包 # yum install 全部安裝 # yum update 全部更新 # yum update mysql 更新mysql # yum info mysql 顯示mysql安裝包資訊 # yum list mysql 顯示mysql安裝包資訊 # yum list 顯示所有已安裝包和可安裝包
8.2 sh命令
#語法格式: sh 可執行檔案 #作用: 執行可執行檔案,一般都是shell指令碼 # 示例: # sh a.sh 執行a.sh檔案, # sh -x a.sh 執行並除錯a.sh指令碼
9.系統相關
9.1 環境變數
9.1.1 set命令
#語法格式: set [引數] #作用: 顯示當前shell的變數,包括當前使用者的變數; # 示例: # abcd=100 # set | grep abcd 顯示abcd的變數值
9.1.2 unset命令
#語法格式: unset [引數] #作用: 刪除shell變數的值 # 示例: # abcd=100 # unset abcd 刪除abcd的變數值
9.1.3 env命令
#語法格式: env [引數] #作用: 設定或顯示當前環境變數 # 示例: # env 顯示當前環境變數 # env abcd=10 定義環境變數 # env -u abcd 刪除已經定義的環境變數abcd
9.1.4 export命令
#語法格式: export [引數] #作用: 設定或顯示環境變數 # 示例: # export 顯示當前環境變數 # export abcd=101 定義環境變數
9.2 重啟與關機
9.2.1 shutdown命令
#語法格式: shutdown [引數] #作用: 關閉或重啟 # 示例: # shutdown -h now 立即關機 # shutdown -r now 立即重啟 # shutdown -h 22:30 22:30關機
9.2.2 reboot命令
#語法格式: reboot [引數] #作用: 重啟計算機 # 示例: # reboot 重啟
9.2.3 poweroff命令
#語法格式: poweroff [引數] #作用: 關閉計算機 # 示例: # poweroff 關閉計算機及電源
9.2.4 halt命令
#語法格式: halt #作用: 關閉作業系統 # 示例: # halt 關閉系統 # halt -p 關閉計算機及電源,等同於poweroff # halt -f 強制關機
9.2.5 exit命令
#語法格式: exit #作用: 退出當前執行的shell # 示例: # exit 退出當前shell
9.3 檢視系統資訊
9.3.1 uname命令
#語法格式: uname [引數] #作用: 顯示系統相關資訊 # 示例: # uname 顯示當前系統 # uname -an 顯示系統的詳細資訊 # uname -r 顯示核心資訊 # uname -i 顯示當前架構
9.3.2 date命令
#語法格式: date [引數] #作用: 顯示或設定時間 # 示例: # date 檢視當前時間 # date -s "2021-04-04 22:38:56" 設定時間為2021-04-04 22:38:56
9.3.3 last命令
#語法格式: last #作用: 顯示最近使用者或終端的登入情況 # 示例: # last 顯示最近使用者的登入情況
9.3.4 history命令
#語法格式: history [引數] #作用: 檢視歷史輸入命令 # 示例: # history 檢視歷史命令 # history | grep "sed" 檢視輸入過sed命令 # history -5 檢視最近的5條命令
9.3.5 who命令
#語法格式: who [引數] #作用: 檢視當前登入使用者資訊 # 示例: # who 檢視登入使用者資訊 # who -H 帶標題顯示 # who -b 輸出系統最近啟動時間
9.4 定時任務
9.4.1 crontab命令
#語法格式:crontab [引數] #作用: 任務排程 # 示例: # crontab -l 檢視當前計劃任務 # crontab -e 建立計劃任務,開啟後,需要以按照如下格式編輯 #備註 #設定格式如下: minute(分) hour(小時) day(天) month(月) week(周) command(命令) # 設定範圍: minute 是從0到59之間的任何整數 hour 是從0到23之間的任何整數 day 是從1到31之間的任何整數 month 是從1到12之間的任何整數 week 是從0到7之間的任何整數,其中0或7代表星期日 command 要執行的命令,可以是系統命令,也可以是自己編寫的指令碼檔案 若某列沒有設定,則使用*代替 。 # 舉例: * * 1 * * tar -czvf bk.tar.gz /log_bakup # 每天進行一次歸檔備份
9.5 執行管理員許可權
9.5.1 sudo命令
#語法格式: sudo [命令] #作用: 執行以管理員許可權執行命令,一般是非root使用者進行操作 # 示例: (假設當前賬號為test) # sudo mkdir abc 建立abc目錄 。
9.6 其它
9.6.1 clear命令
#語法格式: clear #作用: 清屏操作,也可以使用快捷鍵Ctrl L # 示例: # clear 清屏
9.6.2 echo命令
#語法格式: echo [變數] #作用: 輸出變數值 # 示例: # echo $abc 輸出變數abc的值,需要提前定義abc的值 # echo `pwd` 顯示當前路徑