最常用的16條Linux命令
公眾號(hào):尤而小屋
作者:Peter
編輯:Peter
今天帶來(lái)的一篇文章是關(guān)于Linux命令。
工作之后第一次接觸到了Linux系統(tǒng),起初是Centos系統(tǒng),后來(lái)慢慢地變成了Ubuntu。最后因?yàn)閾Q電腦的緣故,又用上了MacOS,所以基本上每天都在和各種命令打交道。
MacOS和Linux都是基于Unix系統(tǒng),二者在命令上基本都是通用的,今天Peter給大家介紹一下自己平時(shí)常用的16條Linux命令。

命令1:pwd
pwd顯示當(dāng)前的工作路徑,查看位置所在。
Peter提醒你:時(shí)刻都要搞清楚自己的位置!
命令2:ls
ls命令十分常用,ls指的是list,查看文件或者目錄的命令。添加參數(shù)后常用為:
ls :查看目錄中全部的文件 ls -l :顯示文件和目錄中的全部信息 ls -a :列出全部文件,包含隱藏文件,其中a表示為all ls ?-R :連同子目錄中的文件全部列出,相當(dāng)于是遞歸列出全部?jī)?nèi)容,也就是說(shuō)該目錄下的所有文件的都會(huì)被顯示出來(lái) ls [0-9]:顯示包含數(shù)字的文件名和目錄名
命令3:cp
cp就是copy復(fù)制的意思,用于復(fù)制文件,該命令還可以將多個(gè)文件一次性復(fù)制到同一個(gè)目錄下
cp -a:將文件的特性一起進(jìn)行復(fù)制 cp -p:連同文件的屬性一起進(jìn)行復(fù)制,和上面的-a參數(shù)相似,常用作備份 cp -i :如果目標(biāo)文件存在,則在覆蓋之前先進(jìn)行詢問(wèn) cp -r:遞歸持續(xù)的復(fù)制 cp -u:目標(biāo)文件和源文件存在差異的時(shí)候才會(huì)進(jìn)行復(fù)制
命令4:mv
mv就是move移動(dòng)的含義,用于移動(dòng)文件、目錄或者更改文件名
mv -f:f是指force,覆蓋之前不會(huì)進(jìn)行詢問(wèn) mv -i:覆蓋之前進(jìn)行詢問(wèn) mv -u:目標(biāo)文件比源文件新的時(shí)候,才會(huì)進(jìn)行更新
mv?oldFileName?newFileName??--?重命名
mv?hello.txt?/home/peter??--?移動(dòng)位置
mv?/dir1?/dir2??--?將目錄dir1移動(dòng)到目錄dir2中,前提是dir2已經(jīng)存在,若不存在則改名
mv?/dir1/*?.???--?將dir1下面的全部文件(*代表全部)移動(dòng)到當(dāng)前目錄下
命令5:rm
rm就是指remove的含義,用于刪除文件或者目錄
rm -f:強(qiáng)制刪除內(nèi)容,不會(huì)出現(xiàn)任何警告內(nèi)容 rm -i:互動(dòng)模式,在刪除之前進(jìn)行詢問(wèn)是否刪除 rm -r:遞歸刪除,最常用于刪除某個(gè)目錄下的全部?jī)?nèi)容
??:這個(gè)命令要謹(jǐn)慎操作?。?!
??:這個(gè)命令要謹(jǐn)慎操作?。?!
??:這個(gè)命令要謹(jǐn)慎操作?。。?/p>
命令6:cd
cd命令指的是change directory,切換路徑的意思。它的參數(shù)是我們想要切換的目錄的路徑,可以是相對(duì)路徑,也可以是絕對(duì)路徑。
自己常用的幾個(gè)切換路徑的命令:
cd /home/user:切換到"/home/user"目錄下 cd:切換到個(gè)人主目錄 cd ..:返回上一級(jí)目錄 cd ../..:返回上兩級(jí)目錄 cd -:返回上次所在的目錄 cd ~:退回到用戶的家目錄
需要注意的是,根目錄的父目錄是自身
| 特殊符號(hào) | 作 用 |
|---|---|
| ~ | 代表當(dāng)前登錄用戶的主目錄 |
| ~用戶名 | 表示切換至指定用戶的主目錄 |
| - | 代表上次所在目錄 |
| . | 代表當(dāng)前目錄 |
| .. | 代表上級(jí)目錄 |
命令7:mkdir
mkdir指的是make directory的意思,也就是創(chuàng)建目錄。如果目錄存在,則會(huì)報(bào)錯(cuò)。
mkdir?test??#?創(chuàng)建空白的test目錄
mkdir?-p?test/a/b/c/d??#?使用-p參數(shù)來(lái)遞歸地創(chuàng)建多個(gè)層級(jí)目錄
命令8:touch
touch命令是用來(lái)創(chuàng)建空白文件或者設(shè)置文件的時(shí)間。
創(chuàng)建文件很簡(jiǎn)單:
touch?test.py??#?創(chuàng)建test.py的文件
設(shè)置文件的時(shí)間主要是體現(xiàn)在:
設(shè)置文件內(nèi)容的修改時(shí)間:mtime 文件權(quán)限或者屬性的更改時(shí)間:ctime 文件的讀取時(shí)間:atime
對(duì)應(yīng)的參數(shù)為:
| 參數(shù) | 作用 |
|---|---|
| -a | 僅修改“讀取時(shí)間”atime |
| -m | 僅修改“修改時(shí)間”mtime |
| -d | 同時(shí)修改二者 |
命令9:cat
cat命令主要是用來(lái)查看文件的內(nèi)容,后面跟上我們的文件名即可。通??梢杂霉艿婪兔頼ore或者less進(jìn)行連用。常用的參數(shù)選項(xiàng):
cat filename:查看文件的全部?jī)?nèi)容 cat -n ?filename :將文件的行數(shù)全部顯示出來(lái),包含空行 cat -b filename:和-n類似,只是不顯示空行 cat -s filename:當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行 cat -E:在每行的結(jié)尾顯示 $
命令10:more
more命令的功能和cat命令是類似的,只不過(guò)是常用來(lái)顯示一個(gè)長(zhǎng)文件,它是以全屏的方式按照分頁(yè)的方式顯示內(nèi)容。cat命令是整個(gè)文件的內(nèi)容顯示在屏幕上,more命令是以分頁(yè)的方式來(lái)顯示的。常用的操作:空白鍵space跳到下一頁(yè),b鍵則返回上一頁(yè)。
常用的參數(shù)為:
+n :從第n開(kāi)始顯示文件內(nèi)容 -n :屏幕只顯示n行數(shù) -s:將連續(xù)的空行顯示為一行 -u:將文件內(nèi)容中的下劃線去掉 -c:不進(jìn)行滾屏操作。每次刷新這個(gè)屏幕 -l:忽略 Ctrl+l換頁(yè)字符+/pattern:在每個(gè)文檔顯示前搜尋該字串(pattern),然后從該字串之后開(kāi)始顯示
配合該命令的常用操作:
Enter n:向下翻動(dòng)n行,默認(rèn)是1行,可自定義 Ctrl+F:向下滾動(dòng)一屏 空格鍵:向下滾動(dòng)一屏 Ctrl+B:返回上一屏 V:調(diào)用vim編輯器 q:推出more命令
more?+3?test.py?????#?從第3行開(kāi)始顯示
more?-20?test.py????#?屏幕只顯示20行
more?+/hello?test.py???#?查詢文件中第1次出現(xiàn)hello的位置
more?-c?-5?file??#?每5行顯示一次,而且在顯示之前先清屏
如果某個(gè)目錄下文件過(guò)多,我們可以使用more命令來(lái)進(jìn)行分頁(yè)顯示:
ls?-l?|?more?-5???#?輸出當(dāng)前目錄下的全部文件,并且每頁(yè)顯示5個(gè)文件信息
還有其他的顯示文件行數(shù)的命令:less、head、tail、tac
tac?file??#?從最后一行開(kāi)始顯示行號(hào)
head?-n?4?file??#?查看文件的前4行
tail?-n?8?file??#?查看文件的最后8行
tail?-n?+500?file??#?從第500行開(kāi)始顯示,即只顯示500行以后的
cat?file?|?head?-n?200?|?tail?-n?+100??#?顯示100-300行的
cat?file?|?tail?-n?+200?|?head?-n?100??#?從第200行開(kāi)始,顯示100行(即200-299行)
命令11:ps
ps命令是用來(lái)查看系統(tǒng)中的進(jìn)程所在的狀態(tài)
ps -a:查看所有的進(jìn)程(包含其他用戶的進(jìn)程) ps -u:查看用戶及其他信息 ps -x:顯示沒(méi)有控制終端的進(jìn)程
Linux系統(tǒng)中進(jìn)程的5種常見(jiàn)狀態(tài)(來(lái)自書籍:《Linux就該這么學(xué)》)
R:運(yùn)行,進(jìn)程正在運(yùn)行或者在隊(duì)列中等待 S:中斷,進(jìn)程處于休眠狀態(tài)中。當(dāng)接受到某個(gè)條件后,即可脫離該狀態(tài) D:不可中斷,在這種狀態(tài)下即使kill命令也無(wú)法將其中斷 Z:僵死,進(jìn)程已經(jīng)終止,但是進(jìn)程描述符依然存在。若父進(jìn)程調(diào)用wait()系統(tǒng)函數(shù)后將進(jìn)程釋放 T:停止,進(jìn)行收到停止信號(hào)后停止運(yùn)行
命令12:top
top命令是用來(lái)動(dòng)態(tài)地監(jiān)控進(jìn)程活動(dòng)或者系統(tǒng)負(fù)載等信息的,它的功能可以看做是Windows系統(tǒng)中的“Windows任務(wù)管理器”。
查詢進(jìn)程的端口號(hào):
netstat?-tunlp?|?grep?端口號(hào)???
命令13:pidof
該命令是用來(lái)查詢某個(gè)指定的服務(wù)進(jìn)程的pid值
pidof?sshd??#?查看sshd服務(wù)的進(jìn)程pid值
命令14:kill、killall
kill用于終止某個(gè)指定pid號(hào)的服務(wù)進(jìn)程
kill?2165??#?殺死pid為2165的服務(wù)
killall用來(lái)終止某個(gè)指定名稱的服務(wù)所對(duì)應(yīng)的全部進(jìn)程,參數(shù)為進(jìn)程名稱
pidof?httpd??#??查詢httpd服務(wù)的全部進(jìn)程
killall?httpd???#?終止http服務(wù)的全部進(jìn)程
命令15:ifconfig
ifconfig命令主要是用來(lái)獲取網(wǎng)卡配置和系統(tǒng)的網(wǎng)絡(luò)狀態(tài)等信息,主要信息為:
網(wǎng)卡名稱 inet參數(shù)后面的IP地址 MAC地址 RX、TX的接收和發(fā)送數(shù)據(jù)等信息
命令16:history
history命令主要是用來(lái)查看我們敲過(guò)的歷史命令。
history??#?查看全部歷史命令
history?10??#?查看最近的10條命令
history可以與grep、tail配合使用進(jìn)行條件過(guò)濾來(lái)查找我們需要的命令:
history?|?grep?dnf??#?和dnf相關(guān)的命令
history?|?tail?-n?3???#?末尾3條命令
清除歷史命令:
history??-d?100??#?清除第100條
history?-c??#?全部清除掉
完

