Linux RHEL
2025-06-16
筆記 Red Hat Enterprise Linux (RHEL) 的基本操作與設定,方便查詢。
說明
Red Hat Enterprise Linux (RHEL) 是一個商業級的 Linux Distribution,主要用於企業環境。RHEL 提供穩定的系統更新和長期支援,Fedora 是 RHEL 的先行社群版本,最新的更新會出現在 Fedora 上,接著會將穩定的功能移往 CentOS Stream,最後成熟穩定的功能才會進入 RHEL。
開源的朋友會選擇 Rocky Linux,功能上與 RHEL 相同,但沒有商業支援。
常見的管理工具
RHEL 提供 GUI 的介面,但對於管理者而言,CLI 會是更常用的方式,因為通常不會使用遠端桌面進入伺服器,而是透過 SSH 連線,操作上都是在 Terminal 中進行,因此熟悉 CLI 的指令與相關工具是基本功夫。
如果要透過遠端桌面連線到 RHEL,可以使用 x2go
或 xrdp
等工具。
tty 表示目前的終端機,tty1 固定為 GUI 的登入畫面,登入後的使用者會出現在 tty2 等終端機
Linux GUI 環境支援虛擬桌面,可以透過
Ctrl + Alt + left/right
切換不同的虛擬桌面。
- man - 查詢指令的使用說明,例如
man ls
會顯示ls
指令的詳細說明 - w - 快速查看目前登入的使用者
- ssh - 遠端連線至 Linux 主機
- exit - 退出目前的 shell 或終端機
- dnf - RHEL 的套件管理工具,用於安裝、更新和移除軟體包
- file - 檢查檔案類型
- cat - 顯示檔案內容,搭配
-A
參數可以顯示不可見字元,例如換行符號等 - dos2unix/unix2dos - 轉換檔案的換行符號格式,從 DOS 格式轉換為 Unix 格式或反之
- split - 分割檔案,常用於處理大檔案
- head - 顯示檔案的前幾行,預設是前 10 行
- tail - 顯示檔案的後幾行,預設是後 10 行
- wc - 計算檔案的行數、字數和字元數
- history - 顯示最近執行的指令歷史
- clear - 清除終端機畫面
- unalias - 移除指令別名,例如
unalias ll
會移除ll
的別名設定 - echo - 輸出文字到終端機,常用於顯示變數的值,例如
echo $HOME
會顯示使用者的家目錄路徑 - which - 查詢指令的路徑,例如
which python
會顯示 Python 執行檔的路徑
man
指令要熟練如何使用鍵盤來瀏覽,例如使用 j
和 k
鍵來上下滾動,使用 q
退出,使用 /
來搜尋關鍵字,使用 n
和 N
來切換搜尋結果。
如果要執行多個指令,可以透過
;
連結以依序執行
如果指令有換行的需求,可以使用\
加上Enter
後繼續輸入下一行指令
檔案系統與目錄結構
注意!Linux 對於大小寫字母是區分的,因此
file.txt
和File.txt
是兩個不同的檔案,在使用指令參數時也要注意大小寫。
Linux 只有一個管理者 root
並且整個作業系統的資料夾結構只有一個 /
根目錄,所有的檔案和資料夾都在這個根目錄下。其他的使用者的資料夾都在 /home
目錄下,例如使用者 user1
的資料夾會是 /home/user1
,而 root
使用者的資料夾則是 /root
。
使用者可以透過 cd ~
來快速切換到自己的 home 目錄,也可以透過 cd #
來切換到根目錄 /
。
Linux 的檔案及資料夾名稱如果開頭是 .
,表示這是一個隱藏檔案或資料夾,例如 .bashrc
是使用者的 bash 設定檔,想要顯示隱藏檔案可以使用 ls -a
指令。
- lsscsi - 列出 SCSI 裝置的資訊
- pwd - 顯示目前所在的工作目錄
- ls - 列出目錄中的檔案和資料夾,常用的參數有
-l
(詳細資訊)、-a
(顯示隱藏檔案)、-h
(人類可讀的格式)、-R
(遞迴列出子目錄) - cd - 切換目錄,透過
cd ..
可以回到上一層目錄,cd -
可以切換到前一個目錄 - tree - 以樹狀結構顯示目錄內容,加上
-a
參數可以顯示隱藏檔案
預設 Linux 不支援 NTFS 檔案系統,如果需要掛載 NTFS 檔案系統,需要安裝
ntfs-3g
套件。
稍微認識根目錄以下的常見目錄:
/bin
- 放置基本的系統指令,例如ls
,cp
,mv
等/boot
- 系統啟動所需的檔案,例如核心檔案和啟動設定/dev
- 設備檔案,包含系統中的所有設備,例如硬碟、USB 裝置等/etc
- 系統設定檔案,包含系統的配置和服務設定/home
- 使用者的家目錄,每個使用者都有自己的資料夾/root
- 系統管理員的家目錄,只有 root 使用者可以存取/lib
- 系統函式庫檔案,包含系統指令和應用程式所需的函式庫/mnt
- 用於臨時掛載檔案系統的目錄/usr
- 用於存放使用者應用程式和相關檔案的目錄,通常包含/usr/bin
,/usr/lib
,/usr/share
等子目錄/tmp
- 用於存放臨時檔案的目錄,系統會定期清理這個目錄/run
- 系統運行時的臨時檔案,包含系統啟動後的狀態資訊
學習 Linux 一定要掌握如何閱讀 ls
輸出結果的意涵,包含第一碼所代表的檔案類型:
-
:一般檔案d
:目錄l
:符號連結
以及解讀權限的部分,例如 -rwxr-xr--
的意涵並能夠解讀二進位制的表示方式,例如 rwxr-xr--
可以轉換為 754
。
後續則是所屬的使用者、群組以及日期代表的是檔案的修改時間。
Linux 檔案的時間總共有四種時間,Accessed 是最後存取時間,Modified 是最後修改時間,Changed 是最後狀態改變時間,Birth 是檔案建立時間,其中 Change 是指 i-node 的狀態改變時間,包含權限、擁有者等屬性的變更,Modified 是指檔案內容的變更。
檔案與資料夾操作的相關指令:
touch
- 建立新的檔案或更新現有檔案的時間戳記cp
- 複製檔案或資料夾,使用-r
參數可以遞迴複製資料夾mv
- 移動或重新命名檔案或資料夾rm
- 刪除檔案或資料夾,使用-r
參數可以遞迴刪除資料夾,使用-f
參數可以強制刪除mkdir
- 建立新的資料夾,空白分隔可以一次建立多個資料夾,使用-p
參數可以建立巢狀資料夾rmdir
- 刪除空的資料夾
注意!網路上喜歡捉弄菜鳥去執行
rm -rf /
,這個指令會刪除整個根目錄下的所有檔案和資料夾,請小心 😥
關於 Linux 的檔案系統,在捷徑設定上不同於 Windows,Linux 分為 Symbolic Link (符號連結、也稱為 Soft Link) 和 Hard Link (硬連結),符號連結類似 Windows 的捷徑,而硬連結則是指向同一個 i-node 的另一個檔案名稱。但使用硬連結有不能跨越 Devices 及 Partitions 的限制,實務上還是用符號連結較多。
特別的是 Symbolic Link 檔案的權限固定為 lrwxrwxrwx
,但實際的存取權限是由原始檔案決定的,因此 Symbolic Link 的權限不會影響原始檔案的存取權限,而 Hard Link 則是與原始檔案的權限相同。
如果要建立 Symbolic Link,可以使用 ln -s
,沒有加上 -s
參數則是建立 Hard Link。
Linux 則檔案名稱參數支援 wildcard,例如 *
代表任意字元,?
代表單一字元,[abc]
代表 a、b 或 c 的任意一個字元。特別的是有 Brace Expansion 的功能,例如 file_{a,b,c}.txt
會展開為 file_a.txt file_b.txt file_c.txt
。
如果要優先執行參數內容,可以使用 $(command)
例如 $(ls)
會先執行 ls
指令,然後將結果傳遞給其他指令。
要 Escape 特殊字元,可以使用 \
來避免特殊字元被解釋,例如 echo \$HOME
會輸出 $HOME
而不是環境變數的值。
Linux 當中,雙引號
"
和單引號'
的差異在於,雙引號會解析其中的變數和特殊字元,而單引號則不會解析,所有內容都會被視為字串。