本文章記錄我在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命令
更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/
screen命令組最大的好處就是當你的shell退出或關閉後,你啟動並執行服務不會關係,也就是說,我們可以在screen裡開啟一組服務,且不受終端斷開的影響。
screen -S test #建立一個名字為test的screenscreen -r test #開啟名字為test的screenscreen -r pid #開啟進程號為pid的screenscreen -ls #列出所有的screenctrl + a,d #當在一個screen時,退出screenctrl + 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 #更新apprpm -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包,這樣直接安裝
請關注,後續隨著使用的深入還會持續更新。
作者:cnblogs lizhenghn