1. 程式人生 > 其它 >常用的shell命令彙總

常用的shell命令彙總

硬體

  • cpu相關
lscpu               #檢視CPU的統計資訊
cat /proc/cpuinfo   #檢視CPU詳細資訊,如每個CPU的型號等
  • 記憶體相關
free -m              #概要檢視記憶體情況,這裡的單位是MB
cat /proc/meminfo    #檢視記憶體詳細資訊
  • 磁碟相關
lsblk                    #檢視硬碟的分割槽分佈,顯示很值觀
df -TH                   #檢視各分割槽的情況
cat /proc/partitions     #檢視硬碟和分割槽
mount | column -t        #檢視掛接的分割槽狀態
  • 網絡卡相關
lspci | grep -i 'eth'    #檢視網絡卡硬體資訊
ifconfig -a              #檢視系統的所有網路介面
ethtool eth0             #如果要檢視某個網路介面的詳細資訊,例如eth0的詳細引數和指標

軟體

  • 核心相關
uname -a                 #檢視版本當前作業系統核心資訊
cat /etc/os-release      #檢視當前作業系統版本資訊
cat /proc/version        #檢視當前作業系統版本資訊
cat /etc/issue           #檢視版本當前作業系統發行版本資訊
cat /etc/redhat-release  #同上
cat /etc/SuSe-release    #suse系統下才可使用,同上
lsb_release -a           #用來檢視Linux相容性的發行版資訊
lsmod                    #列出載入的核心模組
  • 網路相關
ifconfig            #檢視所有網路介面的屬性
iptables -L         #檢視防火牆設定
service iptables (start|stop|restart|status)    #服務管理內命令
route -n            #檢視路由表
netstat -tnlp       #檢視所有監聽埠
netstat -antp       #檢視所有已經建立的連線
netstat -s          #檢視網路統計資訊程序
netstat    -at      #列出所有tcp埠
netstat    -au      #列出所有udp埠
netstat -lt         #只列出所有監聽tcp端
  • 系統管理
top                           #檢視系統所有程序的詳細資訊,如CPU、記憶體等資訊
mount                         #掛載遠端目錄、NFS、本地共享目錄到Linux下
hostname                      #檢視/修改計算機名
w                             #檢視活動使用者
id                            #檢視指定使用者資訊
last                          #檢視使用者登入日誌
cut -d: -f1 /etc/passwd       #檢視系統所有使用者
cut -d: -f1 /etc/group        #檢視系統所有組
crontab -l                    #檢視當前使用者的計劃任務
chkconfig --list              #列出所有系統服務
rpm -qa                       #檢視所有安裝的軟體包
uptime                        #檢視系統執行時間、使用者數、負載
  • 檔案相關
ls -lht          #列出一個資料夾下所有檔案及大小、訪問許可權
du -sh <dir>     #檢視指定目錄的大小
du -lh <dir>     #檢視指定目錄各檔案的大小
ln -s            #建立軟連線
  • 程序相關
pstree -p pid            #檢視一個程序的所有執行緒
pstree -a                #顯示所有程序的所有詳細資訊,遇到相同程序名可以壓縮顯示
ps -ef                   #檢視所有程序
kill -9 pid              #殺死程序
kill all test            #殺死程序
kill -9 `pgrep test`     #殺死程序
./test.sh &              #使程序後臺執行
nohup ./test.sh &        #使程序後臺執行
  • 壓縮解壓縮相關
zip -r dir.zip dir file          #將目錄dir、檔案file等壓縮到zip包
zip -re dir.zip dir file         #建立zip包,且加密
unzip dir.zip                    #解壓
tar -zcvf dir.tar.gz dir file    #將目錄dir、檔案file等壓縮到tar包
tar -zxvf dir.tar.gz             #解壓
  • screen命令
screen -S test        #建立一個名為test的screen
screen -r test        #開啟名字為test的screen
screen -r pid         #開啟程序號為pid的screen
screen -ls            #列出所有的screen
ctrl + a,d            #當在一個screen時,退出screen
ctrl + a,n            #當在一個screen時,切換到下一個視窗
ctrl + a,c            #當在一個screen時,建立一個新的視窗
  • scp命令
scp local_file remote_username@remote_ip:remote_dir        #拷貝本地檔案到遠端機器上
scp -r local_dir remote_username@remote_ip:remote_dir    #拷貝本地目錄到遠端機器上
  • 軟體包管理
//centos ,redhat系統
rpm -qa | grep app      #查詢本機是否安裝了app
rpm -ivh app.rpm        #安裝app
yum install app         #線上安裝app
yum update app          #更新app
rpm -e app              #刪除已經安裝的app
yum repolist            #列出可用的倉庫
yum repolist all        #列出所有倉庫
yum list all            #列出倉庫中所有的軟體包
yum make cache          #快取遠端倉庫快取資訊

//suse,opensuse系統
zypper search app      #查詢本機是否安裝了app
zypper install app     #安裝app
zypper update app      #更新app
zypper remove app      #刪除app
zypper lr              #列出所有已定義的安裝源
zypper ar              #新增新安裝源
zypper rr              #刪除指定的安裝源
zypper mr              #修改指定的安裝源

//ubuntu系統
apt-get install app    #安裝
apt-get update app     #更新
apt-get remove app     #刪除
apt-cache search app   #搜尋軟體包
dpkg -i app.deb        #假設你有app的deb包,直接安裝