Linux下常用的shell命令記錄

以下是我在學習linux系統時整理的常用或有用的系統級命令,包括軟硬件查看、修改命令,有CPU、內存、硬盤、網絡、系統管理等命令。

硬件篇

 CPU相關

  lscpu                           #查看的是cpu的統計信息。

  cat /proc/cpuinfo        #查看CPU信息詳細信息,如每個CPU的型號,主頻等

 內存相關

  free -m                          #概要查看內存情況  這裏的單位是MB

  cat /proc/meminfo        #查看內存詳細信息

 磁盤相關

  lsblk                             #查看硬盤和分區分佈,顯示很直觀

  df -h                             #查看各分區使用情況

  cat /proc/partitions      #查看硬盤和分區

  mount | column -t        #查看掛接的分區狀態

 網卡相關

  lspci | grep -i 'eth'       #查看網卡硬件信息

  ifconfig -a                   #查看系統的所有網絡接口

  ethtool eth0                #如果要查看某個網絡接口的詳細信息,例如eth0的詳細參數和指標

軟件篇

 內核相關

  uname -a                         #查看版本當前操作系統內核信息)

     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 status #查看防火牆狀態

  service iptables stop    #關閉防火牆

  route -n                            #查看路由

  netstat -lntp                     #查看所有監聽端口

  netstat -antp                   #查看所有已經建立的連接

  netstat -s                         #查看網絡統計信息進程

  netstat -at                        #列出所有tcp端口

  netstat -au                      #列出所有udp端口

  netstat -lt                        #只列出所有監聽tcp端口

 系統管理

  top                                  #查看系統所有進程的詳細信息,比如CPU、內存等,信息很多!

  df -lh                               #查看硬盤大小及使用率

  mount                             #掛接遠程目錄、NFS、本地共享目錄到linux下

  hostname                       #查看/修改計算機名

  w                                      #查看活動用戶

  id                                      #查看指定用戶信息

  last                                   #查看用戶登錄日誌

  cut -d: -f1 /etc/passwd   #查看系統所有用戶

  cut -d: -f1 /etc/group      #查看系統所有組

  crontab -l                           #查看當前用戶的計劃任務服務

  chkconfig –list                   #列出所有系統服務

  chkconfig –list | grep on    #列出所有啓動的系統服務程序

  rpm -qa                             #查看所有安裝的軟件包

  uptime                               #查看系統運行時間、用戶數、負載

  /sbin/chkconfig --list          #查看系統自動啓動列表

  /sbin/chkconfig –add mysql    #把MySQL添加到系統的啓動服務組裏面

 文件相關

  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 -xf dir.tar.gz          #解壓

  screen命令

  (screen命令組最大的好處就是當你的shell退出或關閉後,你運行的服務不會關係,也就是說,我們可以在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  #拷貝本地整個目錄到遠程機器上

  軟件包安裝管理命令

  假設你想要安裝的軟件包叫做app,注意,這裏的命令通常需要sudo或者root權限。

  //centos系統、redhat系統

  rpm -qa | grep app          #查找本機是否安裝了app;

  rpm -ivh app.rpm            #假設你有app的rpm包,這樣直接安裝

  sudo yum install app      #否則就在線安裝

  yum update app             #更新app

  rpm -e app                      #刪除已安裝的app包

  //suse、opensuse系統

  zypper search app        #查找本機是否安裝了app;

  zypper install app         #安裝

  zypper update app        #更新

  zypper remove 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包,這樣直接安裝


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