版權所有,
引用請註明出處
認識 Linux
1.0 話說UNIX/Linux~皇圖霸業談笑間
UNIX
GNU
Linux
1.1 學習Linux的態度~一沙一世界的恆河沙
1.2 Linux已飛入尋常百姓家
1.3 認識 Linux 發行版
安裝 Linux/選擇適當的學習機
空機安裝 Linux
虛擬機(Virtual Machine)安裝 Linux
利用硬碟抽取盒
^ back on top ^
了解 Linux 文字界面
1.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> 清除游標之上的螢幕
1.1 登出
logout 登出
exit 退出目前的 shell
su 暫時變更使用者
1.2 關機
poweroff 關機
halt 關機
reboot 重開機
shutdown 關機
sync 同步緩衝記憶體和硬碟
runlevel 查詢運行級別
init 執行運行級別
1.3 清除螢幕
clear 清除螢幕
reset 重置螢幕
1.4 輔助說明文件
man 指令考手冊
info 指令考手冊
--help 指令自帶說明
^ back on top ^
檔案/目錄與路徑
1.0 Linux 的目錄與路徑
目錄操作
pwd 顯示工作目錄
tree 顯示目錄樹
cd 切換目錄
絕對路徑
相對路徑
mkdir 建立目錄
/tmp 目錄
rmdir 移除目錄
1.1 檔案相關指令
檔案查閱
file 辨識檔案類型
ls 列出檔案
檔案類型
Linux 的時間戳記
atime
ctime
mtime
alias 指令別名
stat 顯示檔案屬性
1.2 查閱檔案
cat 檔案讀取
head 讀取檔案開頭
tail 讀取檔案結尾
tac 反向讀取
od 八進制輸出
換行(newline)
unix2dos UNIX 轉 DOS 格式
dos2unix DOS 轉 UNIX 格式
echo 顯示文字
more 可往下翻頁閱讀器
less 可上下翻頁閱讀器
^ back on top ^
檔案操作
檔案基本操作
連結檔
符號連結
硬連結
ln 建立檔案連結
cp 檔案複製
rm 檔案刪除
mv 檔案搬移
〝\〞 跳脫字元
^ back on top ^
管線/重定向
1.0 管線與重定向
管線(pipeline)
重定向(redirection)
〝1>〞或〝>〞:標準輸出重定向
〝1>>〞或〝>>〞:標準輸出累加重定向
〝2>〞:錯誤輸出重定向
/dev/null 無底洞
〝2>>〞:錯誤輸出累加重定向
〝0<〞或〝<〞:標準輸入重定向
〝-〞:標準輸入
〝2>&1〞或〝&>〞:stderr 重定向 stdout
〝1>&2〞:stdout 重定向 stderr
〝<< 字串〞:結束輸入
tee T型管線
1.1 指令傳回值與指令執行流程
〝&&〞傳回值為 0 執行
〝||〞傳回值為 ≠0 執行
^ back on top ^
萬用字元
1.0 萬用字元
〝?〞:任意的單一字元
〝*〞:0 到 ∞ 個任一長度的字串
〝{PATTERN 1,PATTEN 2,..,PAATER n}〞:擴展
〝[ ]〞:字元集,指定要匹配的字元集合
〝[ - ]〞:指定要匹配的字元範圍
〝[^ ]或[! ]〞:反篩選
POSIX Character(POSIX 字集)
1.1 rename 大量檔案更名
^ back on top ^
檔案擁有者和權限
1.0 檔案擁有者和權限
擁有者(ownership)
權限 (permissions)
目錄的權限
特殊權限
Sticky Bit
SGID (Set Group ID bit)
SUID (Set User ID Bit)
chmod 變更檔案的權限
數字表示法
符號表示法
連結檔的權限
umask 改變預設檔案權限
1.1 檔案屬性
chattr 變更檔案屬性
lsattr 顯示檔案屬性
^ back on top ^
VI 魔鬼的編輯器
1.0 認識 vi
vi 基本操作
vi 的操作模式
1.1 一般模式
方向鍵
快速移動游標
書籤
捲軸移動
取代一個字元
刪除
連接
排縮
搜尋
複製/貼上
愎原
重複上一個動作
存檔後離開 vi
1.2 插入模式
1.3 命令模式
簡介 ex 行編輯器
行編輯
刪除、複製和搬移
存檔、離開
搜尋
取代
執行 Shell 指令
刪除書籤
1.4 多檔編輯
載入檔案
切換編輯檔案
1.5 區塊編輯
1.6 分割視窗
1.7 環境設定
1.8 輸入控制字元和任意字元
^ back on top ^
檔案壓縮
1.0 介紹壓縮檔
1.1 常見的壓縮檔
gz 檔
gzip 壓縮/解壓縮 gz 檔
gunzip 解壓縮 gz 檔
zcat 讀取 gz 壓縮檔
bz2 檔
bzip2 壓縮/解壓縮 bz2 檔
bunzip2 解壓縮 bz2 檔
bzcat 讀取 bz2 壓縮檔
bzip2recover 修復 bz2 壓縮檔
xz 檔
xz 壓縮/解壓縮 xz 檔
unxz 解壓縮 xz 檔
xzcat 讀取 xz 壓縮檔
Z 檔
compress 壓縮/解壓縮 Z 檔
uncompress 解壓縮 Z 檔
zip 檔
zip 壓縮檔案成 zip 檔
unzip 解壓縮 zip 檔
zipinfo 列出 zip 檔資訊
1.2 檔案打包
tar 檔
tarball 壓縮的 tar 檔
tar 打包/還原 tar 檔
tar 炸彈
^ back on top ^
檔案搜尋
檔案搜尋
type 顯示指令類型
which 尋找執行檔
whereis 預設路徑尋找檔案
locate 硬碟索引搜尋
updatedb 更新硬碟索引資料庫
find 終極檔案搜尋
^ back on top ^
正規表示法 Regular Expressions
1.0 正規表示法簡介
1.1 基礎正規表示法(RE/BRE)
Bracket Expressions(POSIX 中括號表示法)
POSIX Characters(POSIX 字集)
.:匹配任何單一字元
*:匹配前字元從零到無限重複
^:匹配起始位置的字串
$:匹配結束位置的字串
&:記憶匹配到的字串
{a,b}:匹配限定重複前字元
( ):集合匹配前字串
< >: 匹配單字
( )\1: 向後參考記憶匹配
|:或匹配
1.2 延伸正規表示法 (ERE)
|:或匹配
+:匹配前面一個到無限重複字元
?:匹配前面零到一個重複字元
^ back on top ^
過濾程式
過濾器簡介
grep 檔案中尋找字串
egrep
frgep
cut 擷取欄位
col 過濾控制字元
tr 字元轉換
sort 排序
uniq 刪除相鄰重複的行
^ back on top ^
sed
1.0 sed 簡介
1.1 sed 檔案字串修改
sed 基本用法
sed 進階用法
delimiter 分隔符號
ADDRESS 位址範圍
OPTION 選項
FLAG 旗幟
流程控制
COMMAND 命令
^ back on top ^
awk
awk 文字記錄的資料處理
awk 基本用法
awk 程式模式
自定變數
內建變數
BEGIN 和 END
輸出函數 print 和 printf ( )
關聯矩陣(Associative Arrays)
system 執行系統指令
close 關閉檔案/管線
getline 讀入資料
數學函數
字串函數
自定函數
^ back on top ^
Process (進程)
1.0 process & jobs 簡介
1.1 job
job_control
前景程式
終止程式<CTRL+C>
暫停程式 <CTRL+Z>
背景執行程式 &
jobs 顯示背景程式
管理 jobs
bg 暫停轉背景
fg 背景轉前景
kill 殺死 prosess
killall 抄家滅族
1.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(守護進程)
1.3 process 監控
ps 顯示進程狀況
top 進程和校能監控
nice 調整進程優先權
renice
1.4 named pipe(具名管線)
mkfifo
1.5 process substitution
^ back on top ^
硬碟操作
1.0 Linux 下的硬碟和檔案系統目錄結構
Linux filesystem 檔案系統
ext2 檔案系統
ext3/ext4 檔案系統
Unix 目錄結構
Linux 下的硬碟和設備檔案
1.1 顯示硬碟資訊
df 顯示硬碟使用量
du 顯示目錄使用量
blkid 顯示硬碟資訊
1.2 硬碟分割(Disk partitioning)
傳統 MBR 的硬碟分割
primary partition
extended partition
logical partition
fdisk 分割硬碟
新型 GPT 磁碟分割
parted 分割硬碟
partprobe 重讀分割區
1.3 格式化檔案系統
mkfs 格式化 filesystem
tune2fs 調整 ext 檔案系統
e2label 設定 filesystem 標籤
fsck 檢查和嘗試修復檔案系統
1.4 mount 掛載 filesystem
mount 基本用法
/etc/mtab 掛載情形
標籤掛載
UUID/PARTUUID 掛載
掛載 USB 隨身碟/軟碟
掛載 CD-ROM
etc/fstab 設定開機自動掛載
umount 卸載
掛載虛擬裝置
^ back on top ^
先進格式化硬碟
1.0 先進格式化硬碟
512e 模擬傳統格式硬碟
4Kn 原生 4K 磁區硬碟
先進格式化硬碟的 partition 對齊
識別先進格式化硬碟
1.1 分割先進格式化硬碟
parted 自動對齊分割
手動 parted 對齊分割
用 Windows 分割 partition
^ back on top ^
File descriptor
1.0 簡介 file descriptor (檔案描述符)
fd 與重定向
目錄〝/proc/<PID>/fd〞與 fd
1.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 並讀寫
X>&- 或 X<&- :關閉 fd X
1.2誰偷走了 stdin ?
^ back on top ^
File descriptor
1.0 簡介 file descriptor (檔案描述符)
fd 與重定向
目錄〝/proc/<PID>/fd〞與 fd
1.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 並讀寫
X>&- 或 X<&- :關閉 fd X
1.2誰偷走了 stdin ?
^ back on top ^
帳號管理
1.0 帳號管理
了解帳號相關設定檔
/etc/passwd
/etc/shadow
passwd 變更密碼
useradd 新增帳號
useradel 刪除帳號
vipw 修改 /etc/passwd
usermod 修改帳號
1.1 個人帳號修改
chfn 修改 finger 指令顯示資訊
chsh 修改登入 Shell
finger 查詢帳號
1.2 其他帳號相關指令
id 顯示帳號 ID
who/w 顯示登入者資訊
lastlog 帳號登錄查詢
^ back on top ^
群組管理
1.0 群組管理
/etc/group
/etc/gshadow
groupadd 新增群組
vigr 修改 /etc/group
groups 列出群組
newgrp 切換群組
gpasswd 設群組密碼和成員
groupmod 修改群組
groupdel 刪除群組
1.1 群組協同工-作
chgrp 變更檔案所屬群組
chown 變更檔案擁有者
^ back on top ^
sudo
1.0 sudo 越俎代庖
visudo 修改 /etc/sudoers
/etc/sudoers 設定檔
Alias 別名設定
TAG 標籤設定
sudo 使用範例
^ back on top ^
虛擬儲存裝置
1.0 虛擬儲存裝置~色不異空,空不異色
dd 實體轉虛擬
losetup 虛擬轉實體
kpartx 映射映像檔 partition 到 loop-device
1.1 swap 輔助記憶體
swap-partition
swapon 啟用 swap
swapoff 禁能 swap
swap-file
mkswap 格式化 swap
swappiness 使用 swap 的積極度
^ back on top ^
容量配額
1.0 檔案容量配額
quotacheck 建立配額資料庫
edquota 編輯配額
quota 顯示帳號/群組配額
repquota 統計檔案系統配額
quotaon 啟動配額
quotaoff 關閉配額
^ back on top ^
LVM 邏輯卷冊
1.0 LVM 邏輯卷冊
LVM 原理
pvcreate 建立 PV
vgcreate 建立 VG
lvcreate 建立 LV
Linear Volume 線性模式
Stripe Volume 交織模式
Mirror Volume 鏡像模式
Snapshot Volume 快照模式
LVM 遷移/備份
^ back on top ^
RAID 容錯式磁碟陣列
1.0 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)
1.1 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
^ back on top ^
/usr 目錄的前世今生
1.0 /usr 名稱的由來
1.1 unix 目錄結構的發展
^ back on top ^