linux 命令是在命令行(CLI)上運(yùn)行的程序。命令行是接受文本行并將其處理成計(jì)算機(jī)指令的界面。任何圖形用戶界面 (GUI) 都是命令行程序的抽象。通過 GUI 進(jìn)行多步驟處理的任務(wù)有時(shí)候可以通過在命令行中鍵入命令在幾秒鐘內(nèi)完成。學(xué)習(xí)基本的命令行有助于提升工作效率。今天就來(lái)分享 32 個(gè)常用的 Linux 命令。
由于 mac 的系統(tǒng)是基于unix的,所以 Mac 終端的一些命令與linux通用的。本文介紹的命令是可以在 Mac 中使用的。
一、文件管理
1. cat
cat 命令用于連接文件并打印到標(biāo)準(zhǔn)輸出設(shè)備上。
cat index.html
使用 cat > filename c可以創(chuàng)建一個(gè)新文件:
cat > style.css
使用 cat filename1 filename2 >> filename3 可以連接兩個(gè)文件(1 和 2)并將它們的輸出內(nèi)容存儲(chǔ)在一個(gè)新文件3中。
cat filename1 filename2 >> filename3
2. rmdir
rmdir 命令用于刪除空的目錄。

3. rm
rm 命令用于刪除一個(gè)文件或者目錄。
我們還可以使用 rm -rf 命令來(lái)快速刪除文件夾/目錄及其內(nèi)容。
注意:使用此命令需要非常小心,并仔細(xì)檢查所在的目錄。這個(gè)操作將刪除所有內(nèi)容并且無(wú)法撤消。
4. touch
touch 命令用于修改文件或者目錄的時(shí)間屬性,包括存取時(shí)間和更改時(shí)間。若文件不存在,系統(tǒng)會(huì)建立一個(gè)新的文件。
如果不添加任何參數(shù),就會(huì)將文件的修改時(shí)間改為當(dāng)前的系統(tǒng)時(shí)間。
5. cp
cp 命令主要用于復(fù)制文件或目錄。使用該指令復(fù)制目錄時(shí),必須使用參數(shù) -r 或者 -R 。
這里復(fù)制了test目錄,并重命名為了test1,test1目錄中也包含test目錄中所有的內(nèi)容。
6. mv
mv 命令用來(lái)為文件或目錄改名(如果目錄名稱不存在)、或?qū)⑽募蚰夸浺迫肫渌恢谩?/p>
這里將 test1 文件移動(dòng)到了 test 文件中。
7. locate
locate命令用于查找符合條件的文檔,他會(huì)去保存文檔和目錄名稱的數(shù)據(jù)庫(kù)內(nèi),查找合乎范本樣式條件的文檔或目錄。一般情況下,只需要輸入 locate file_name 即可查找指定文件。
二、磁盤管理
1. cd
cd 命令用于切換當(dāng)前工作目錄,需要與文件/目錄名稱一起使用:
這里的目錄/文件名稱可以是一個(gè)絕對(duì)路徑或者相對(duì)路徑。若目錄名稱省略,則變換至使用者的 home 目錄 (也就是剛 login 時(shí)所在的目錄)。另外,~ 表示為 home 目錄, . 表示目前所在的目錄, .. 表示目前目錄位置的上一層目錄。

2. mkdir
mkdir 命令用來(lái)在當(dāng)前位置(當(dāng)前目錄)新建一個(gè)文件夾。只需使用該命令加上需要新建文件夾的名稱即可:
mkdir test
下面是創(chuàng)建的結(jié)果,使用ls命令就可以看到剛創(chuàng)建的名為test的文件夾:
我們還可以同時(shí)創(chuàng)建多個(gè)文件夾,只需在多個(gè)文件夾之間添加空格即可。如果一個(gè)文件夾名稱中包含空格,就需要使用雙引號(hào)來(lái)寫這個(gè)文件夾名字:
3. pwd
pwd 命令用來(lái)查看當(dāng)前文件(文件夾)在文件系統(tǒng)中的絕對(duì)路徑。
pwd
/Users/mac/Desktop/函數(shù)式編程
4. ls
ls 命令用來(lái)展示指定工作目錄下之內(nèi)容,會(huì)列出目前工作目錄所含之文件及子目錄。
# ls
FZLanTYJ_Bold.OTF FZLanTYJ_Heavy.OTF FZLanTYJ_Medium.OTF
FZLanTYJ_DemiBold.OTF FZLanTYJ_Light.OTF FZLanTYJ_Regular.ttf
我們還可以給ls命令添加參數(shù),例如:
-
ls -l -
ls -a
ls -l
命令會(huì)以長(zhǎng)列表的形式來(lái)輸出所有內(nèi)容,使用該命令時(shí),終端會(huì)輸出所有文件的更多信息,比如權(quán)限、文件所有者、文件大小、日期等:
ls -a
命令會(huì)列舉出文件夾/目錄中所有的文件,包括隱藏文件:
我們還可以將兩個(gè)參數(shù)放在一起使用,輸出的結(jié)果將是兩個(gè)參數(shù)分別執(zhí)行時(shí)的效果和:
可以看到,輸出的結(jié)果中包含了常規(guī)文件和隱藏文件的附加信息。
三、系統(tǒng)設(shè)置
1. clear
clear 命令用于清除屏幕。
2. uptime
在linux中,uptime命令用來(lái)顯示我們的系統(tǒng)運(yùn)行了多少時(shí)間、當(dāng)前登錄的用戶數(shù),操作系統(tǒng)在過去的1、5、15分鐘內(nèi)的平均負(fù)載。
uptime
22:52 up 10 days, 8:57, 2 users, load averages: 4.63 4.15 3.13
我們可以使用uptime來(lái)確定是服務(wù)器還是網(wǎng)絡(luò)出了問題。例如如果網(wǎng)絡(luò)應(yīng)用程序運(yùn)行,運(yùn)行uptime來(lái)了解系統(tǒng)負(fù)載是否很高。如果負(fù)載不高,這個(gè)問題很有可能是由于網(wǎng)絡(luò)引起的而非服務(wù)器。
可以使用 w 命令來(lái)代替 uptime。w 也提供關(guān)于當(dāng)前系統(tǒng)登錄用戶和用戶所進(jìn)行工作的相關(guān)信息。
3. users
users 命令用來(lái)顯示系統(tǒng)當(dāng)前登錄的用戶。
users
mac
4. lsof
lsof 命令用于查看端口占用情況:
lsof -i:3000
![]()
5. df
df 命令用于顯示目前在 Linux 系統(tǒng)上的文件系統(tǒng)磁盤使用情況統(tǒng)計(jì)。
6. passwd
passwd 命令用來(lái)更改使用者的密碼,需要根據(jù)提示輸入一次舊密碼和兩次新密碼。
7. cal
cal 命令用于查看日歷,默認(rèn)只顯示當(dāng)前月份:
可以使用cal -y 2022
命令來(lái)顯示某一年的日歷:
四、系統(tǒng)管理
1. date
date 命令用來(lái)查看當(dāng)前系統(tǒng)的日期和時(shí)間,我們還可以格式化當(dāng)前的時(shí)間:
2. kill
kill 命令用于刪除執(zhí)行中的程序或工作。kill 可將指定的信息送至程序。預(yù)設(shè)的信息為 SIGTERM(15),可將指定程序終止。若仍無(wú)法終止該程序,可使用 SIGKILL(9) 信息嘗試強(qiáng)制刪除程序。
kill -9 3000
3. ps
ps 命令用于顯示當(dāng)前進(jìn)程的狀態(tài),類似于 windows 的任務(wù)管理器。
4. top
top 命令用于實(shí)時(shí)顯示 process 的動(dòng)態(tài)。
5. who
who 命令用來(lái)返回用戶名、主機(jī)信息、日期、時(shí)間。
# who
mac console Jan 15 13:55
mac ttys004 Jan 25 22:52
6. sudo
sudo 命令會(huì)以系統(tǒng)管理員的身份執(zhí)行指令,也就是說(shuō),經(jīng)由 sudo 所執(zhí)行的指令就好像是 root 親自執(zhí)行的。
7. history
history 命令用來(lái)查看歷史記錄。它顯示了在終端中所執(zhí)行過的所有命令的歷史。
8. exit
exit 命令用于退出當(dāng)前的shell。執(zhí)行exit可使shell以指定的狀態(tài)值退出。若不設(shè)置狀態(tài)值參數(shù),則shell以預(yù)設(shè)值退出。狀態(tài)值0代表執(zhí)行成功,其他值代表執(zhí)行失敗。exit也可用在script,離開正在執(zhí)行的script,回到shell。
五、其他
1. ssh
ssh 命令用于連接基于 Linux 的遠(yuǎn)程主機(jī)。要使用 root 用戶連接遠(yuǎn)程主機(jī),需要使用以下命令:
ssh [email protected]
上面的命令將不支持 GUI,如果想使用 GUI 連接遠(yuǎn)程主機(jī),需要使用下面的命令:
ssh -XY [email protected]
2. tar
tar 命令用于備份文件。tar 是用來(lái)建立,還原備份文件的工具程序,它可以加入,解開備份文件內(nèi)的文件。
壓縮文件:
tar -czvf test.tar.gz a.c //壓縮 a.c文件為test.tar.gz a.c
解壓文件:
# tar -xzvf test.tar.gz a.c
3. grep
grep 命令用于查找文件里符合條件的字符串。如果發(fā)現(xiàn)某文件的內(nèi)容符合所指定的范本樣式,預(yù)設(shè) grep 指令會(huì)把含有范本樣式的那一列顯示出來(lái)。若不指定任何文件名稱,或是所給予的文件名為 -,則 grep 指令會(huì)從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù)。
可以使用-c
參數(shù)來(lái)計(jì)算重復(fù)的次數(shù):
4. ping
ping 命令用于檢測(cè)主機(jī)。執(zhí)行 ping 指令會(huì)使用 ICMP 傳輸協(xié)議,發(fā)出要求回應(yīng)的信息,若遠(yuǎn)端主機(jī)的網(wǎng)絡(luò)功能沒有問題,就會(huì)回應(yīng)該信息,因而得知該主機(jī)運(yùn)作正常。
5. man
man 命令用來(lái)查看Linux命令的使用手冊(cè),例如執(zhí)行 man clear:
6. wc
wc 命令用于計(jì)算字?jǐn)?shù)。利用wc指令我們可以計(jì)算文件的Byte數(shù)、字?jǐn)?shù)、或是列數(shù),若不指定文件名稱、或是所給予的文件名為"-",則wc指令會(huì)從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù)。