《常⽤LINUX命令備忘⼿冊》
阿新 • • 發佈:2022-01-14
《常⽤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 | 清理快取 |