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

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

