➜ Old React website
Chung Cheuk Hang MichaelJava Web Developer
Spring Boot 3 micrometer tracing進階 Maven

Linux 基本指令

Table of contents

1 Commands

1.1 列出目錄所有檔案

ls -la ls -la /tmp
解釋:
輸出部分解釋
1 個位如果係目錄,會顯示 d,否則 -
之後 9 個位權限。如果有曬既話係 rwxrwxrwx,如果任何一個冇權限會顯示 -。分別係 user、group、owner 各自既 read、write、execute 權限。
之後既數字Hard links 既數量。
之後既部分Owner user name。
之後既部分Group name。
之後既數字檔案大小(以 bytes 計)。
之後既日期、時間最後修改日期、時間。
之後既部分檔案名稱。. 係目前既目錄;.. 係 parent 目錄。

1.2 查詢當前位置

pwd

1.3 查詢當前使用者

查詢當前 user:
whoami
查詢當前詳細身份(user ID、user name、group ID、group name):
id

1.4 列出所有 environment variables

env

1.5 臨時設置 environment variable

export env1=foo
或者讀取檔案:
source env.txt

1.6 列出所有 mount points

mount

1.7 列出現時 CPU、memory 資源使用情況

top
註:
  • VSZ 既意思係 virtual memory size。

1.8 進入某個目錄

進入 root 目錄:
cd /
進入其他目錄:
cd /path/to/folder
註:
  • 如果目錄係以 / 開頭,例如 /path/to/folder,就係提供緊 absolute path;否則就係提供緊當前位置既 relative path。

1.9 創建新檔案

touch test.txt

1.10 將少量文字寫入檔案

echo "foo" test.txt

1.11 顯示檔案內容

顯示所有內容:
cat test.txt
以分頁顯示內容:
more test.txt

1.11.1 用搜尋關鍵字過濾檔案內容

cat test.txt | grep "foo"
more test.txt | grep "foo"

1.12 修改檔案內容

用 vi Editor 打開檔案、顯示內容:
vi test.txt
保存,然後退出 vi Editor:
:wq!
唔保存,然後退出 vi Editor:
:q!

1.13 比較兩個檔案內容

diff foo.txt bar.txt

1.14 創建目錄

創建目錄以及所有未創建既 parent directories:
mkdir -p /path/to/folder

1.15 刪除檔案、目錄

rm /path/to/file
Recursively 刪除目錄以及內裡既所有檔案(⚠️ 用既時候一定要好小心):
rm -rf /path/to/folder

1.16 查詢所有 users、groups

查詢所有 users:
cat /etc/passwd
查詢所有 groups:
cat /etc/group

1.17 修改檔案、目錄擁有者

只修改檔案既 owner:
chown myuser test.txt
只修改檔案既 group:
chown :mygroup test.txt
修改檔案既 owner、group:
chown myuser:mygroup test.txt
修改目錄以及裡面既所有檔案既 owner、group:
chown -R myuser:mygroup /path/to/folder

1.18 修改檔案、目錄權限

chmod 0777 test.txt
註:
  • 上面既數字 0777 分別係 special、owner、group、others 既權限,而因為 read、write、execute 可以組成 8 種情況,所以係一個 8 進制既 4 位數。
數字權限
0冇任何權限。
1只有 execute 權限。
2只有 write 權限。
3只有 write、execute 權限。
4只有 read 權限。
5只有 read、execute 權限。
6只有 read、write 權限。
7有曬 read、write、execute 權限。
記法:
  • 只需要記得 read、write、execute 呢 3 種權限既次序。
    • 因為有 3 個 boolean,所以就要用 23 次方,即係有 8 個唔同既組合情況。
    • Read 係右至左第三個權限,所以係 22 次方,即係 4
    • Write 係右至左第二個權限,所以係 21 次方,即係 2
    • Execute 係右至左第一個權限,所以係 20 次方,即係 1
    • 之後如果要計數字出黎,只需要將我地需要既權限所對應既數字加起黎就得,反之亦然。

1.19 測試連線

可以測試 host、port:
nc -vz google.com 443

1.20 查詢指令安裝位置

which java
whereis java

1.21 查詢 Linux 版本

查詢 Linux distribution 以及版本號碼:
cat /etc/os-release

2 參考資料