首頁  >  文章  >  運維  >  硬派整理高頻Linux指令大總結(總結分享)

硬派整理高頻Linux指令大總結(總結分享)

WBOY
WBOY轉載
2021-12-27 19:21:191685瀏覽

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

硬派整理高頻Linux指令大總結(總結分享)

關機/重啟/登出

##作用shutdown -h now即時關機shutdown -h 1010分鐘後關機shutdown -h 11:0011:00關機shutdown -h 10預定時間關機(10分鐘後)shutdown -c取消指定時間關機##shutdown -r nowshutdown -r 10##shutdown -r 11:00定時重啟reboot重啟##已重啟init 0立刻關機#telinit 0關機#poweroff立刻關機halt關機sync
常用指令
重啟
#10分鐘之後重啟
##init 6


#buff資料同步到磁碟系統資訊和效能查看這裡指令其實平時用得是非常之多的,因為一旦系統或後台服務除了問題,我們常常要登上去查看,包含大量的系統訊息,例如:系統版本、核心版本、處理器架構、電腦名稱、環境變數、使用者狀況、負載狀況、記憶體用量、磁碟資訊、行程、網路連線…常用指令作用uname -a查看內核/OS/CPU訊息uname -r查看核心版本uname -m檢視處理器架構arch檢視處理器架構#hostname##看電腦名稱顯示目前登入系統的用戶##顯示登入時的用戶名稱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次
logout 退出登入Shell
注意點:例如同樣是關機,shutdown、poweroff、halt、init 0有什麼差別呢?這個有興趣可以自己了解一下,它們是有差別的。
who
#who am i
###iostat######查看io讀寫/cpu使用量############sar -u 1 10######查詢cpu使用情況(1秒一次,共10次)############sar -d 1 10######查詢磁碟效能############

磁碟與分割區

這是和日常使用息息相關的一些常用指令,在Windows系統裡面我們點點滑鼠,圖形化介面上就能查看,但是在Linux中我們應該熟練用命令的方式來查看,例如:各種分割區資訊檢視、磁碟使用情況、檔案和目錄大小、各種掛載和卸載…

#常用指令#fdisk -l檢視所有磁碟分割區swapon -s查看所有交換分割區#df -hdf -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
作用
fdisk -l 檢視所有磁碟分割區
檢視磁碟使用及掛載點
透過裝置名稱卸載

umount -v /mnt/mymnt

透過掛載點卸載
##fuser -km /mnt/hda1#使用者與使用者群組Linux系統裡使用者群組和使用者本身也是一個非常重要的概念,這部分指令主要是關於:使用者的CRUD、使用者群組的CURD、然後還包括查詢使用者、切換使用者、改密碼、查詢使用者登入日誌…常用指令作用useradd codesheep#useradd codesheepuserdel -r codesheep##usermod -g group_name user_name#修改使用者的群組usermod -aG group_name user_name將使用者新增至群組修改用戶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查看使用者登入日誌
強制卸載(慎用)
建立使用者
刪除使用者
##usermod -s /bin/ksh -d /home/codepig –g dev codesheep
###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的狀態資訊##iptables -L檢視iptables規則ifconfig eth0 192.168.1.1 netmask 255.255.255.0設定ip位址dhclient eth0以dhcp模式啟用eth0route add -net 0/0 gw Gateway_IP設定預設閘道route add -net 192.168.0.0 netmask 255.255.0.0 gw 1​​92.168.1.1#設定靜態路由到達網路'192.168.0.0/16'設定靜態路由到達網路'192.168.0.0/16'##route del 0/0 gw Gateway_IP刪除靜態路由#hostname看主機名稱#host www.codesheep.cn解析主機名稱nslookup www.codesheep.cn查詢DNS記錄,查看網域解析是否正常檢視所有進程kill -s namekill -s pid topvmstat 1 20iostat
常用指令 作用
ifconfig
##ifup eth0 啟用eth0網路裝置
ifdown eth0 #停用eth0網路裝置
#ps -ef
#ps -ef | grep codesheep
#過濾出你需要的程序
kill指定名稱的程序
kill指定pid的程序
#即時顯示進程狀態
每1秒採一次系統狀態,採20次
查看io讀寫/cpu使用情況

sar -u 1 10

查詢cpu使用情況(1秒一次,共10次)
sar -d 1 10#查詢磁碟效能常見系統服務指令chkconfig --list#service <服務名稱> status#service <服務名稱> start#啟動某個服務#終止某個服務##service <服務名> restart重啟某個服務systemctl status <服務名稱>查看某個服務#systemctl start <服務名稱>啟動某個服務systemctl stop <服務名稱>#終止某個服務
這類指令平時接觸得也很多,例如我們自己在安裝和部署各種各樣的基礎程式環境和服務時就常用,例如安裝JDK、MySQL資料庫、redis快取、nginx伺服器…
常用指令 作用
列出系統服務
查看某個服務
service <服務名稱> stop
###systemctl restart <服務名稱>######重啟某個服務###########systemctl enable <服務名稱>######開啟自啟動############systemctl disable <服務名稱>#####關閉自啟動######### ####

檔案和目錄操作

這類指令全部是Linux系統使用的基本操作,也是平時用到頻率最高的一些指令,關於檔案操作的、關於目錄操作的、關於路徑的。例如:對檔案和目錄的各種高頻操作,建立、檢視、尋找、刪除、重新命名、複製、軟體連線、快速定位和尋找… 等等。都是些高頻的實用指令。

##ls -lh顯示權限ls -lSrmoretree檢視檔案與目錄的樹狀結構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 file2cp dir/* .cp -a dir1 dir2cp -a /tmp/dir1 .#ln -s file1 link1ln file1 lnk1## 建立指向檔案/目錄的實體連結find / -name file1從跟目錄開始搜尋檔案/目錄搜尋使用者user1的檔案/目錄##在目錄/dir中搜尋帶有.bin後綴的檔案locate 關鍵字快速定位檔案locate *.mp4##chown -R user1 dir1改變目錄的擁有者屬性#chgrp group1 file1改變檔案群組#chown user1:group1 file1改變檔案的所有人和群組

文件檢視與處理

這部分指令主要針對性地關於文件處理或說文字處理,例如我們身為程式設計師,那操作最多的就是程式碼來源文件,各種花式檢視、比較、增加、刪除、替換、合併… 等等一系列快速操作。

常用指令 作用
cd <目錄名> 進入某個目錄
cd … #回上級目錄
cd …/ … 回上兩層目錄
cd #進入個人主目錄
cd - 回上一步所在目錄
pwd 顯示目前路徑
ls #查看檔案目錄清單
ls -F 檢視目錄中內容(顯示是檔案還是目錄)
ls - l 查看檔案和目錄的詳情清單
ls -a 查看隱藏檔案
複製檔案
複製某目錄下的所有檔案到目前目錄
複製目錄
複製一個目錄到目前目錄
建立指向檔案/目錄的軟連結
##find / - user user1
find /dir -name *.bin
##尋找.mp4結尾的檔案
whereis halt 顯示某二進位檔案/執行檔的路徑
which halt 尋找系統目錄下的二進位檔案
chmod ugo rwx dir1 設定目錄擁有者(u)、群組(g)及其他人(o)的讀(r)寫(w)執行(x)權限
chmod go-rwx dir1 移除群組(g)與其他人(o)對目錄的讀寫執行權限
chown user1 file1 改變檔案的擁有者屬性
##在檢視檔案前兩行tail -2 file1檢視檔案後兩行tail -f /log/msg即時查看新增至檔案中的內容##grep codesheep hello .txt#grep ^sheep hello.txtgrep [0-9] hello.txtsed 's/s1/s2/g' hello.txtsed '/^ $/d' hello.txt#sed '/ *#/d; /^$/d' hello .txtsed -e '1d' hello.txtsed -n '/s1/p' hello.txtsed -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 file2uniqsort file1 file2uniq -usort file1 file2uniq -dcomm -1 file1 file2比較兩個檔案的內容(移除'file1'所含內容)comm -2 file1 file2比較兩個檔案的內容(移除'file2'所含內容)#comm -3 file1 file2比較兩個檔案的內容(移除兩個檔案共有部分)打包和解壓
常用指令 作用
cat file1 檢視檔案內容
cat -n file1 檢視內容並標示行數
cat xxx.txt awk 'NR%2==1'
tac file1 從最後一行開始反看檔案內容
more file1 查看一個長檔案的內容
#less file1 類似more指令,但允許反向動作
head -2 file1
在檔案hello.txt中尋找關鍵字codesheep
在檔案hello.txt中尋找以sheep開頭的內容
#選擇hello.txt檔案中所有包含數字的行
將hello.txt檔案中的s1替換成s2
從hello.txt檔案中刪除所有空白行
從hello.txt檔案中刪除所有註解和空白行
從檔案hello .txt 中排除第一行
查看只包含關鍵字"s1"的行
刪除每一行最後的空白字元

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

常用指令作用zip xxx.zip file 壓縮至zip套件zip -r xxx.zip file1 file2 dir1將多個檔案目錄壓成zip套件unzip xxx.zip解壓縮zip套件tar -cvf xxx.tar file##建立非壓縮tar套件將多個檔案目錄打tar套件查看tar包的內容解壓縮tar包將tar包解壓縮至指定目錄建立bz2壓縮套件解壓縮bz2壓縮套件創建gzip壓縮包#解壓縮gzip壓縮包解壓縮bz2壓縮套件#壓縮檔解壓縮gzip壓縮套件##壓縮檔案gzip -9 filename最大程度壓縮

然後接下來就是一些常見的套件管理器指令。首先什麼是套件管理器,大家應該都很清楚。

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

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


rpm套件管理指令

tar -cvf xxx.tar file1 file2 dir1
#tar - tf xxx.tar
tar -xvf xxx.tar
tar -xvf xxx.tar -C /dir
tar -cvfj xxx.tar.bz2 dir
tar -jxvf xxx.tar.bz2
tar -cvfz xxx.tar.gz dir
tar -zxvf xxx.tar.gz
bunzip2 xxx.bz2
bzip2 filename
gunzip xxx.gz
gzip filename
##查詢某個rpm套件rpm -q --whatprovides xxx顯示xxx功能是由哪個套件提供的rpm -q --whatrequires xxx 顯示xxx功能被哪個套件依賴的rpm -q --changelog xxx顯示xxx包的變更記錄rpm -qi pkg_namerpm -qd pkg_namerpm -qc pkg_name##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 -qa 查看已安裝的rpm包
rpm -q pkg_name
##查看一個套件的詳細資訊
查詢一個套件所提供的文件
查看已安裝rpm包提供的設定檔
##rpm - Fvh pkg_name 升級決定已安裝的rpm包
rpm -Uvh pkg_name

升級rpm套件(若未安裝則會安裝)

rpm -V pkg_nameRPM套件詳細資料校驗##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_nameapt-get update apt-get upgrade#apt-get clean
卸載軟體(不包括配置)
更新套件索引資訊
更新已安裝軟體包
已清理快取

###相關推薦:《###Linux影片教學###》######

以上是硬派整理高頻Linux指令大總結(總結分享)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除