當前位置: 妍妍網 > 碼農

這 21 條 Linux 命令,務必記住!

2024-04-24碼農

點選「 碼與碼徒 」, 關註,置頂 公眾號

每日技術幹貨,第一時間送達!

本文章總結了 21 條最頻繁使用 Linux 命令 ,也是面試官考察你對 Linux 系統熟不熟常問的面試題,可以收藏本文章,作為一個 Linux 命令速查手冊。

1

檔和目錄

1. cd命令

它用於切換當前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑:

cd /home 進入 '/ home' 目錄
cd .. 返回上一級目錄
cd ../.. 返回上兩級目錄
cd 進入個人的主目錄
cd ~user1 進入個人的主目錄
cd - 返回上次所在的目錄

2. pwd命令

pwd 顯示工作路徑

3. ls命令

檢視檔與目錄的命令,list之意:

ls 檢視目錄中的檔
ls -l 顯示檔和目錄的詳細資料
ls -a 列出全部檔,包含隱藏檔
ls -R 連同子目錄的內容一起列出(遞迴列出),等於該目錄下的所有檔都會顯示出來
ls [0-9] 顯示包含數位的檔名和目錄名

4. cp 命令

用於復制檔,copy之意,它還可以把多個檔一次性地復制到一個目錄下:

-a :將檔的特性一起復制
-p :連同檔的內容一起復制,而非使用預設方式,與-a相似,常用於備份
-i :若目的檔已經存在時,在覆蓋時會先詢問操作的進行
-r :遞迴持續復制,用於目錄的復制行為
-u :目的檔與原始檔有差異時才會復制

5. mv命令

用於移動檔、目錄或更名,move之意:

-f :force強制的意思,如果目的檔已經存在,不會詢問而直接覆蓋
-i :若目的檔已經存在,就會詢問是否覆蓋
-u :若目的檔已經存在,且比目的檔新,才會更新

6. rm 命令

用於刪除檔或目錄,remove之意:

-f :就是force的意思,忽略不存在的檔,不會出現警告訊息
-i :互動模式,在刪除前會詢問使用者是否操作
-r :遞迴刪除,最常用於目錄刪除,它是一個非常危險的參數

2

檢視檔內容

7. cat命令

用於檢視文字檔案的內容,後接要檢視的檔名,通常可用管道與more和less一起使用:

cat file1 從第一個字節開始正向檢視檔的內容
tac file1 從最後一行開始反向檢視一個檔的內容
cat -n file1 標示檔的行數
more file1 檢視一個長檔的內容
head -n 2 file1 檢視一個檔的前兩行
tail -n 2 file1 檢視一個檔的最後兩行
tail -n +1000 file1 從1000行開始顯示,顯示1000行以後的
cat filename | head -n 3000 | tail -n +1000 顯示1000行到3000
cat filename | tail -n +3000 | head -n 1000 從第3000行開始,顯示1000(即顯示3000~3999行)

3

檔搜尋

8. find命令()

find / -name file1 從 '/' 開始進入根檔案系統搜尋檔和目錄
find / -user user1 搜尋屬於使用者 'user1' 的檔和目錄
find /usr/bin -typef -atime +100 搜尋在過去100天內未被使用過的執行檔
find /usr/bin -typef -mtime -10 搜尋在10天內被建立或者修改過的檔
whereis halt 顯示一個二進制檔、源碼或man的位置
which halt 顯示一個二進制檔或可執行檔的完整路徑

刪除大於50M的檔:

find /var/mail/ -size +50M -exec rm {} \;

4

檔的許可權

使用 "+" 設定許可權,使用 "-" 用於取消

9. chmod 命令

ls-lh 顯示許可權
chmodugo+rwxdirectory1 設定目錄的所有人(u)、群組(g)以及其他人(o)以讀(r4 )、寫(w,2)和執行(x,1)的許可權
chmodgo-rwxdirectory1 刪除群組(g)與其他人(o)對目錄的讀寫執行許可權

10. chown 命令

改變檔的所有者:

chownuser1file1 改變一個檔的所有人內容
chown-Ruser1directory1 改變一個目錄的所有人內容並同時改變改目錄下所有檔的內容
chownuser1:group1file1 改變一個檔的所有人和群組內容

11. chgrp 命令

改變檔所屬使用者組:

chgrp group1 file1 改變檔的群組

5

文本處理

12. grep 命令

分析一行的資訊,若當中有我們所需要的資訊,就將該行顯示出來,該命令通常與管道命令一起使用,用於對一些命令的輸出進行篩選加工等等:

grep Aug /var/log/messages 在檔 '/var/log/messages'中尋找關鍵詞"Aug"
grep ^Aug /var/log/messages 在檔 '/var/log/messages'中尋找以"Aug"開始的詞匯
grep [0-9] /var/log/messages 選擇 '/var/log/messages' 檔中所有包含數位的行
grep Aug -R /var/log/* 在目錄 '/var/log' 及隨後的目錄中搜尋字串"Aug"
sed 's/stringa1/stringa2/g' example.txt 將example.txt檔中的 "string1" 替換成 "string2"
sed '/^$/d' example.txt 從example.txt檔中刪除所有空白行

13. paste 命令

paste file1 file2 合並兩個檔或兩欄的內容
paste -d '+' file1 file2 合並兩個檔或兩欄的內容,中間用"+"區分

14. sort 命令

sort file1 file2 排序兩個檔的內容
sort file1 file2 | uniq 取出兩個檔的聯集(重復的行只保留一份)
sort file1 file2 | uniq -u 刪除交集,留下其他的行
sort file1 file2 | uniq -d 取出兩個檔的交集(只留下同時存在於兩個檔中的檔)

15. comm 命令

comm -1 file1 file2 比較兩個檔的內容只刪除 'file1' 所包含的內容
comm -2 file1 file2 比較兩個檔的內容只刪除 'file2' 所包含的內容
comm -3 file1 file2 比較兩個檔的內容只刪除兩個檔共有的部份

6

打包和壓縮檔

16. tar 命令

對檔進行打包,預設情況並不會壓縮,如果指定了相應的參數,它還會呼叫相應的壓縮程式(如gzip和bzip等)進行壓縮和解壓:

-c :新建打包檔
-t :檢視打包檔的內容含有哪些檔名
-x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,註意-c,-t,-x不能同時出現在同一條命令中
-j :透過bzip2的支持進行壓縮/解壓縮
-z :透過gzip的支持進行壓縮/解壓縮
-v :在壓縮/解壓縮過程中,將正在處理的檔名顯示出來
-f filename :filename為要處理的檔
-C dir :指定壓縮/解壓縮的目錄dir
壓縮:tar -jcv -f filename.tar.bz2 要被處理的檔或目錄名稱
查詢:tar -jtv -f filename.tar.bz2
解壓:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄
bunzip2 file1.bz2 解壓一個叫做 'file1.bz2'的檔
bzip2 file1 壓縮一個叫做 'file1' 的檔
gunzip file1.gz 解壓一個叫做 'file1.gz'的檔
gzip file1 壓縮一個叫做 'file1'的檔
gzip -9 file1 最大程度壓縮
rar a file1.rar test_file 建立一個叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同時壓縮 'file1''file2' 以及目錄 'dir1'
rar x file1.rar 解壓rar包
zip file1.zip file1 建立一個zip格式的壓縮包
unzip file1.zip 解壓一個zip格式壓縮包
zip -r file1.zip file1 file2 dir1 將幾個檔和目錄同時壓縮成一個zip格式的壓縮包

7

系統和關機 (系統的關機、重新開機以及登出 )

shutdown-hnow 關閉系統(1)
init0 關閉系統(2)
telinit0 關閉系統(3)
shutdown-hhours:minutes& 按預定時間關閉系統
shutdown-c 取消按預定時間關閉系統
shutdown-rnow 重新開機(1)
reboot 重新開機(2)
logout 登出
time 測算一個命令(即程式)的執行時間

8

行程相關的命令

17 . jps命令

顯示當前系統的java行程情況,及其id號:

jps (Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java行程pid的命令,簡單實用,非常適合在linux/unix平台上簡單察看當前java行程的一些簡單情況。

18 . ps命令

用於將某個時間點的行程執行情況選取下來並輸出,process之意:

-A :所有的行程均顯示出來
-a :不與terminal有關的所有行程
-u :有效使用者的相關行程
-x :一般與a參數一起使用,可列出較完整的資訊
-l :較長,較詳細地將PID的資訊列出
ps aux # 檢視系統所有的行程數據
ps ax # 檢視不與terminal有關的所有行程
ps -lA # 檢視系統所有的行程數據
ps axjf # 檢視連同一部份行程樹狀態

19 . kill命令

用於向某個工作(%jobnumber)或者是某個PID(數位)傳送一個訊號,它通常與ps和jobs命令一起使用:

20 . killall命令

(向一個命令啟動的行程發送一個訊號)

21 . top命令

是Linux下常用的效能分析工具,能夠即時顯示系統中各個行程的資源占用狀況,類似於Windows的工作管理員。

如何殺死行程:

圖形化界面的方式
kill-9 pid (-9表示強制關閉)
killall -9 程式的名字
pkill 程式的名字
檢視行程埠號:
netstat -tunlp | grep 埠號

來源:www.nowcoder.com/discuss/151562

END

PS:防止找不到本篇文章,可以收藏點贊,方便翻閱尋找哦。

往期推薦