
🌲 前言
為什么要學習 Linux 命令?
目前企業有超過 80% 甚至更多的系統都是 Linux 作業系統,所以不管是做開發還是運維、測驗,不會點 Linux 知識肯定是無法進入到企業里作業,而且,很多企業的崗位職責里寫要需要精通 Linux ,

Linux 的從業方向也比較廣,主要分為 運維 和 開發 ,細分下來就數不勝數了,基本都會涉及,因此學好 Linux 刻不容緩,

本文將列出我作業多年所學的 Linux 常用命令的匯總!超全面!超詳細!包學包會!
🏆 命令匯總
🍇 檔案管理
1?? ls 命令 – 顯示指定作業目錄下的內容及屬性資訊
ls命令為英文單詞 list 的縮寫,正如英文單詞 list 的意思,其功能是列出指定目錄下的內容及其相關屬性資訊,
默認狀態下,ls命令會列出當前目錄的內容,而帶上引數后,我們可以用ls做更多的事情,作為最基礎同時又是使用頻率很高的命令,我們很有必要搞清楚ls命令的用法,那么接下來一起看看吧!
語法:
語法格式: ls [選項] [檔案]
常用引數:

參考實體:
列出所有檔案(包括隱藏檔案):
ls -a
列出檔案的詳細資訊:
ls -l
列出根目錄(/)下的所有目錄:
ls /
列出當前作業目錄下所有名稱是 “s” 開頭的檔案(不包含檔案夾哦~) :
ls -ltr s*
列出 /root 目錄下的所有目錄及檔案的詳細資訊 :
ls -lR /root
列出當前作業目錄下所有檔案及目錄并以檔案的大小進行排序 :
ls -AS
2?? cp 命令 – 復制檔案或目錄
cp命令可以理解為英文單詞copy的縮寫,其功能為復制檔案或目錄,
cp命令可以將多個檔案復制到一個具體的檔案名或一個已經存在的目錄下,也可以同時復制多個檔案到一個指定的目錄中,
語法:
語法格式:cp [引數] [檔案]
常用引數:

參考實體:
復制目錄:
cp -R dir1 dir2/
將檔案test1改名為test2:
cp -f test1 test2
復制多個檔案:
cp -r file1 file2 file3 dir
互動式地將目錄 /home/lucifer 中的所有.c檔案復制到目錄 dir 中:
cp -r /home/lucifer/*.c dir
3?? mkdir 命令 – 創建目錄
mkdir命令是“make directories”的縮寫,用來創建目錄,
📢 注意: 默認狀態下,如果要創建的目錄已經存在,則提示已存在,而不會繼續創建目錄, 所以在創建目錄時,應保證新建的目錄與它所在目錄下的檔案沒有重名, mkdir命令還可以同時創建多個目錄,是不是很強大呢?
語法:
語法格式 : mkdir [引數] [目錄]
常用引數:

參考實體:
在作業目錄下,建立一個名為 dir 的子目錄:
mkdir dir
在目錄/home/lucifer下建立子目錄dir,并且設定檔案屬主有讀、寫和執行權限,其他人無權訪問:
mkdir -m 700 /home/lucifer/dir
同時創建子目錄dir1,dir2,dir3:
mkdir dir1 dir2 dir3
遞回創建目錄:
mkdir -p lucifer/dir
4?? mv 命令 – 移動或改名檔案
mv命令是“move”單詞的縮寫,其功能大致和英文含義一樣,可以移動檔案或對其改名,
這是一個使用頻率超高的檔案管理命令,我們需要特別留意它與復制的區別:mv與cp的結果不同,mv命令好像檔案“搬家”,檔案名稱發生改變,但個數并未增加,而cp命令是對檔案進行復制操作,檔案個數是有增加的,
語法:
語法格式:mv [引數]
常用引數:

參考實體:
將檔案file_1重命名為file_2:
mv file_1 file_2
將檔案file移動到目錄dir中 :
mv file /dir
將目錄dir1移動目錄dir2中(前提是目錄dir2已存在,若不存在則改名):
mv /dir1 /dir2
將目錄dir1下的檔案移動到當前目錄下:
mv /dir1/* .
5?? pwd 命令 – 顯示
pwd命令是“print working directory”中每個單詞的首字母縮寫,其功能正如所示單詞一樣,為列印作業目錄,即顯示當前作業目錄的絕對路徑,
在實際作業中,我們經常會在不同目錄之間進行切換,為了防止“迷路”,我們可以使用pwd命令快速查看當前我們所在的目錄路徑,
語法:
語法格式: pwd [引數]
常用引數:

參考實體:
查看當前作業目錄路徑:
pwd
🍉 檔案編輯
1?? cat 命令 – 在終端設備上顯示檔案內容
cat這個命令也很好記,因為cat在英語中是“貓”的意思,小貓咪是不是給您一種嬌小、可愛的感覺呢?
📢 注意: 當檔案內容較大時,文本內容會在螢屏上快速閃動(滾屏),用戶往往看不清所顯示的具體內容,
因此對于較長檔案內容可以:
- 按Ctrl+S鍵,停止滾屏;
- 按Ctrl+Q鍵可以恢復滾屏;
- 按Ctrl+C(中斷)鍵則可以終止該命令的執行,
或者對于大檔案,干脆用 more 命令吧!
語法:
語法格式:cat [引數] [檔案]
常用引數:

參考實體:
查看檔案的內容:
cat lucifer.log
查看檔案的內容,并顯示行數編號:
cat -n lucifer.log
查看檔案的內容,并添加行數編號后輸出到另外一個檔案中:
cat -n lucifer.log > lucifer.txt
清空檔案的內容:
cat /dev/null > /root/lucifer.txt
持續寫入檔案內容,碰到EOF符后結束并保存:
cat > lucifer.txt <<EOF
Hello, World
Linux!
EOF
將軟盤設備制作成鏡像檔案:
cat /dev/fb0 > fdisk.iso
2?? echo 命令 – 輸出字串或提取Shell變數的值
echo命令用于在終端設備上輸出字串或變數提取后的值,這是在Linux系統中最常用的幾個命令之一,但操作卻非常簡單,
人們一般使用在變數前加上符號的方式提取出變數的值,例如:符號的方式提取出變數的值,例如:符號的方式提取出變數的值,例如:PATH,然后再用echo命令予以輸出,或者直接使用echo命令輸出一段字串到螢屏上,起到給用戶提示的作用,
語法:
語法格式:echo [引數] [字串]
常用引數:

參考實體:
輸出一段字串:
echo "Hello Lucifer"
輸出變數提取后的值:
echo $PATH
對內容進行轉義,不讓$符號的提取變數值功能生效:
echo \$PATH
結合輸出重定向符,將字串資訊匯入檔案中:
echo "It is a test" > lucifer
使用反引號符執行命令,并輸出其結果到終端:
echo `date`
輸出帶有換行符的內容:
echo -e “a\nb\nc”
輸出資訊中洗掉某個字符,注意看數字3消失了:
echo -e "123\b456"
3?? rm 命令 – 移除檔案或目錄
rm是常用的命令,該命令的功能為洗掉一個目錄中的一個或多個檔案或目錄,它也可以將某個目錄及其下的所有檔案及子目錄均洗掉,對于鏈接檔案,只是洗掉了鏈接,原有檔案均保持不變,
📢 注意: rm也是一個危險的命令,使用的時候要特別當心,尤其對于新手,否則整個系統就會毀在這個命令(比如在/(根目錄)下執行rm * -rf),
所以,我們在執行rm之前最好先確認一下在哪個目錄,到底要洗掉什么東西,操作時保持高度清醒的頭腦,
語法:
語法格式:rm [引數] [檔案]
常用引數:

參考實體:
洗掉前逐一詢問確認:
rm -i test.txt.bz2
直接洗掉,不會有任何提示:
rm -f test.txt.bz2
遞回洗掉目錄及目錄下所有檔案:
mkdir /data/log
rm -rf /data/log
洗掉當前目錄下所有檔案:
rm -rf *
清空系統中所有的檔案(謹慎):
rm -rf /*
4?? tail 命令 – 查看檔案尾部內容
tail用于顯示檔案尾部的內容,默認在螢屏上顯示指定檔案的末尾10行,如果給定的檔案不止一個,則在顯示的每個檔案前面加一個檔案名標題,如果沒有指定檔案或者檔案名為“-”,則讀取標準輸入,
語法:
這里是參考
語法格式:tail [引數]
常用引數:

參考實體:
顯示檔案file的最后10行:
tail file
顯示檔案file的內容,從第20行至檔案末尾:
tail +20 file
顯示檔案file的最后10個字符:
tail -c 10 file
一直變化的檔案總是顯示后10行:
tail -f 10 file
顯示幫助資訊:
tail --help
5?? rmdir 命令 – 洗掉空目錄
rmdir命令作用是洗掉空的目錄,英文全稱:“remove directory”,
注意:rmdir命令只能洗掉空目錄,當要洗掉非空目錄時,就要使用帶有“-R”選項的rm命令,
rmdir命令的“-p”引數可以遞回洗掉指定的多級目錄,但是要求每個目錄也必須是空目錄,
語法:
語法格式 : rmdir [引數] [目錄名稱]
常用引數:

參考實體:
洗掉空目錄:
rmdir dir
遞回洗掉指定的目錄樹:
rmdir -p dir/dir_1/dir_2
顯示指令詳細執行程序:
rmdir -v dir
顯示命令的版本資訊:
rmdir --version
🍋 系統管理
1?? rpm 命令 – RPM軟體包管理器
rpm命令是Red-Hat Package Manager(RPM軟體包管理器)的縮寫, 該命令用于管理Linux 下軟體包的軟體,在 Linux 作業系統下,幾乎所有的軟體均可以通過RPM 進行安裝、卸載及管理等操作,
概括的說,rpm命令包含了五種基本功能:安裝、卸載、升級、查詢和驗證,
語法:
語法格式:rpm [引數] [軟體包]
常用引數:

參考實體:
直接安裝軟體包:
rpm -ivh packge.rpm
忽略報錯,強制安裝:
rpm --force -ivh package.rpm
列出所有安裝過的包:
rpm -qa
查詢rpm包中的檔案安裝的位置:
rpm -ql ls
卸載rpm包:
rpm -e package.rpm
升級軟體包:
rpm -U file.rpm
2?? find 命令 – 查找和搜索檔案
find命令可以根據給定的路徑和運算式查找的檔案或目錄,find引數選項很多,并且支持正則,功能強大,和管道結合使用可以實作復雜的功能,是系統管理者和普通用戶必須掌握的命令,
find如不加任何引數,表示查找當前路徑下的所有檔案和目錄,如果服務器負載比較高盡量不要在高峰期使用find命令,find命令模糊搜索還是比較消耗系統資源的,
語法:
語法格式:find [引數] [路徑] [查找和搜索范圍]
常用引數:

參考實體:
使用-name引數查看/etc目錄下面所有的.conf結尾的組態檔:
find /etc -name "*.conf
使用-size引數查看/etc目錄下面大于1M的檔案:
find /etc -size +1M
查找當前用戶主目錄下的所有檔案:
find $HOME -print
列出當前目錄及子目錄下所有檔案和檔案夾:
find .
在/home目錄下查找以.txt結尾的檔案名:
find /home -name "*.txt"
在/var/log目錄下忽略大小寫查找以.log結尾的檔案名:
find /var/log -iname "*.log"
搜索超過七天內被訪問過的所有檔案:
find . -type f -atime +7
搜索訪問時間超過10分鐘的所有檔案:
find . -type f -amin +10
找出/home下不是以.txt結尾的檔案:
find /home ! -name "*.txt"
3?? startx 命令 – 初始化X-windows
startx命令用來啟動X-Window,它負責呼叫X-Window系統的初始化程式xinit,以完成 X-Window運行所必要的初始化作業,并啟動X-Window系統,
語法:
語法格式:startx [引數]
常用引數:

參考實體:
已默認方式啟動X-windows系統:
startx
以16位顏色深度啟動X-windows系統:
startx --depth 16
強制啟動 X-windows系統:
startx -w
4?? uname 命令 – 顯示系統資訊
uname命令的英文全稱即“Unix name”,
用于顯示系統相關資訊,比如主機名、內核版本號、硬體架構等,
如果未指定任何選項,其效果相當于執行”uname -s”命令,即顯示系統內核的名字,
語法:
語法格式:uname [引數]
常用引數:

參考實體:
顯示系統主機名、內核版本號、CPU型別等資訊:
uname -a
僅顯示系統主機名:
uname -n
顯示當前系統的內核版本 :
uname -r
顯示當前系統的硬體架構:
uname -i
5?? vmstat 命令 – 顯示虛擬記憶體狀態
vmstat命令的含義為顯示虛擬記憶體狀態(“Virtual Memory Statistics”),但是它可以報告關于行程、記憶體、I/O等系統整體運行狀態,
語法:
語法格式:vmstat [引數]
常用引數:

參考實體:
顯示活動內頁:
vmstat -a
顯示啟動后創建的行程總數:
vmstat -f
顯示slab資訊:
vmstat -m
頭資訊僅顯示一次:
vmstat -n
以表格方式顯示事件計數器和記憶體狀態:
vmstat -s
顯示指定的硬碟磁區狀態:
vmstat -p /dev/sda1
指定狀態資訊重繪的時間間隔為1秒:
vmstat 1
🍑 磁盤管理
1?? df 命令 – 顯示磁盤空間使用情況
df命令的英文全稱即“Disk Free”,顧名思義功能是用于顯示系統上可使用的磁盤空間,默認顯示單位為KB,建議使用“df -h”的引陣列合,根據磁盤容量自動變換合適的單位,更利于閱讀,
日常普遍用該命令可以查看磁盤被占用了多少空間、還剩多少空間等資訊,
語法:
語法格式: df [引數] [指定檔案]
常用引數:

參考實體:
顯示磁盤磁區使用情況:
df
以容易閱讀的方式顯示磁盤磁區使用情況:
df -h
顯示指定檔案所在磁區的磁盤使用情況:
df /etc/dhcp
顯示檔案型別為ext4的磁盤使用情況:
df -t ext4
2?? fdisk 命令 – 磁盤磁區
fdisk命令的英文全稱是“Partition table manipulator for Linux”,即作為磁盤的磁區工具,進行硬碟磁區從實質上說就是對硬碟的一種格式化, 用一個形象的比喻,磁區就好比在一張白紙上畫一個大方框,而格式化好比在方框里打上格子,
語法:
語法格式:fdisk [引數]
常用引數:

參考實體:
查看所有磁區情況:
fdisk -l
選擇磁區磁盤:
fdisk /dev/sdb
在當前磁盤上建立擴展磁區:
fdisk /ext
不檢查磁盤表面加快磁區操作:
fdisk /actok
重建主引導記錄:
fdisk /cmbr
復制代碼
3?? lsblk命令 – 查看系統的磁盤
lsblk命令的英文是“list block”,即用于列出所有可用塊設備的資訊,而且還能顯示他們之間的依賴關系,但是它不會列出RAM盤的資訊,
lsblk命令包含在util-linux-ng包中,現在該包改名為util-linux,
語法:
語法格式:lsblk [引數]
常用引數:

參考實體:
lsblk命令默認情況下將以樹狀列出所有塊設備:
lsblk
默認選項不會列出所有空設備:
lsblk -a
也可以用于列出一個特定設備的擁有關系,同時也可以列出組和模式:
lsblk -m
要獲取SCSI設備的串列,你只能使用-S選項,該選項是用來以顛倒的順序列印依賴的:
lsblk -S
例如,你也許想要以串列格式列出設備,而不是默認的樹狀格式,可以將兩個不同的選項組合,以獲得期望的輸出:
lsblk -nl
4?? hdparm命令 – 顯示與設定硬碟引數
hdparm命令用于檢測,顯示與設定IDE或SCSI硬碟的引數,
語法:
語法格式:hdparm [引數]
常用引數:

參考實體:
顯示硬碟的相關設定:
hdparm /dev/sda
顯示硬碟的柱面、磁頭、扇區數:
hdparm -g /dev/sda
評估硬碟的讀取效率:
hdparm -t /dev/sda
直接讀取硬碟所提供的硬體規格資訊:
hdparm -X /dev/sda
使IDE硬碟進入睡眠模式:
hdparm -Y /dev/sda
5?? vgextend命令 – 擴展卷組
vgextend命令用于動態擴展LVM卷組,它通過向卷組中添加物理卷來增加卷組的容量,LVM卷組中的物理卷可以在使用vgcreate命令創建卷組時添加,也可以使用vgextend命令動態的添加,
語法:
語法格式:vgextend [引數]
常用引數:

參考實體:
將物理卷/dev/sdb1加入卷組vglinuxprobe:
vgextend vglinuxprobe /dev/sdb1
🍓 檔案傳輸
1?? tftp 命令 – 上傳及下載檔案
tftp命令用于傳輸檔案,ftp讓用戶得以下載存放于遠端主機的檔案,也能將檔案上傳到遠端主機放置,
tftp是簡單的文字模式ftp程式,它所使用的指令和ftp類似,
語法:
語法格式:tftp [引數]
常用引數:

參考實體:
連接遠程服務器”10.211.55.100″:
tftp 10.211.55.100
遠程下載file檔案:
tftp> get file
退出tftp:
tftp> quit
2?? curl 命令 – 檔案傳輸工具
curl命令是一個利用URL規則在shell終端命令列下作業的檔案傳輸工具;它支持檔案的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱curl為下載工具,
作為一款強力工具,curl支持包括HTTP、HTTPS、ftp等眾多協議,還支持POST、cookies、認證、從指定偏移處下載部分檔案、用戶代理字串、限速、檔案大小、進度條等特征;做網頁處理流程和資料檢索自動化,
語法:
語法格式:curl [引數] [網址]
常用引數:

參考實體:
將下載的資料寫入到檔案,必須使用檔案的絕對地址:
curl https://www.baidu.com /root/lucifer.txt --silent -O
訪問需要授權的頁面時,可通過-u選項提供用戶名和密碼進行授權:
curl -u root https://www.baidu.com/
3?? fsck命令 – 檢查并修復Linux檔案系統
fsck命令的英文全稱是“filesystem check”,即檢查檔案系統的意思,常用于檢查并修復Linux檔案系統的一些錯誤資訊,操作檔案系統需要先備份重要資料,以防丟失,
Linux fsck命令用于檢查并修復Linux檔案系統,可以同時檢查一個或多個 Linux 檔案系統;若系統掉電或磁盤發生問題,可利用fsck命令對檔案系統進行檢查,
語法:
語法格式:fsck [引數] [檔案系統]
常用引數:

參考實體:
修復壞的磁區檔案系統:
fsck -t ext3 -r /usr/local
顯示fsck系統安裝的版本號:
fsck --version
4?? ftpwho命令 – 顯示ftp會話資訊
ftpwho命令用于顯示當前所有以FTP登入的用戶會話資訊,
執行該命令可得知當前用FTP登入系統的用戶有哪些人,以及他們正在進行的操作,
語法:
語法格式:ftpwho [引數]
常用引數:

參考實體:
查詢當前正在登錄FTP 服務器的用戶:
ftpwho
在詳細模式下,查詢當前正在登錄FTP 服務器的用戶:
ftpwho -v
顯示幫助資訊:
ftpwho -h
5?? lprm命令 – 洗掉列印佇列中的列印任務
lprm命令的英文全稱是“Remove?jobs?from?the?print?queue”,意為用于洗掉列印佇列中的列印任務,尚未完成的列印機作業會被放在列印機貯列之中,這個命令可用來將未送到列印機的作業取消,
語法:
語法格式:lprm [引數] [任務編號]
常用引數:

參考實體:
將列印機hpprint中的第102號任務移除:
lprm -Phpprint 102
將第101號任務由預設列印機中移除:
lprm 101
🌽 網路通訊
1?? ssh 命令 – 安全連接客戶端
ssh命令是openssh套件中的客戶端連接工具,可以給予ssh加密協議實作安全的遠程登錄服務器,實作對服務器的遠程管理,
語法:
語法格式: ssh [引數] [遠程主機]
常用引數:

參考實體:
登錄遠程服務器:
ssh 10.211.55.100
用test用戶連接遠程服務器:
ssh -l test 10.211.55.100
查看磁區串列:
ssh 10.211.55.100 /sbin/fdisk -l
強制使用ssh協議版本1:
ssh -1
開啟認證代理連接轉發功能:
ssh -A
2?? netstat 命令 – 顯示網路狀態
netstat 命令用于顯示各種網路相關資訊,如網路連接,路由表,介面狀態 (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等,
從整體上看,netstat的輸出結果可以分為兩個部分:一個是Active Internet connections,稱為有源TCP連接,其中”Recv-Q”和”Send-Q”指%0A的是接收佇列和發送佇列,這些數字一般都應該是0,如果不是則表示軟體包正在佇列中堆積,這種情況只能在非常少的情況見到;另一個是Active UNIX domain sockets,稱為有源Unix域套介面(和網路套接字一樣,但是只能用于本機通信,性能可以提高一倍),
語法:
語法格式:netstat [引數]
常用引數:

參考實體:
顯示詳細的網路狀況:
netstat -a
顯示當前戶籍UDP連接狀況:
netstat -nu
顯示UDP埠號的使用情況:
netstat -apu
顯示網卡串列:
netstat -i
顯示組播組的關系:
netstat -g
3?? ping 命令 – 測驗主機間網路連通性
ping命令主要用來測驗主機之間網路的連通性,也可以用于,執行ping指令會使用ICMP傳輸協議,發出要求回應的資訊,若遠端主機的網路功能沒有問題,就會回應該資訊,因而得知該主機運作正常,
不過值得我們注意的是:Linux系統下的ping命令與Windows系統下的ping命令稍有不同,Windows下運行ping命令一般會發出4個請求就結束運行該命令;而Linux下不會自動終止,此時需要我們按CTR+C終止或者使用-c引數為ping命令指定發送的請求數目,
語法:
語法格式:ping [引數] [目標主機]
常用引數:

參考實體:
檢測與百度網站的連通性:
ping www.baidu.com
連續ping4次:
ping -c 4 www.baidu.com
設定次數為4,時間間隔為3秒:
ping -c 4 -i 3 www.baidu.com
利用ping命令獲取指定網站的IP地址:
ping -c 1 baidu.com | grep from | cut -d " " -f 4
4?? dhclient 命令 – 動態獲取或釋放IP地址
dhclient命令的作用是:使用動態主機配置協議動態的配置網路介面的網路引數,也支持BOOTP協議,
語法:
語法格式:dhclient [引數] [網路介面]
常用引數:

參考實體:
在指定網路介面上發出DHCP請求:
dhclient eth0
釋放IP地址:
dhclient -r
從指定的服務器獲取ip地址:
dhclient -s 10.211.55.100
停止運行dhclient:
dhclient -x
5?? ifconfig 命令 – 顯示或設定網路設備
ifconfig命令的英文全稱是“network interfaces configuring”,即用于配置和顯示Linux內核中網路介面的網路引數,用ifconfig命令配置的網卡資訊,在網卡重啟后機器重啟后,配置就不存在,要想將上述的配置資訊永遠的存的電腦里,那就要修改網卡的組態檔了,
語法:
語法格式:ifconfig [引數]
常用引數:

參考實體:
顯示網路設備資訊:
ifconfig
啟動關閉指定網卡:
ifconfig eth0 down
ifconfig eth0 up
為網卡配置和洗掉IPv6地址:
ifconfig eth0 add 33ffe:3240:800:1005::2/64
ifconfig eth0 del 33ffe:3240:800:1005::2/64
用ifconfig修改MAC地址:
ifconfig eth0 down
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
ifconfig eth0 up
ifconfig eth1 hw ether 00:1D:1C:1D:1E
ifconfig eth1 up
配置IP地址:
ifconfig eth0 192.168.1.56
ifconfig eth0 192.168.1.56 netmask 255.255.255.0
ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
🍒 設備管理
1?? mount 命令 – 檔案系統掛載
mount命令用于加載檔案系統到指定的加載點,此命令的最常用于掛載cdrom,使我們可以訪問cdrom中的資料,因為你將光碟插入cdrom中,Linux并不會自動掛載,必須使用Linux mount命令來手動完成掛載,
語法:
語法格式:mount [引數]
常用引數:

參考實體:
查看版本:
mount -V
啟動所有掛載:
mount -a
掛載 /dev/cdrom 到 /mnt:
mount /dev/cdrom /mnt
掛載nfs格式檔案系統:
mount -t nfs /123 /mnt
掛載第一塊盤的第一個磁區到/etc目錄 :
mount -t ext4 -o loop,default /dev/sda1 /etc
2?? MAKEDEV命令 – 建立設備
MAKEDEV是一個腳本程式, 用于在 /dev 目錄下建立設備, 通過這些設備檔案可以 訪問位于內核的驅動程式,
MAKEDEV 腳本創建靜態的設備節點,通常位于/dev目錄下,
語法:
語法格式:MAKEDEV [引數]
常用引數:

參考實體:
顯示出執行的每一個動作:
./MAKEDEV -v update
洗掉設備:
./MAKEDEV -d device
3?? lspci命令 – 顯示當前設備所有PCI總線資訊
lspci命令用于顯示當前主機的所有PCI總線資訊,以及所有已連接的PCI設備資訊, 現在主流設備如網卡儲存等都采用PCI總線
語法:
語法格式:lspci [引數]
常用引數:

參考實體:
顯示當前主機的所有PCI總線資訊:
lspci
以樹狀結構顯示PCI設備的層次關系:
lspci -t
4?? setleds命令 – 設定鍵盤上方三個 LED 的狀態
setleds即是英文詞組“set leds”的合并,翻譯為中文就是設定LED燈,setleds命令用來設定鍵盤上方三個 LED 燈的狀態,在 Linux 中,每一個虛擬主控臺都有獨立的設定,
這是一個十分神奇的命令,竟然可以通過命令來控制鍵盤的燈的狀態,那么下面我一起來學習一下這個命令吧,
語法:
語法格式:setleds [引數]
常用引數:

參考實體:
控制鍵盤燈num燈亮和燈滅:
setleds +num
setleds -num
控制鍵盤的大小寫鍵打開或關閉,鍵盤指示燈亮與滅:
setleds +caps
setleds -caps
控制鍵盤的選項鍵打開或關閉,鍵盤指示燈亮與滅:
setleds +scroll
對三燈的亮與滅的情況進行組合,分別設定為數字燈亮,大小寫燈滅,選項鍵scroll燈滅:
setleds +num -caps -scroll
5?? sensors命令 – 檢測服務器內部溫度及電壓
sensors命令用于檢測服務器內部降溫系統是否健康,可以監控主板,CPU的作業電壓,風扇轉速、溫度等資料 ,
語法:
語法格式:sensors
參考實體:
檢測cpu作業電壓,溫度等:
sensors
🍍 備份壓縮
1?? zip 命令 – 壓縮檔案
zip程式將一個或多個壓縮檔案與有關檔案的資訊(名稱、路徑、日期、上次修改的時間、保護和檢查資訊以驗證檔案完整性)一起放入一個壓縮存檔中,可以使用一個命令將整個目錄結構打包到zip存檔中,
對于文本檔案來說,壓縮比為2:1和3:1是常見的,zip只有一種壓縮方法(通縮),并且可以在不壓縮的情況下存盤檔案,(如果添加了bzip 2支持,zip也可以使用bzip 2壓縮,但這些條目需要一個合理的現代解壓縮來解壓縮,當選擇bzip 2壓縮時,它將通貨緊縮替換為默認方法,)zip會自動為每個要壓縮的檔案選擇更好的兩個檔案(通碩訓存盤,如果選擇bzip2,則選擇bzip2或Store),
語法:
語法格式:zip [引數] [檔案]
常用引數:

參考實體:
將 /home/html/ 這個目錄下所有檔案和檔案夾打包為當前目錄下的 html.zip:
zip -q -r html.zip /home/html
壓縮檔案 cp.zip 中洗掉檔案 a.c:
zip -dv cp.zip a.c
把/home目錄下面的mydata目錄壓縮為mydata.zip:
zip -r mydata.zip mydata
把/home目錄下面的abc檔案夾和123.txt壓縮成為abc123.zip:
zip -r abc123.zip abc 123.txt
將 logs目錄打包成 log.zip:
zip -r log.zip ./logs
2?? zipinfo命令 – 查看壓縮檔案資訊
zipinfo命令的全稱為“zip information”,該命令用于列出壓縮檔案資訊,執行zipinfo指令可得知zip壓縮檔案的詳細資訊,
語法:
語法格式:zipinfo [引數]
常用引數:

參考實體:
顯示壓縮檔案資訊:
zipinfo file.zip
顯示壓縮檔案中每個檔案的資訊:
zipinfo -v file.zip
只顯示壓縮包大小、檔案數目:
zipinfo -h file.zip
生成一個基本的、長格式的串列(而不是冗長的),包括標題和總計行:
zipinfo -l file
查看存檔中最近修改的檔案:
zipinfo -T file | sort –nr -k 7 | sed 15q
3?? unzip命令 – 解壓縮zip檔案
unzip命令是用于.zip格式檔案的解壓縮工具 ,unzip命令將列出、測驗或從zip格式存檔中提取檔案,這些檔案通常位于MS-DOS系統上,
默認行為(就是沒有選項)是從指定的ZIP存檔中提取所有的檔案到當前目錄(及其下面的子目錄),一個配套程式zip(1L)創建ZIP存檔;這兩個程式都與PKWARE的PKZIP和PKUNZIP為MS-DOS創建的存檔檔案兼容,但許多情況下,程式選項或默認行為是不同的,
語法:
語法格式:unzip [引數] [檔案]
常用引數:

參考實體:
把/home目錄下面的mydata.zip解壓到mydatabak目錄里面:
unzip mydata.zip -d mydatabak
把/home目錄下面的wwwroot.zip直接解壓到/home目錄里面:
unzip wwwroot.zip
把/home目錄下面的abc12.zip、abc23.zip、abc34.zip同時解壓到/home目錄里面:
unzip abc\*.zip
查看把/home目錄下面的wwwroot.zip里面的內容:
unzip -v wwwroot.zip
驗證/home目錄下面的wwwroot.zip是否完整:
unzip -t wwwroot.zip
4?? gzip命令 – 壓縮和解壓檔案
gzip命令的英文是“GNUzip”,是常用來壓縮檔案的工具,gzip是個使用廣泛的壓縮程式,檔案經它壓縮過后,其名稱后面會多處“.gz”擴展名,
gzip是在Linux系統中經常使用的一個對檔案進行壓縮和解壓縮的命令,既方便又好用,gzip不僅可以用來壓縮大的、較少使用的檔案以節省磁盤空間,還可以和tar命令一起構成Linux作業系統中比較流行的壓縮檔案格式,據統計,gzip命令對文本檔案有60%~70%的壓縮率,減少檔案大小有兩個明顯的好處,一是可以減少存盤空間,二是通過網路傳輸檔案時,可以減少傳輸的時間,
語法:
語法格式:gzip [引數]
常用引數:

參考實體:
把rancher-v2.2.0目錄下的每個檔案壓縮成.gz檔案:
gzip *
把上例中每個壓縮的檔案解壓,并列出詳細的資訊:
gzip -dv *
遞回地解壓目錄:
gzip -dr rancher.gz
5?? unarj命令 – 解壓.arj檔案
unarj命令用于解壓縮.arj檔案,
語法:
語法格式:unarj [引數] [.arj壓縮檔案]
常用引數:

參考實體:
解壓縮.arj檔案:
unarj -e test.arj
顯示壓縮檔案內所包含的檔案:
unarj -l test.arj
檢查壓縮檔案是否正確:
unarj -t test.arj
解壓縮時保留原有的路徑:
unarj -x test.arj
把檔案解壓到當前路徑:
unarj -ex test.arj
🍌 其他命令
1?? hash 命令 – 顯示與清除命令運行時查詢的哈希表
hash命令負責顯示與清除命令運行時系統優先查詢的哈希表(hash table),
當執行hash命令不指定引數或標志時,hash命令向標準輸出報告路徑名串列的內容,此報告含有先前hash命令呼叫找到的當前shell環境中命令的路徑名,而且還包含通過正常命令搜索行程呼叫并找到的那些命令,
語法:
語法格式: hash [引數] [目錄]
常用引數:

參考實體:
顯示哈希表中的命令:
hash -l
洗掉哈希表中的命令:
hash -r
向哈希表中添加命令:
hash -p /usr/sbin/adduser myadduser
在哈希表中清除記錄:
hash -d
顯示哈希表中命令的完整路徑:
hash -t
2?? grep 命令 – 強大的文本搜索工具
grep是“global search regular expression and print out the line”的簡稱,意思是全面搜索正則運算式,并將其列印出來,這個命令可以結合正則運算式使用,它也是linux使用最為廣泛的命令,
grep命令的選項用于對搜索程序的補充,而其命令的模式十分靈活,可以是變數、字串、正則運算式,需要注意的是:一當模式中包含了空格,務必要用雙引號將其引起來,
linux系統支持三種形式的grep命令,大兒子就是grep,標準,模仿的代表,二兒子興趣愛好多-egrep,簡稱擴展grep命令,其實和grep -E等價,支持基本和擴展的正則運算式,小兒子跑的最快-fgrep,簡稱快速grep命令,其實和grep -F等價,不支持正則運算式,按照字串表面意思進行匹配,
語法:
語法格式: grep [引數]
常用引數:

參考實體:
支持多檔案查詢并支持使用通配符:
grep zwx file_* /etc/hosts
輸出匹配字串行的數量:
grep -c zwx file_*
列出所有的匹配行,并顯示行號:
grep -n zwx file_*
顯示不包含模式的所有行:
grep -vc zwx file_*
不再顯示檔案名:
grep -h zwx file_*
只列出符合匹配的檔案名,不列出具體匹配的行:
grep -l zwx file_*
不顯示不存在或無匹配的文本資訊:
grep -s zwx file1 file_1
grep zwx file1 file_1
遞回搜索,不僅搜索當前目錄,還搜索子目錄:
grep -r zwx file_2 *
匹配整詞,以字面意思去解釋他,相當于精確匹配:
grep zw* file_1
grep -w zw* file_1
匹配整行,檔案中的整行與模式匹配時,才列印出來:
grep -x zwx file_*
不輸出任何結果,已退出狀態表示結果:
grep -q zwx file_1
echo $?
grep -q zwx file_5
echo $?
grep -q zwx file5
echo $?
查找一個檔案中的空行和非空行:
grep -c ^$ file_1
grep -c ^[^$] file_1
匹配任意或重復字符用“.”或“*”符號來實作:
grep ^z.x file_1
grep ^z* file_6
3?? wait命令 – 等待指令
wait命令用來等待指令的指令,直到其執行完畢后回傳終端,該指令常用于shell腳本編程中,待指定的指令執行完成后,才會繼續執行后面的任務,該指令等待作業時,在作業標識號前必須添加備份號”%”,
語法:
語法格式:wait [引數]
常用引數:

參考實體:
等待作業號為1的作業完成后再回傳:
wait %1
find / -name password
4?? bc命令 – 浮點運算
bc的英文全拼為“ Binary Calculator ”,是一種支持任意精度的互動執行的計算器語言,bash內置了對整數四則運算的支持,但是并不支持浮點運算,而bc命令可以很方便的進行浮點運算,當然整數運算也不再話下,
語法:
語法格式:bc [選項]
常用引數:

參考實體:
算術操作高級運算bc命令它可以執行浮點運算和一些高級函式:
echo "1.212*3" | bc
設定小數精度(數值范圍):
echo "scale=2;3/8" | bc
計算平方和平方根:
echo "10^10" | bc
echo "sqrt(100)" | bc
5?? history命令 – 顯示與操縱歷史命令
history命令用于顯示用戶以前執行過的歷史命令,并且能對歷史命令進行追加和洗掉等操作,
如果你經常使用Linux命令,那么使用history命令可以有效地提升你的效率,
語法:
語法格式: history [引數] [目錄]
常用引數:

參考實體:
顯示最近的10條命令:
history 10
將本次登錄的命令寫入歷史檔案中:
history -w
將命令歷史檔案中的內容讀入到目前shell的history記憶中 :
history -r
將當前Shell會話的歷史命令追加到命令歷史檔案中:
history -a
清空當前歷史命令串列:
history -c
本次分享到此結束啦~

最后: 推薦一個公眾號:傷心的辣條 ! 進去有許多資料共享!資料都是面試時面試官必問的知識點,也包括了很多測驗行業常見知識,其中包括了有基礎知識、Linux必備、Shell、互聯網程式原理、Mysql資料庫、抓包工具專題、介面測驗工具、測驗進階-Python編程、Web自動化測驗、APP自動化測驗、介面自動化測驗、測驗高級持續集成、測驗架構開發測驗框架、性能測驗、安全測驗等,
如果我的博客對你有幫助、如果你喜歡我的博客內容,請 “點贊” “評論” “收藏” 一鍵三連哦!喜歡交流學習的軟體測驗人,可以加入我們的技術交流扣扣群:914172719(里面還有超多學習資料免費分享喲)…
好文推薦
轉行面試,跳槽面試,軟體測驗人員都必須知道的這幾種面試技巧!
面試經:一線城市搬磚!又面軟體測驗崗,5000就知足了…
面試官:作業三年,還來面初級測驗?恐怕你的軟體測驗工程師的頭銜要加雙引號…
什么樣的人適合從事軟體測驗作業?
那個準點下班的人,比我先升職了…
測驗崗反復跳槽,跳著跳著就跳沒了…
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302326.html
標籤:其他
