阿旺的 Linux 開竅手冊

阿旺的 Linux 開竅手冊







基礎篇
進階篇
補腦篇
版權所有,引用請註明出處


 基礎篇

Chapter 1 : 認識 Linux

1.0 誰適合閱讀?
1.1 話說UNIX/Linux~皇圖霸業談笑間
       UNIX
       GNU
       Linux
1.2 了解"作業系統"~生而不有,為而不持
       應用軟體(Appplication)
       核心(Kernel)
       驅動程式(Device Driver)
1.3 學習Linux的態度~一沙一世界的恆河沙
1.4 Linux已飛入尋常百姓家
1.5 閱讀前的準備~聊八卦談是非
       位元(bit)
       位元組(byte)
       二進制(binary)
           二進制轉十進制
           二進制轉十六進制
           十進制轉二進制
           十進制轉十六進制
       ASCII code
           EASCII code
       機械碼(Machine Code)
       原始碼(Source Code)
1.6 認識 PC 常用的單位~K/Ki,M/Mi,G/Gi

Chapter 2 : 安裝 Linux

2.0 安裝前的準備
       認識 Linux 發行版
       選擇適當的學習機
           空機安裝 Linux
           虛擬機(Virtual Machine)安裝 Linux
           利用硬碟抽取盒
       下載學習機用的 Linux distribution
       燒錄下載 CD
2.1 安裝 Linux
       設定 BIOS 開機順序
       開始安裝
           選擇安裝的語系
           分割硬碟
           設定網路.時區和系統管理員密碼
           安裝軟體選項
           重新開機
           建立使用者帳號
2.2 設定中文輸入法
2.3 無法安裝Linux 的處理
2.4 VirtualBox簡介
       建立一個 Guest OS
       VirturalBox 執行 Guest OS 的操控
       實驗與觀察
       加快 VirtualBox 執行速度

Chapter 3 : 了解 Linux 文字界面

3.0 認識 Shell
       登入文字界面
           Supersuser 超級用戶
       Linux 指令語法
       文字界面的控制鍵
           <Ctrl+Alt+F(1~7)> 切換終端機
           <↑>、<↓> 歷史查詢
               history 指令回顧
               <!> 指定指令編號
           <Ctrl+C> 停止目前的運算
           <Ctrl+D> 登出或檔案結束
           <Tab> 補全
           <Ctr+R> 歷史查詢+補全
           輸入控制
               <Ctrl+U> 刪除整行
               <Ctrl+W> 刪除游標之前的輸入
               <Ctrl+K> 刪除游標之後的輸入
               <Ctrl+L> 清除游標之上的螢幕
3.1 登出
       logout 登出
       exit 退出目前的 shell
       su 暫時變更使用者
3.2 關機
       poweroff 關機
       halt 關機
       reboot 重開機
       shutdown 關機
       sync 同步緩衝記憶體和硬碟
       runlevel 查詢運行級別
       init 執行運行級別
3.3 清除螢幕
       clear 清除螢幕
       reset 重置螢幕
3.4 輔助說明文件
       man 指令考手冊
       info 指令考手冊
       --help 指令自帶說明

Chapter 4 : 檔案/目錄與路徑

4.0 Linux 的目錄與路徑
       目錄操作
       pwd 顯示工作目錄
       tree 顯示目錄樹
       cd 切換目錄
           絕對路徑
           相對路徑
       mkdir 建立目錄
           /tmp 目錄
       rmdir 移除目錄
4.1 檔案相關指令
       檔案查閱
       file 辨識檔案類型
       ls 列出檔案
       檔案類型
       Linux 的時間戳記
           atime
           ctime
           mtime
       alias 指令別名
       stat 顯示檔案屬性
4.2 查閱檔案
       cat 檔案讀取
          head 讀取檔案開頭
          tail 讀取檔案結尾
          tac 反向讀取
       od 八進制輸出
       換行(newline)
           unix2dos UNIX 轉 DOS 格式
           dos2unix DOS 轉 UNIX 格式
       echo 顯示文字
       more 可往下翻頁閱讀器
       less 可上下翻頁閱讀器
4.3 管線與重定向
       管線(pipeline)
       重定向(redirection)
           〝1>〞或〝>〞:標準輸出重定向
           〝1>>〞或〝>>〞:標準輸出累加重定向
           〝2>〞:錯誤輸出重定向
               /dev/null 無底洞
           〝2>>〞:錯誤輸出累加重定向
           〝0<〞或〝<〞:標準輸入重定向
           〝-〞:標準輸入
           〝2>&1〞或〝&>〞:stderr 重定向 stdout
           〝1>&2〞:stdout 重定向 stderr
           〝<< 字串〞:結束輸入
           tee T型管線
4.4 指令傳回值與指令執行流程
       〝&&〞傳回值為 0 執行
       〝||〞傳回值為 ≠0 執行

Chapter 5 : 檔案操作和權限

5.0 檔案基本操作
       連結檔
           符號連結
           硬連結
       ln 建立檔案連結
       cp 檔案複製
       rm 檔案刪除
       mv 檔案搬移
       〝\〞 跳脫字元
5.1 萬用字元
       rename 大量檔案更名
5.2 檔案擁有者和權限
       擁有者類別 (ownership)
       權限 (permission)
       目錄的權限
       特殊權限
           Sticky Bit
           SGID (Set Group ID bit)
           SUID (Set User ID Bit)
       chmod 變更檔案的權限
           數字表示法
           符號表示法
       連結檔的權限
       umask 改變預設檔案權限
5.3 檔案屬性
       chattr 變更檔案屬性
       lsattr 顯示檔案屬性

Chapter 6 : vi 文字編輯器

6.0 認識 vi
       vi 基本操作
       vi 的操作模式
6.1 一般模式
       方向鍵
       快速移動游標
       書籤
       捲軸移動
       取代一個字元
       刪除
       連接
       排縮
       搜尋
       複製/貼上
       愎原
       重複上一個動作
       存檔後離開 vi
6.2 插入模式
6.3 命令模式
       簡介 ex 行編輯器
           行編輯
           刪除、複製和搬移
           存檔、離開
           搜尋
           取代
           執行 Shell 指令
           刪除書籤
6.4 多檔編輯
       載入檔案
       切換編輯檔案
6.5 區塊編輯
6.6 分割視窗
6.7 環境設定
6.8 輸入控制字元和任意字元

Chapter 7 : 檔案的壓縮/搜尋

7.0 介紹壓縮檔
7.1 常見的壓縮檔
       gz 檔
           gzip 壓縮/解壓縮 gz 檔
           gunzip 解壓縮 gz 檔
           zcat 讀取 gz 壓縮檔
       bz2 檔
           bzip2 壓縮/解壓縮 bz2 檔
           bunzip2 解壓縮 bz2 檔
           bzcat 讀取 bz2 壓縮檔
           bzip2recover 修復 bz2 壓縮檔
       Z 檔
           compress 壓縮/解壓縮 Z 檔
           uncompress 解壓縮 Z 檔
       zip 檔
           zip 壓縮檔案成 zip 檔
           unzip 解壓縮 zip 檔
           zipinfo 列出 zip 檔資訊
7.2 檔案打包
       tar 檔
           tarball 壓縮的 tar 檔
           tar 打包/還原 tar 檔
           tar 炸彈
7.3 檔案搜尋
       type 顯示指令類型
       which 尋找執行檔
       whereis 預設路徑尋找檔案
       locate 硬碟索引搜尋
           updatedb 更新硬碟索引資料庫
       find 終極檔案搜尋


 進階篇

Chapter 1 : 帳號和群組管理

1.0 帳號管理
       了解帳號相關設定檔
           /etc/passwd
           /etc/shadow
       passwd 變更密碼
       useradd 新增帳號
       useradel 刪除帳號
       vipw 修改 /etc/passwd
       usermod 修改帳號
       個人帳號修改
           chfn 修改帳號註解
           chsh 修改登入 Shell
           finger 查詢帳號
1.1 群組管理
           /etc/group
           /etc/gshadow
       groupadd 新增群組
       vigr 修改 /etc/group
       groups 列出群組
       newgrp 切換群組
       gpasswd 設群組密碼和成員
       groupmod 修改群組
       groupdel 刪除群組
1.2 群組協同工作
       chgrp 變更群組擁有者
       chown 變更檔案擁有者
1.3 sudo 越俎代庖
       visudo修改 /etc/sudoers
       /etc/sudoers 設定檔
           Alias 別名設定
           TAG 標籤設定
       sudo 使用範例
1.4 consolehelper 大開方便之門
1.5 其他帳號相關指令
       id 顯示帳號 ID
       w/who 顯示登入者資訊
       lastlog 帳號登錄查詢

Chapter 2 : 正規表示法/過濾程式

2.0 正規表示法簡介
2.1 基礎正規表示法(RE/BRE)
        Bracket Expressions(POSIX 中括號表示法)
            POSIX Character(POSIX 字集)
        .:匹配任何單一字元
        *:匹配前字元從零到無限重複
        ^:匹配起始位置的字串
        $:匹配結束位置的字串
        &:記憶匹配到的字串
        {a,b}:匹配限定重複前字元
        ( ):集合匹配前字串
        < >:匹配單字
        ( )\1:向後參考記憶匹配
        〝|〞或匹配
2.2 延伸正規表示法(ERE)
        |:或匹配
        +:匹配前面一個到無限重複字元
        ?:匹配前面零到一個重複字元
2.3 過濾器簡介
        grep 檔案中尋找字串
           egrep
           frgep
        cut 擷取欄位
        col 過濾控制字元
        tr 字元轉換
        sort 排序
        uniq 刪除相鄰重複的行

Chapter 3 : sed 和 awk

3.0 sed 和 awk 簡介
3.1 sed 檔案字串修改
        sed 基本用法
        sed 進階用法
            delimiter 分隔符號
            ADDRESS 位址範圍
            OPTION 選項
            FLAG 旗幟
            流程控制
            COMMAND 命令
3.2 awk 文字記錄的資料處理
        awk 基本用法
        awk 程式模式
            自定變數
            內建變數
            BEGIN 和 END
            輸出函數 print 和 printf ( )
            關聯矩陣(Associative Arrays)
            system 執行系統指令
            close 關閉檔案/管線
            getline 讀入資料
            數學函數
            字串函數
            自定函數

Chapter 4 : 硬碟操作

4.0 Linux 下的硬碟和檔案系統目錄結構
       Linux filesystem 檔案系統
           ext2 檔案系統
           ext3 檔案系統
       Unix 目錄結構
       Linux 下的硬碟和裝置檔名
4.1 顯示硬碟資訊
       df 顯示硬碟使用量
       du 顯示目錄和檔案使用量
       blkid 顯示硬碟資訊
4.2 硬碟分割(Disk partitioning)
       傳統 MBR 的硬碟分割
           primary partition
           extended partition
                logical partition
           fdisk 分割硬碟
       新型 GPT 磁碟分割
           parted 分割硬碟
4.3 格式化檔案系統
       mkfs 格式化 filesystem
       tune2fs 將 ext2 轉 ext3
       e2label 設定 filesystem 標籤
       fsck 檢查和嘗試修復檔案系統
4.4 mount 掛載 filesystem
       mount 基本用法
         /etc/mtab 掛載情形
       標籤掛載
       掛載 USB 隨身碟/軟碟
       掛載 CD-ROM
       etc/fstab 設定開機自動掛載
       umount 卸載
       掛載虛擬裝置

Chapter 5 : LVM 和 RAID

5.0 LVM 邏輯卷冊
        LVM 原理
        pvcreate 建立 PV
        vgcreate 建立 VG
        lvcreate 建立 LV
            Linear Volume 線性模式
            Stripe Volume 交織模式
            Mirror Volume 鏡像模式
            Snapshot Volume 快照模式
        LVM 遷移/備份
5.1 RAID 磁碟陣列
            Hardware-RAID
            Soft-RAID
            Semi-Hardware-RAID
        RAID 硬碟的選擇
        RAID Levels
           RAID 0 (stripe)
           RAID 1 (mirror)
               RAID 降級
               Spare-Disk預備硬碟
           RAID 5
               RAID 5 的不可復原錯誤
           RAID 6
           混合 RAID(Hybrid RAID)
5.2 Linux Soft RAID 軟硬磁碟陣列
       mdadm 建立/管理 Software-RAID
           Create 模式,建立 Software-RAID
                /etc/mdadm.conf 編輯 RAID 設定檔
                /proc/mdstat 監控 Soft-RAID
          Mmanage 模式,管理 Software-RAID
          Assemble 模式,重啟之前建立的 RAID
          Monitor 模式,監控 Software-RAID
          Grow 模式,改變 RAID 大小
          Misc 雜項模式
          不特定模式
       mdadm 建立混合 RAID

Chapter 6 : Process 程序

6.0 process & jobs 簡介
6.1 job
        job_control
        前景程式
        終止程式<CTRL+C>
        暫停程式 <CTRL+Z>
        背景執行程式 &
        jobs 顯示背景程式
            管理 jobs
        bg 暫停轉背景
        fg 背景轉前景
        kill 殺死 prosess
            killall 抄家滅族
6.2 process (程序)
        PID (程序 ID)
        父程序 和 PPID
        子程序
            pstree 顯示 process 關係樹
        process group & pgid (程序群組和程序群組 ID)
            process group leader (程序群組領導)
        session 和 session id (SID)
            session leader
        init 始祖 process
        殭屍程序(zombie process)
        fork 和 exec
            exec
        daemon(守護程序)
6.3 process 監控
        ps 顯示程序狀況
        top 程序和校能監控
        nice 調整程序優先權
            renice
6.4 named pipe(具名管線)
         mkfifo
6.5 process substitution

Chapter 7 : bash shell

此篇維護中...


 補腦篇

Chapter 1 : 先進格式化硬碟

1. 先進格式化硬碟
       512e 模擬傳統格式硬碟
       4Kn 原生 4K 磁區硬碟
       先進格式化硬碟的 partition 對齊
       識別先進格式化硬碟
1.1 分割先進格式化硬碟
           parted 自動對齊分割
           手動 parted 對齊分割
           用 Windows 分割 partition

Chapter 2 : File Descriptor

2.0 簡介 file descriptor (檔案描述符)
       fd 與重定向
       目錄〝/proc/<PID>/fd〞與 fd
2.1 exec 和 fd 重定向
           exec X>FILE :fd X 重定向檔案
           exec X>&Y :fd X 重定向到 fd Y
           exec X< FILE :檔案重定向到 fd X
           exec X<&Y :fd Y 重定向到 fd X
           exec fd X<> FILE :檔案重定向 fd X 並讀寫
           exec X>&- :關閉 fd X
2.2 誰偷走了 stdin ?

Chapter 3 : 虛擬儲存裝置

3.0 虛擬儲存裝置~色不異空,空不異色
        dd 色即是空
        losetup 空即是色
            kpartx 映射映像檔 partition 到 loop-device
3.1 swap 輔助記憶體
       swap-partition
       swap-file
       swappiness 使用 swap 的積極度
3.2 檔案容量配額
        quotacheck 建立配額資料庫
        edquota 編輯配額
           quota 顯示帳號/群組配額
           repquota 統計檔案系統配額
        quotaon 啟動配額
           quotaoff 關閉配額




持續增加中...
































www.reliablecounter.com
digital mastering