以下是我在學習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包,這樣直接安裝