硬核整理高頻Linux命令大總結(總結分享)

本篇文章給大家分享,把平時開發過程中常用的一些linux系統命令給做了一個大整理,形成一個常用高頻linux速查備忘錄。希望對大家有幫助。

硬核整理高頻Linux命令大總結(總結分享)

關機/重啟/注銷

常用命令 作用
shutdown -h now 即刻關機
shutdown -h 10 10分鐘后關機
shutdown -h 11:00 11:00關機
shutdown -h +10 預定時間關機(10分鐘后)
shutdown -c 取消指定時間關機
shutdown -r now 重啟
shutdown -r 10 10分鐘之后重啟
shutdown -r 11:00 定時重啟
reboot 重啟
init 6 重啟
init 0 立刻關機
telinit 0 關機
poweroff 立刻關機
halt 關機
sync buff數據同步到磁盤
logout 退出登錄Shell

注意點:比如同樣是關機,shutdown、poweroff、halt、init 0有什么區別呢?這個有興趣可以自己了解一下,它們是有區別的。


系統信息和性能查看

這里命令其實平時用得是非常之多的,因為一旦系統或者后臺服務除了問題,我們經常要登上去查看,包括很多的系統信息,比如:系統版本、內核版本、處理器架構、計算機名、環境變量、用戶情況、負載情況、內存用量、磁盤信息、進程、網絡連接…

常用命令 作用
uname -a 查看內核/OS/CPU信息
uname -r 查看內核版本
uname -m 查看處理器架構
arch 查看處理器架構
hostname 查看計算機名
who 顯示當前登錄系統的用戶
who am i 顯示登錄時的用戶名
whoami 顯示當前用戶名
cat /proc/version 查看linux版本信息
cat /proc/cpuinfo 查看CPU信息
cat /proc/interrupts 查看中斷
cat /proc/loadavg 查看系統負載
uptime 查看系統運行時間、用戶數、負載
env 查看系統的環境變量
lsusb -tv 查看系統USB設備信息
lspci -tv 查看系統PCI設備信息
lsmod 查看已加載的系統模塊
grep MemTotal /proc/meminfo 查看內存總量
grep MemFree /proc/meminfo 查看空閑內存量
free -m 查看內存用量和交換區用量
date 顯示系統日期時間
cal 2021 顯示2021日歷表
top 動態顯示cpu/內存/進程等情況
vmstat 1 20 每1秒采一次系統狀態,采20次
iostat 查看io讀寫/cpu使用情況
sar -u 1 10 查詢cpu使用情況(1秒一次,共10次)
sar -d 1 10 查詢磁盤性能

磁盤和分區

這是和日常使用息息相關的一些常用命令,在Windows系統里面我們點點鼠標,圖形化界面上就能查看,但是在Linux中我們應該熟練掌握用命令的方式來查看,比如:各種分區信息查看、磁盤使用情況、文件和目錄大小、各種掛載和卸載…

常用命令 作用
fdisk -l 查看所有磁盤分區
swapon -s 查看所有交換分區
df -h 查看磁盤使用情況及掛載點
df -hl 查看磁盤剩余空間
du -sh /dir 查看指定目錄大小
du -sk * | sort -rn 從高到低依次顯示文件和目錄大小
mount /dev/hda2 /mnt/hda2 掛載hda2盤
mount -t ntfs /dev/sdc1 /mnt/usbhd1 指定文件系統類型掛載(如ntfs)
mount -o loop xxx.iso /mnt/cdrom 掛載iso文件
mount /dev/sda1 /mnt/usbdisk 掛載usb盤/閃存設備
umount -v /dev/sda1 通過設備名卸載
umount -v /mnt/mymnt 通過掛載點卸載
fuser -km /mnt/hda1 強制卸載(慎用)

用戶和用戶組

Linux系統里用戶組和用戶本身也是一個非常重要的概念,這部分命令主要就是關于:用戶的CRUD、用戶組的CURD、然后還包括查用戶、切換用戶、改密碼、查用戶登錄日志…

常用命令 作用
useradd codesheep 創建用戶
userdel -r codesheep 刪除用戶
usermod -g group_name user_name 修改用戶的組
usermod -aG group_name user_name 將用戶添加到組
usermod -s /bin/ksh -d /home/codepig –g dev codesheep 修改用戶codesheep的登錄Shell、主目錄以及用戶組
groups test 查看test用戶所在的組
groupadd group_name 創建用戶組
groupdel group_name 刪除用戶組
groupmod -n new_name old_name 重命名用戶組
su – user_name 完整切換到一個用戶環境
passwd 修改口令
passwd codesheep 修改某用戶的口令
w 查看活動用戶
id codesheep 查看指定用戶信息
last 查看用戶登錄日志
crontab -l 查看當前用戶的計劃任務
cut -d: -f1 /etc/passwd 查看系統所有用戶
cut -d: -f1 /etc/group 查看系統所有組

網絡和進程管理

我們作為一個后端開發,這些命令平時用到的概率很大,比如:查看網絡、查看連接、查看端口服務、配置網卡/防火墻/路由表/DNS,查看和過濾進程,采集系統狀態,還有一些系統性能的監控和排查命令…等等。這些命令,在后端開發連到公司服務器上去排查問題時就很有用了,用得也很頻繁。

常用命令 作用
ifconfig 查看網絡接口屬性
ifconfig eth0 查看某網卡的配置
route -n 查看路由表
netstat -lntp 查看所有監聽端口
netstat -antp 查看所有已經建立的連接
netstat -lutp 查看TCP/UDP的狀態信息
ifup eth0 啟用eth0網絡設備
ifdown eth0 禁用eth0網絡設備
iptables -L 查看iptables規則
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 配置ip地址
dhclient eth0 以dhcp模式啟用eth0
route add -net 0/0 gw Gateway_IP 配置默認網關
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 配置靜態路由到達網絡’192.168.0.0/16’
route del 0/0 gw Gateway_IP 刪除靜態路由
hostname 查看主機名
host www.codesheep.cn 解析主機名
nslookup www.codesheep.cn 查詢DNS記錄,查看域名解析是否正常
ps -ef 查看所有進程
ps -ef | grep codesheep 過濾出你需要的進程
kill -s name kill指定名稱的進程
kill -s pid kill指定pid的進程
top 實時顯示進程狀態
vmstat 1 20 每1秒采一次系統狀態,采20次
iostat 查看io讀寫/cpu使用情況
sar -u 1 10 查詢cpu使用情況(1秒一次,共10次)
sar -d 1 10 查詢磁盤性能

常見系統服務命令

這類命令平時接觸得也很多,比如我們自己在安裝和部署各種各樣的基礎編程環境和服務時就常用,比如裝JDK、MySQL數據庫、redis緩存、nginx服務器…

常用命令 作用
chkconfig –list 列出系統服務
service status 查看某個服務
service start 啟動某個服務
service stop 終止某個服務
service restart 重啟某個服務
systemctl status 查看某個服務
systemctl start 啟動某個服務
systemctl stop 終止某個服務
systemctl restart 重啟某個服務
systemctl enable 開啟自啟動
systemctl disable 關閉自啟動

文件和目錄操作

這類命令全部是Linux系統使用的基本操作,也是平時用到頻率最高的一些命令,關于文件操作的、關于目錄操作的、關于路徑的。比如:對文件和目錄的各種高頻操作,創建、查看、查找、刪除、重命名、復制、軟連接、快速定位和查找… 等等。都是些高頻的實用命令。

常用命令 作用
cd 進入某個目錄
cd … 回上級目錄
cd …/… 回上兩級目錄
cd 進個人主目錄
cd – 回上一步所在目錄
pwd 顯示當前路徑
ls 查看文件目錄列表
ls -F 查看目錄中內容(顯示是文件還是目錄)
ls -l 查看文件和目錄的詳情列表
ls -a 查看隱藏文件
ls -lh 顯示權限
ls -lSr more
tree 查看文件和目錄的樹形結構
mkdir 創建目錄
mkdir dir1 dir2 同時創建兩個目錄
mkdir -p /tmp/dir1/dir2 創建目錄樹
rm -f file1 刪除’file1’文件
rmdir dir1 刪除’dir1’目錄
rm -rf dir1 刪除’dir1’目錄和其內容
rm -rf dir1 dir2 同時刪除兩個目錄及其內容
mv old_dir new_dir 重命名/移動目錄
cp file1 file2 復制文件
cp dir/* . 復制某目錄下的所有文件至當前目錄
cp -a dir1 dir2 復制目錄
cp -a /tmp/dir1 . 復制一個目錄至當前目錄
ln -s file1 link1 創建指向文件/目錄的軟鏈接
ln file1 lnk1 創建指向文件/目錄的物理鏈接
find / -name file1 從跟目錄開始搜索文件/目錄
find / -user user1 搜索用戶user1的文件/目錄
find /dir -name *.bin 在目錄/dir中搜帶有.bin后綴的文件
locate 關鍵詞 快速定位文件
locate *.mp4 尋找.mp4結尾的文件
whereis halt 顯示某二進制文件/可執行文件的路徑
which halt 查找系統目錄下的二進制文件
chmod ugo+rwx dir1 設置目錄所有者(u)、群組(g)及其他人(o)的讀(r)寫(w)執行(x)權限
chmod go-rwx dir1 移除群組(g)與其他人(o)對目錄的讀寫執行權限
chown user1 file1 改變文件的所有者屬性
chown -R user1 dir1 改變目錄的所有者屬性
chgrp group1 file1 改變文件群組
chown user1:group1 file1 改變文件的所有人和群組

文件查看和處理

這部分命令主要針對性地關于文件處理或者說文本處理,比如我們作為一個程序員,那操作最多的就是代碼源文件,各種花式查看、比較、增加、刪除、替換、合并… 等等一系列快速操作。

常用命令 作用
cat file1 查看文件內容
cat -n file1 查看內容并標示行數
cat xxx.txt awk ‘NR%2==1’
tac file1 從最后一行開始反看文件內容
more file1 查看一個長文件的內容
less file1 類似more命令,但允許反向操作
head -2 file1 查看文件前兩行
tail -2 file1 查看文件后兩行
tail -f /log/msg 實時查看添加到文件中的內容
grep codesheep hello.txt 在文件hello.txt中查找關鍵詞codesheep
grep ^sheep hello.txt 在文件hello.txt中查找以sheep開頭的內容
grep [0-9] hello.txt 選擇hello.txt文件中所有包含數字的行
sed ‘s/s1/s2/g’ hello.txt 將hello.txt文件中的s1替換成s2
sed ‘/^$/d’ hello.txt 從hello.txt文件中刪除所有空白行
sed ‘/ *#/d; /^$/d’ hello.txt 從hello.txt文件中刪除所有注釋和空白行
sed -e ‘1d’ hello.txt 從文件hello.txt 中排除第一行
sed -n ‘/s1/p’ hello.txt 查看只包含關鍵詞”s1″的行
sed -e ‘s/ *$//’ hello.txt 刪除每一行最后的空白字符
sed -e ‘s/s1//g’ hello.txt 從文檔中只刪除詞匯s1并保留剩余全部
sed -n ‘1,5p;5q’ hello.txt 查看從第一行到第5行內容
sed -n ‘5p;5q’ hello.txt 查看第5行
paste file1 file2 合并兩個文件或兩欄的內容
paste -d ‘+’ file1 file2 合并兩個文件或兩欄的內容,中間用”+”區分
sort file1 file2 排序兩個文件的內容
sort file1 file2 uniq
sort file1 file2 uniq -u
sort file1 file2 uniq -d
comm -1 file1 file2 比較兩個文件的內容(去除’file1’所含內容)
comm -2 file1 file2 比較兩個文件的內容(去除’file2’所含內容)
comm -3 file1 file2 比較兩個文件的內容(去除兩文件共有部分)

打包和解壓

這部分內容主要關于文件或者目錄的打包壓縮和解壓,涉及好幾種壓縮包格式和文件,這部分命令在平時用得也是非常非常頻繁的。

常用命令 作用
zip xxx.zip file 壓縮至zip包
zip -r xxx.zip file1 file2 dir1 將多個文件+目錄壓成zip包
unzip xxx.zip 解壓zip包
tar -cvf xxx.tar file 創建非壓縮tar包
tar -cvf xxx.tar file1 file2 dir1 將多個文件+目錄打tar包
tar -tf xxx.tar 查看tar包的內容
tar -xvf xxx.tar 解壓tar包
tar -xvf xxx.tar -C /dir 將tar包解壓至指定目錄
tar -cvfj xxx.tar.bz2 dir 創建bz2壓縮包
tar -jxvf xxx.tar.bz2 解壓bz2壓縮包
tar -cvfz xxx.tar.gz dir 創建gzip壓縮包
tar -zxvf xxx.tar.gz 解壓gzip壓縮包
bunzip2 xxx.bz2 解壓bz2壓縮包
bzip2 filename 壓縮文件
gunzip xxx.gz 解壓gzip壓縮包
gzip filename 壓縮文件
gzip -9 filename 最大程度壓縮

然后接下來就是一些常見的包管理器命令。首先什么是包管理器,大家應該都清楚。

這么說吧,如果沒有包管理器這個東西的存在,那估計僅僅是Linux系統上的軟件安裝,怕是就要勸退很多用戶了,因為很多的軟件依賴處理會讓人抓狂。因此簡單來說,我們可以將包管理器理解為,用來為Linux系統上的軟件安裝、卸載、升級、查詢提供支持的組件,所以對于用戶使用來說,一般就是一組工具命令集。

我們平常使用最廣的比如,紅帽子的包結構RPM包管理器,像RedHat、CentOS等系統都在用,典型的命令就是rpm命令、yum命令;然后就是DPKG包管理器,像Debain、Ubuntu等系統都用,典型的命令比如dpkg命令、apt軟件工具。


rpm包管理命令

常用命令 作用
rpm -qa 查看已安裝的rpm包
rpm -q pkg_name 查詢某個rpm包
rpm -q –whatprovides xxx 顯示xxx功能是由哪個包提供的
rpm -q –whatrequires xxx 顯示xxx功能被哪個程序包依賴的
rpm -q –changelog xxx 顯示xxx包的更改記錄
rpm -qi pkg_name 查看一個包的詳細信息
rpm -qd pkg_name 查詢一個包所提供的文檔
rpm -qc pkg_name 查看已安裝rpm包提供的配置文件
rpm -ql pkg_name 查看一個包安裝了哪些文件
rpm -qf filename 查看某個文件屬于哪個包
rpm -qR pkg_name 查詢包的依賴關系
rpm -ivh xxx.rpm 安裝rpm包
rpm -ivh –test xxx.rpm 測試安裝rpm包
rpm -ivh –nodeps xxx.rpm 安裝rpm包時忽略依賴關系
rpm -e xxx 卸載程序包
rpm -Fvh pkg_name 升級確定已安裝的rpm包
rpm -Uvh pkg_name 升級rpm包(若未安裝則會安裝)
rpm -V pkg_name RPM包詳細信息校驗

yum包管理命令

常用命令 作用
yum repolist enabled 顯示可用的源倉庫
yum search pkg_name 搜索軟件包
yum install pkg_name 下載并安裝軟件包
yum install –downloadonly pkg_name 只下載不安裝
yum list 顯示所有程序包
yum list installed 查看當前系統已安裝包
yum list updates 查看可以更新的包列表
yum check-update 查看可升級的軟件包
yum update 更新所有軟件包
yum update pkg_name 升級指定軟件包
yum deplist pkg_name 列出軟件包依賴關系
yum remove pkg_name 刪除軟件包
yum clean all 清除緩存
yum clean packages 清除緩存的軟件包
yum clean headers 清除緩存的header

dpkg包管理命令

常用命令 作用
dpkg -c xxx.deb 列出deb包的內容
dpkg -i xxx.deb 安裝/更新deb包
dpkg -r pkg_name 移除deb包
dpkg -P pkg_name 移除deb包(不保留配置)
dpkg -l 查看系統中已安裝deb包
dpkg -l pkg_name 顯示包的大致信息
dpkg -L pkg_name 查看deb包安裝的文件
dpkg -s pkg_name 查看包的詳細信息
dpkg –unpack xxx.deb 解開deb包的內容

apt軟件工具

常用命令 作用
apt-cache search pkg_name 搜索程序包
apt-cache show pkg_name 獲取包的概覽信息
apt-get install pkg_name 安裝/升級軟件包
apt-get purge pkg_name 卸載軟件(包括配置)
apt-get remove pkg_name 卸載軟件(不包括配置)
apt-get update 更新包索引信息
apt-get upgrade 更新已安裝軟件包
apt-get clean 清理緩存

相關推薦:《Linux視頻教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享