Linux: 命令速查(自用)

LinForest_zZ發表於2024-08-07

C

cal [OPTION] # 日曆, 不加選項預設顯示本月日曆

​   e.g., cal 2024 # 顯示2024年的日曆

cat [OPTION] file_name # 檢視檔案

​   e.g., cat -n /home/lsl/test.txt | more # 檢視檔案內容並 顯示行號 分頁進行展示(敲擊空格至下一頁)

cd [OPTION] # 切換到指定目錄

chgrp new_group file_name # 把檔案所在組改為指定組

​   chgrp -R group_mini project # 遞迴修改project資料夾下的檔案組為group_mini

chown [OPTION]... [new_owner:new_group] file_name... # 將檔案所有者修改為指定使用者

​   e.g.:

​   - chown lsl # 將檔案test.txt所有者修改為lsl

​   - chown u=rwx,g=rx,o=x /home/lsl/test.txt

​     等價於 chown 751 /home/lsl/test.txt

​     # 對檔案test.txt, 授權 檔案所有者 讀寫執行, 檔案所在組成員 讀執行, 其他組使用者 執行 的許可權

cp [OPTION] source dest # 複製

​   e.g.:

​   - \cp -r /home/lsl/dir1 /home/lsl/dir2 # 遞迴複製 dir1目錄內容到dir2目錄下, 遇到衝突時進行強制覆蓋, 無需確認

curl [OPTION] url # 傳送HTTP請求

​   opt desc:

​   - X 指定請求方式

​   - v 顯示響應結果

​   - u 攜帶使用者名稱/密碼

​   - H 攜帶請求訊息頭資訊


D

date [OPTION] # 顯示當前時間

​   e.g., date "+%Y-%m-%d %H:%M:%S" # 按指定格式顯示當前時間

docker volume ls # 檢視宿主機所有卷情況, 匿名掛載的volume name
docker images

docker login -u username -p password
docker rm -f $(docker ps -aq) # 強制刪除 所有 執行過/正在執行 的的docker容器
docker network [OPTIONS]# 檢視docker存在容器間網路資訊
  docekr network ls
  docekr network inspect NETWORK_I

docker history DOCKER_CONTAINER_NAME:TAG / DOCKER_CONTAINER_ID 檢視映象歷史變更記錄
docker run -f dockerfile訪問路徑 -t DOCKER_CONTAINER_NAME:TAG / DOCKER_CONTAINER_ID # 透過映象生成容器, 不使用 -f 指定 則 預設從當前資料夾下尋找名稱為Dockerfile的檔案作為dockerfile


E

echo [OPTION] content # 輸出變數/常量內容到控制檯


F

find search_scope [OPTION] # 從指定目錄向下遞迴遍歷其各個子目錄, 將滿足條件的檔案或目錄 顯示在終端

​   e.g., find /home -user lsl -size +5M -name '*_lsl.txt' # 檢視home目錄下 屬於lsl的 小於超過5M 的 名稱滿足 *_lsl 的檔案


G

grep [OPTION] # 查詢的原始檔內容

​   e.g., cat /home/lsl/test.txt | grep -ni aa # 查詢檔案test.txt中aa字串, 顯示行號, 並且忽略大小寫

groupadd groupname # 新增組

groupdel groupname # 刪除組

gpasswd [OPTION] username groupname # 操作使用者與組間關係

gzip [OPTION]... [FILE]... # 壓縮單個檔案, 將檔案壓縮為*.gz檔案存放在原檔案所在目錄, 壓縮成功後會把原始檔刪除

​   gzip /home/lsl/test.txt # 壓縮, 生成test.txt.gz

gunzip [OPTION]... [FILE]... # 解壓檔案, 解壓後刪除原檔案


H

head [OPTION] file_name 查問檔案內容(預設顯示頭10行)

​   e.g., head -n 5 test.txt # 檢視檔案頭5行內容

help [OPTION] # 幫助指令


I

id username # 檢視使用者資訊


K

kill [OPTION] process_id # 終止程序, -9 代表強制停止


L

less file_name # 顯示終端, 不是一次性讀取檔案, 而是根據需要載入內容

​   shortcut key:

​   - space/pagedown 向下翻一頁

​   - pageup 向下翻一行

​   - /string 向下搜尋string(n:向下; N:向上)

​   - ?string 向上搜尋string(n:向下; N:向上)

​   - q 離開less

locate file_name # 在整個系統中定位檔案路徑, 需要事先建立 系統中所有檔名稱及路徑的locate資料庫

​   e.g.:

​   - updatedb

​    locate file1_lsl.txt # 查詢檔名為file1_lsl.txt的檔案

ls [OPTION] directory/file

​   e.g.:

​   - ls -la # 以列表形式 顯示當前目錄下 所有檔案和目錄

​   - ls -l

[root@localhost /]# ls -l
總用量 20
lrwxrwxrwx.   1 root root    7 7月  25 08:43 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 8月   3 20:09 boot
drwxr-xr-x.  20 root root 3240 8月   7 07:48 dev
drwxr-xr-x.  77 root root 8192 8月   7 07:48 etc
drwxr-xr-x.   3 root root   17 7月  25 08:49 home
lrwxrwxrwx.   1 root root    7 7月  25 08:43 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 7月  25 08:43 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 4月  11 2018 media
drwxr-xr-x.   3 root root   18 8月   2 13:03 mnt
drwxr-xr-x.   3 root root   24 8月   4 00:57 opt
dr-xr-xr-x. 126 root root    0 8月   7 07:48 proc
dr-xr-x---.   3 root root  169 8月   5 10:27 root
drwxr-xr-x.  26 root root  780 8月   7 07:48 run
lrwxrwxrwx.   1 root root    8 7月  25 08:43 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 4月  11 2018 srv
dr-xr-xr-x.  13 root root    0 8月   7 07:48 sys
[root@localhost /]# :<<'END'
> 輸出解析:
> 以  dr-xr-xr-x.   5 root root 4096 8月   3 20:09 boot 為例:
> d => 檔案型別 -普通檔案; d目錄; l軟連線; c字元裝置(滑鼠、鍵盤、...); b塊檔案(硬碟...)
> r-x => 檔案所有者許可權
> r-x => 檔案所在組使用者許可權
> r-x => 其他組使用者許可權
> 5 => 檔案: 表示硬連結數, 為1; 目錄: 表示該目錄下子目錄數量 \
> root => 檔案所有者名稱
> root => 檔案所在組名稱
> 4096 => 檔案: 表示檔案大小(單位: 位元組); 目錄: 4096
> 8月   3 20:09 => 檔案最後修改時間
> boot => 檔名稱
> END

M

man [OPTION] # 幫助指令

mkdir [OPTION] directory

​   e.g., mkdir -p /home/lsl/tmp20240806 # 遞迴建立多級目錄

mv old_file_name new_file_name # 不存在=>重新命名 / 存在=>移動檔案

​   e.g.:

​   - mv test.txt /home/lsl/tmp20240806 # 移動檔案test.txt至/home/lsl/tmp20240806

​   - mv dir3 dir4 # dir4不存在, 則將檔案dir3重新命名為dir4; dir4存在, 則將檔案dir3移動至dir4下

more file_name # 基於VI編輯器的文字過濾器, 以全螢幕的方式按頁顯示文字檔案的內容

​   shortcut key:

​   - space 向下翻一頁

​   - enter 向下翻一行

​   - q 立刻離開more, 不再顯示該檔案內容

​   - ctrl + f 向下滾動一屏

​   - ctrl + b 返回上一屏

​   - = 輸出當前行的行號

​   - :f 輸出檔名和當前行的行號


N

netstat [OPTION] # 檢視系統網路服務情況

​   e.g., netstat -anp | grep sshd # 按照一定三個月西班牙排列輸出 程序呼叫, 以檢視網路服務sshd的狀態


P

pwd # 顯示當前目錄路徑

ps [OPTION] # 檢視系統執行程序

​   e.g., ps -aux # 顯示當前執行程序資訊

[root@localhost /]# ps -aux # 顯示當前執行程序資訊
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.0 128040  6688 ?        Ss   07:48   0:01 /usr/lib/systemd/systemd --swi
root          2  0.0  0.0      0     0 ?        S    07:48   0:00 [kthreadd]
root          4  0.0  0.0      0     0 ?        S<   07:48   0:00 [kworker/0:0H]
root          5  0.0  0.0      0     0 ?        S    07:48   0:00 [kworker/u256:0]xxxxxxxxxx [root@localhost /]# ps -aux # 顯示當前執行程序資訊USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDroot          1  0.0  0.0 128040  6688 ?        Ss   07:48   0:01 /usr/lib/systemd/systemd --swiroot          2  0.0  0.0      0     0 ?        S    07:48   0:00 [kthreadd]root          4  0.0  0.0      0     0 ?        S<   07:48   0:00 [kworker/0:0H]root          5  0.0  0.0      0     0 ?        S    07:48   0:00 [kworker/u256:0]USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDroot          1  0.0  0.0 128040  6688 ?        Ss   07:48   0:01 /usr/lib/systemd/systemd --swiroot          2  0.0  0.0      0     0 ?        S    07:48   0:00 [kthreadd]root          4  0.0  0.0      0     0 ?        S<   07:48   0:00 [kworker/0:0H]
...
[root@localhost /]# :<<'END'
> 輸出解析
> USER: 使用者名稱;
> PID: 程序ID;
> %CPU: 程序佔用CPU情況(單位: KB);
> %MEM: 程序佔用記憶體情況;
> VSZ: 程序佔用虛擬記憶體情況;
> RSS: 程序佔用實體記憶體情況;
> TTY: 程序佔用終端情況, ?表示隱藏;
> STAT: 程序狀態: S休眠; R執行; N程序擁有比普通優先順序更低的優先順序; D短暫等待; Z僵死程序; T被跟蹤或者被停止;
> START: 程序啟動時間;
> TIME: 程序佔用CPU中時間;
> COMMAND: 啟動程序的命令和引數, 過長會被截斷顯示;
> 補充:
> TT: 終端名稱, 縮寫;
> PPID: 父程序ID
> C: CPU使用的資源百分比;
> PRI: 程序的執行優先權, 越小優先順序越高;
> SZ: 使用掉的記憶體
> END


R

reboot # 現在重啟計算機

rm [OPTION] directory # 刪除檔案或目錄

​   e.g., rmdir -rf /home/lsl/tmp20240806 # 強制刪除非空目錄, 無需確認

rmdir [OPTION] directory # 刪除空目錄(非空時會報錯)

rpm [OPTION] # 網際網路下載包的打包及安裝工具

​   e.g.:

​   - rpm -e firefox # 解除安裝火狐

​   - rpm -qa | grep docker # 查詢所安裝的docker軟體包

[root@localhost /]# rpm -qa | grep docker # 查詢所安裝的docker軟體包
docker-ce-26.1.4-1.el7.x86_64
docker-buildx-plugin-0.14.1-1.el7.x86_64
docker-ce-rootless-extras-26.1.4-1.el7.x86_64
docker-compose-plugin-2.27.1-1.el7.x86_64
docker-ce-cli-26.1.4-1.el7.x86_64
[root@localhost /]# # 輸出解析: 軟體包名稱-軟體包版本號.使用作業系統

​   - rpm -ivh firefox-45.4.0-1.el7.centos.x86_64.rpm # 介面顯示提示(verbose)和進度條(hash), 安裝(install)firefox


S

su username # 切換使用者, exit回溯

shutdown [OPTION] # 關機

​   e.g.:

​   - shutdown now # 立刻進行關機

​   - shutdown -h 1 # 一小時後關機

​   - shutdown -r now # 現在重新啟動計算機

sync # 把記憶體資料同步到磁碟

systemctl [OPTION] service_name # 操作服務: OPTION: start restart reload status enable

​   e.g., systemctl restart firewalld # 重啟防火牆


T

tail [OPTION] file_name

​   e.g., tail -n 12 -f test.txt # 持續輸出test.txt中的最末尾12行內容至終端

tar [OPTION...] [FILE]... # 打包或解壓檔案

​ opt desc:

​   - c 建立一個新的tar檔案(歸檔檔案)

​   - v 顯示詳細資訊

​   - f 指定壓縮後檔名

​   - z 打包同時壓縮

​   - x 解壓.tar.zg檔案

​   - C 指定解壓或打包的工作目錄 # 預設為當前目錄

touch filename_list # 建立一個或多個空檔案

​   e.g., touch lsl_test01.txt lsl_test02.txt


U

useradd [OPTION] username # 新增使用者

​   ex. useradd -g groupname -d user_home_directory username # 指定使用者的 組、家目錄

userdel [OPTION] username # 刪除使用者


Y

yum [OPTION] # shell前端軟體包管理器, 基於rpm; 使用前提: 可連線外網

​   e.g.:

​   - yum install docker-ce-26.1.4-1.el7 # 安裝

​   - yum remove firefox.x86_64 # yum包解除安裝

​   - yum list installed | grep docker # 查詢yum伺服器上的 已安裝至本地的 軟體包

[root@localhost /]# yum list installed | grep docker # 查詢yum伺服器上的 已安裝至本地的 軟體包
containerd.io.x86_64            1.6.33-3.1.el7                 @docker-ce-stable
docker-buildx-plugin.x86_64     0.14.1-1.el7                   @docker-ce-stable
docker-ce.x86_64                3:26.1.4-1.el7                 @docker-ce-stable
docker-ce-cli.x86_64            1:26.1.4-1.el7                 @docker-ce-stable
docker-ce-rootless-extras.x86_64
                                26.1.4-1.el7                   @docker-ce-stable
docker-compose-plugin.x86_64    2.27.1-1.el7                   @docker-ce-stable

#

> target_file # 將前一個檢視指令中的結果 覆蓋寫入 到目標檔案(檔案不存在則新建)

​   e.g., cat aa.txt > bb.txt

>> target_file # 將前一個檢視指令中的結果 追加寫入 到目標檔案(檔案不存在則新建)


  • ctrl + 滑鼠左擊 = 改變游標位置
  • ctrl + 箭頭 = 快速跳過空格和一個單詞
  • ctrl +b = 快速跳轉

相關文章