本文章記錄我在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.cn/OS/Linux/
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包,這樣直接安裝
請關注,後續隨著使用的深入還會持續更新。
作者:cnblogs lizhenghn