# Week 02 (2025/09/18) FHS、基礎指令 [TOC] ## FHS | Linux 萬物皆檔案!! ## 基礎指令 - process 程序過程 - `/` 根目錄 - linux為單一根目錄理念 - 絕對路徑:/Users/jerry/repos - 如果你現在在/Users/jerry/ 上面的路徑轉換成相對路徑就是repos - `/opt` 第三方的東西,某一些第三方套件軟體會裝在opt的資料夾裡面,例如mac Homebrew - `sudo` 執行一些只有系統管理員才能完成的任務(非必要不使用,除非目的明確) - system call 系統呼叫:請系統幫忙執行特定/更高階層的動作 - ls -l /dev/urandom : 網路想要生成隨基金鑰、密碼都是從這裡來的 - b:區塊裝置 (block device): 為甚麼可以一直跳? 因為在硬碟上可以一直轉 - 作業系統會把硬體的區塊作編號,但是在實體上不是連續的,但邏輯上是連續的,所以才會造成跳著讀取 - 檔案屬性: r 讀取權限(可讀) w 寫入權限(可寫) x 執行權限(可執行) - /boot bootstrap: 放印象檔使開機加速 - /sys system、/dev device(虛擬檔案系統): 沒有真實的存在影碟裡面,這些檔案都是作業系統抽象出來的,用一些手段將裝置檔案顯現出來,但沒有實際存在 - 你的影碟裡,所以這樣就可以用system code 使用這些檔案 > 概念似滑鼠本體(物理硬體)不存在硬碟,但鼠標(數位資料)存在電腦中。 - `/dev/shm`: shared memory ( 共享記憶體 ): 優點:程式可以很快被使用 - 設定檔通常在etc的部分 - journal 檔案去做變更的紀錄 - `/usr/bin`:放一些使用者程式(非必須) - `softlink`:軟連結 - 是一個指向其他檔案的檔案 - 若原檔案被刪除則會變成死連結 - 可跨檔案系統、跨程式分區 - `hardlink`:硬連結 - 指向其他檔案的**位置** - inode - hardlink inode 是一樣的 - `man`:簡單來說就是說明書 - `/var`:程式執行可能留下的 cache(快取) 、紀錄、臨時檔案,儲存在真實硬碟 --- ### 常用指令 #### 檔案與目錄操作 - `man`:查閱命令程式的手冊 - 用法: ``` man 你要查的指令 ``` - eg. ``` man ls ``` - `info`:比`man`更詳細、更結構化的檔案說明 - `file`:確定檔案形態(在linux系統中,附檔名不太重要) - `type`:查詢某個指令型態 - `uname`:顯示跟Linux系統有關的基本資料 - `cat`:把東西抓出來(印出檔案內容) - `rm`:remove 刪除 - `rm -rf`:遞迴(recursive)且強制(force)刪除,不知道自己在幹嘛的不要亂用 - `rm -i` :再次確認是否要刪除 - `rm -r` :把資料夾和裡面的文件都刪除 - `cp`:copy 複製檔案 - `mv`:move 移動 - rm 與 rmdir 的差別 | rm | rmdir | | ---- | ----- | | remove | remove directory | | 刪除檔案或目錄(搭配 `-r` 可遞迴刪除目錄) | 只能刪除空的目錄 | - `ls`:list 列出 - `cd`:切換路徑 - `mkdir`:建立資料夾(目錄) 指令後面要放資料夾名 - `touch`:建立檔案 - `vim <檔案名稱>`:開啟檔案(能打開不存在的檔名,存檔後會出現新的檔) - `nano`:edit file - `head`:顯示檔案前幾行 - `tail`:顯示檔案後幾行 - 兩者皆預設顯示十行,但可用 -n 選項指定行數,例如 head -n 5 file.txt 顯示前 5 行,用於快速檢視檔案開頭內容 - `top`: 類似系統管理員,主要功能顯示系統當前狀態 - `kill` : 加上PID就可以把process終止 - process:行進中的程式 - program 存在 disk,要 run 起來就需要存在 memory 裡成為 process - `ps`:為靜態,不會更新目前狀態 >額外推薦安裝btop及vtop - `chmod`:權限授予 - r:read - w:write - x:execute - `adduser` : 自動設定,建立新的使用者,要用sudo使用這個指令 - `useradd` : 手動設定, - `UID` :每一個使用者唯一的ID - awk 將輸出變成指定格式: 若之後遇到大量需要抓的資料時,非常需要使用
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up