Linux常用的shell命令匯總
本文介紹Linux系統(tǒng)下常用的系統(tǒng)級命令,包括軟硬件查看、修改命令,有CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)管理等命令。
說明命令是在Centos 6.4 64位的虛擬機(jī)系統(tǒng)進(jìn)行測試的。本文介紹的命令都會在此Centos下運(yùn)行驗(yàn)證(也有部分命令會在suse/ubuntu系統(tǒng)里測試的,會做特明說明),但運(yùn)行結(jié)果就不再列出了。
硬件篇
CPU相關(guān)
lscpu
#查看的是cpu的統(tǒng)計(jì)信息
cat /proc/cpuinfo
#查看CPU信息詳細(xì)信息,如每個(gè)CPU的型號,主頻等
內(nèi)存相關(guān)
free -m
#概要查看內(nèi)存情況 這里的單位是MB
cat /proc/meminfo
#查看內(nèi)存詳細(xì)信息
磁盤相關(guān)
lsblk
#查看硬盤和分區(qū)分布,顯示很直觀
df -h
#查看各分區(qū)使用情況
cat /proc/partitions
#查看硬盤和分區(qū)
mount | column -t
#查看掛接的分區(qū)狀態(tài)
網(wǎng)卡相關(guān)
lspci| grep -i 'eth'
#查看網(wǎng)卡硬件信息
ifconfig-a
#查看系統(tǒng)的所有網(wǎng)絡(luò)接口
ethtool eth0
#如果要查看某個(gè)網(wǎng)絡(luò)接口的詳細(xì)信息,例如eth0的詳細(xì)參數(shù)和指標(biāo)
軟件篇
內(nèi)核相關(guān)
uname-a
#查看版本當(dāng)前操作系統(tǒng)內(nèi)核信息
cat/proc/version
#查看當(dāng)前操作系統(tǒng)版本信息
cat/etc/issue
#查看版本當(dāng)前操作系統(tǒng)發(fā)行版信息
cat/etc/redhat-release
#同上
cat/etc/SuSE-release
#suse系統(tǒng)下才可使用
lsb_release-a
#用來查看linux兼容性的發(fā)行版信息
lsmod
#列出加載的內(nèi)核模塊
網(wǎng)絡(luò)
ifconfig
#查看所有網(wǎng)絡(luò)接口的屬性
iptables-L
#查看防火墻設(shè)置
service iptables status
#查看防火墻狀態(tài)
service iptables stop
#關(guān)閉防火墻
route-n
#查看路由表
netstat-lntp
#查看所有監(jiān)聽端口
netstat-antp
#查看所有已經(jīng)建立的連接
netstat-s
#查看網(wǎng)絡(luò)統(tǒng)計(jì)信息進(jìn)程
netstat-at
#列出所有tcp端口
netstat-au
#列出所有udp端口
netstat-lt
#只列出所有監(jiān)聽tcp端口
系統(tǒng)管理
top
#查看系統(tǒng)所有進(jìn)程的詳細(xì)信息,比如CPU、內(nèi)存等,信息很多!
df-lh
#查看硬盤大小及使用率
mount
#掛接遠(yuǎn)程目錄、NFS、本地共享目錄到linux下
hostname
#查看/修改計(jì)算機(jī)名
w
#查看活動用戶
id
#查看指定用戶信息
last
#查看用戶登錄日志
cut-d: -f1 /etc/passwd
#查看系統(tǒng)所有用戶
cut-d: -f1 /etc/group
#查看系統(tǒng)所有組crontab-l
#查看當(dāng)前用戶的計(jì)劃任務(wù)服務(wù)
chkconfig–list
#列出所有系統(tǒng)服務(wù)
chkconfig–list | grep on
#列出所有啟動的系統(tǒng)服務(wù)程序
rpm-qa
#查看所有安裝的軟件包
uptime
#查看系統(tǒng)運(yùn)行時(shí)間、用戶數(shù)、負(fù)載
/sbin/chkconfig--list
#查看系統(tǒng)自動啟動列表
/sbin/chkconfig –add mysql
#把MySQL添加到系統(tǒng)的啟動服務(wù)組里面
文件相關(guān)
ls-lht
#列出一個(gè)文件夾下所有文件及大小、訪問權(quán)限
du-sh <dir>
#查看指定目錄的大小
du-lh <dir>
#查看指定目錄及各文件的大小
ln-s
#建立軟鏈接
進(jìn)程相關(guān)
pstree-p pid
#查看一個(gè)進(jìn)程下的所有線程
pstree-a
#顯示所有進(jìn)程的所有詳細(xì)信息,遇到相同的進(jìn)程名可以壓縮顯示。
ps-ef
#查看所有進(jìn)程
kill-9 pid
#殺死進(jìn)程
kill all test
#殺死進(jìn)程
kill-9 `pgrep test`
#殺死進(jìn)程
./test.sh &
#使程序在后臺運(yùn)行
nohup./test.sh &
#使程序在后臺運(yùn)行
壓縮解壓縮
zip-r dir.zip dir file
#將目錄dir、文件file等壓縮到zip包,
zip-re dir.zip dir file
#創(chuàng)建zip包,且加密
unzip dir.zip
#解壓
tar-zcvf dir.tar.gz dir file
#將目錄dir、文件file等壓縮到tar包
tar-xf dir.tar.gz
#解壓
screen命令
screen命令組最大的好處就是當(dāng)你的shell退出或關(guān)閉后,你運(yùn)行的服務(wù)不會關(guān)系,也就是說,我們可以在screen里開啟一組服務(wù),且不受終端斷開的影響。
screen -S test
#創(chuàng)建一個(gè)名字為test的screen
screen-r test
#打開名字為test的screen
screen-r pid
#打開進(jìn)程號為pid的screen
screen-ls
#列出所有的screen
ctrl+ a,d
#當(dāng)在一個(gè)screen時(shí),退出screen
ctrl+ a,n
#當(dāng)在一個(gè)screen時(shí),切換到下一個(gè)窗口
ctrl+ a,c
#當(dāng)在一個(gè)screen時(shí),創(chuàng)建一個(gè)新的窗口
SCP命令
scp local_file remote_username@remote_ip:remote_dir
#拷貝本地文件到遠(yuǎn)程機(jī)器上
scp-r local_dir remote_username@remote_ip:remote_dir
#拷貝本地整個(gè)目錄到遠(yuǎn)程機(jī)器上
軟件包安裝管理命令
假設(shè)你想要安裝的軟件包叫做app,注意,這里的命令通常需要sudo或者root權(quán)限。
//centos系統(tǒng)、redhat系統(tǒng)
rpm-qa | grep app
#查找本機(jī)是否安裝了app;
rpm-ivh app.rpm
#假設(shè)你有app的rpm包,這樣直接安裝
sudo yum install app
#否則就在線安裝
yum update app
#更新app
rpm-e app
#刪除已安裝的app包
//suse、opensuse系統(tǒng)
zypper search app
#查找本機(jī)是否安裝了app;
zypper install app
#安裝
zypper update app
#更新
zypper remove app
#刪除
zypper lr
#列出所有已定義的安裝源。
zypper ar
#添加新安裝源。
zypper rr
#刪除指定的安裝源
zypper mr
#修改指定的安裝源
//ubuntu系統(tǒng)
apt-get install app
#安裝
apt-get update app
#更新
apt-get remove app
#刪除
apt-cache search app
#搜索軟件包
dpkg-i app.deb
#假設(shè)你有app的deb包,這樣直接安裝
了解更多網(wǎng)工知識,公眾號:IT運(yùn)維大本營