1. 程式人生 > 其它 >《常⽤LINUX命令備忘⼿冊》

《常⽤LINUX命令備忘⼿冊》

《常⽤LINUX命令備忘⼿冊》


1. 關機/重啟/登出

命令 功能
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

2. 系統資訊和效能檢視

命令 功能
uname -a 檢視核心/OS/CPU資訊
uname -r 檢視核心版本
uname -m 檢視處理器架構
arch 檢視處理器架構
hostname 檢視主機對映名
hostname -i 檢視主機IP地址
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/(-h) 檢視記憶體⽤量和交換區⽤量
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 查詢磁碟效能(1秒⼀次,共10次)

3. 磁碟和分割槽

命令 功能
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 強制解除安裝(慎⽤)

4. ⽤戶和⽤戶組

命令 功能
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 檢視指定⽤戶codesheep資訊
last 檢視⽤戶登入⽇志
crontab -l 檢視當前⽤戶的計劃任務
cut -d: -f1 /etc/passwd 檢視系統所有⽤戶
cut -d: -f1 /etc/group 檢視系統所有組

5. ⽹絡和程序管理

命令 功能
ifconfig 檢視⽹絡接⼝屬性
ifconfig eth0 檢視某⽹卡的配置
route -n 檢視路由表
netstat -lntp 檢視所有監聽端⼝
netstat -antp 檢視已經建⽴的TCP連線
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 查詢磁碟效能

6. 常⻅系統服務命令

功能 命令
chkconfig --list 列出系統服務
service <服務名> status 檢視某個服務
service <服務名> start 啟動某個服務
service <服務名> stop 終⽌某個服務
service <服務名> restart 重啟某個服務
systemctl status <服務名> 檢視某個服務
systemctl start <服務名> 啟動某個服務
systemctl stop <服務名> 終⽌某個服務
systemctl restart <服務名> 重啟某個服務
systemctl enable <服務名> 開啟⾃啟動
systemctl disable <服務名> 關閉⾃啟動

7. ⽂件和⽬錄操作

命令 功能
cd <⽬錄名> 進⼊某個⽬錄
cd .. 回上級⽬錄
cd ../.. 回上兩級⽬錄
cd 進個⼈主⽬錄
cd - 回上⼀步所在⽬錄
pwd 顯示當前路徑
ls 檢視⽂件⽬錄列表
ls -F 檢視⽬錄中內容(顯示是⽂件還是⽬錄)
ls -l 檢視⽂件和⽬錄的詳情列表
ls -a 檢視隱藏⽂件
ls -lh 檢視⽂件和⽬錄的詳情列表(增強⽂件⼤⼩易讀性)
ls -lSr 檢視⽂件和⽬錄列表(以⽂件⼤⼩升序檢視)
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 <關鍵詞> 顯示某⼆進位制⽂件/可執⾏⽂件的路徑
which <關鍵詞> 查詢系統⽬錄下某的⼆進位制⽂件
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 改變⽂件的所屬者和群組

8. ⽂件檢視和處理

命令 功能
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 ⽐較兩個⽂件的內容(去除兩⽂件共有部分)

9. 打包和解壓

命令 功能
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 最⼤程度壓縮

10. 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包詳細資訊校驗

11. 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

12. 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包的內容

13. 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 清理快取