qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Linux下常用的shell命令記錄

          文章記錄我在linux系統下常用或有用的系統級命令,包括軟硬件查看、修改命令,有CPU、內存、硬盤、網絡、系統管理等命令。但本文不打算介紹生僻命令,也不介紹各個linux發行版下的特有命令,且以后會持續更新。
            說明,我是在一個Centos 6.4 64位的虛擬機系統進行測試。本文介紹的命令都會在此Centos下運行驗證(也有部分命令會在我的suse/ubuntu系統里測試的,會做特明說明),但運行結果就不再列出了。
            硬件篇
            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包,這樣直接安裝
            請關注,后續隨著使用的深入還會持續更新。

          posted on 2014-04-29 11:09 順其自然EVO 閱讀(208) 評論(0)  編輯  收藏 所屬分類: linux

          <2014年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 大竹县| 虞城县| 晋宁县| 临安市| 呼伦贝尔市| 恩平市| 临泽县| 凤凰县| 永善县| 澜沧| 分宜县| 大冶市| 镇平县| 邻水| 射洪县| 马关县| 德格县| 黑水县| 新乡县| 青州市| 蛟河市| 新晃| 双峰县| 鄂托克前旗| 南开区| 山丹县| 华容县| 乌海市| 澄城县| 昆明市| 赣榆县| 文成县| 兴义市| 丰台区| 乐清市| 依安县| 鲁山县| 西平县| 大英县| 永善县| 宝鸡市|