0x01. Linux磁盤分區與目錄結構
① 主分區、拓展分區、邏輯分區:早期主引導扇區MBR用64B存放主分區信息,每個分區用16B,因而上限為4個主分區,后來,因分區需求,引入拓展分區(類主分區),對拓展分區進行分區,即為邏輯分區,不受MBR限制,上限約12個邏輯分區。
② 一切皆文件,硬盤文件命名:按硬盤數,IDE硬盤hdx,SATA硬盤sdx,x[a,b,c,...];主分區或拓展分區編號1-4,邏輯分區編號則從5開始,第二個硬盤的第三主分區sdb3,第一個邏輯分區sdb5;磁盤硬件文件掛載mount /dev/sdb5 /lg5,訪問lg5即訪問sdb5分區
③ 文件系統類型:主要是EXT4,SWAP用於交換分區。
④ 系統目錄結構:根 /
/boot:存放系統啟動必須文件
/etc:存放系統和程序的配置文件
/dev:存放硬盤、光驅、鼠標等硬件設備文件
/bin:存放系統普通用戶常用基本命令文件
/usr:軟件安裝默認目錄位置
/home:存放各系統用戶的家目錄
0x02. Linux文件和目錄操作命令
① ls 列表顯示目錄內容 通配符?單字符 含其一或段[a,b,c-d] *任意
ls -l長格式顯示文件或目錄信息
ls -a顯示所有包括隱藏的文件或目錄
ls -h以K、M、G單位顯示文件或目錄信息
ls -d顯示目錄本身屬性信息
② mkdir 創建目錄
mkdir -p /a/b 創建嵌套的目錄
③ rmdir 刪除空目錄
④ rm 刪除目錄或文件
rm -f 強制刪除目錄或文件
rm -r 遞歸刪除目錄或文件
⑤ touch 新建文件或修改時間
touch -a修改訪問時間
touch -m更改修改時間
touch --d=”時間” 設定訪問與修改時間
⑥ cp 復制文件或目錄
cp -r 源 目 遞歸復制文件或目錄
⑦ mv 移動或重命名文件或目錄
⑧ cat 查看文件內容
⑨ more逐后查看加載 less 左右翻頁 q退出
⑩ wc 文件內容統計
wc -l統計行數
wc -w統計單詞數
wc -c統計字節
11 find 在目錄中查找文件或目錄
find 范圍 -name 目標條件 按名稱查找
find 范圍 -type 目標條件 按類型查找 f文件 d目錄 b塊設備 c字符設備
find 范圍 -user jimmy 按所屬者查找
find 范圍 -size +10K 按大小查找 +大於 -小於
12 grep 在內容中查找含某字符串的行
grep 某字符串(可正則式) /etc/passwd
13 man 命令名 查看命令幫助手冊
14 > 覆蓋式輸出重定向符 >>追加式輸出重定向符
15 | 管道符
16 Vi 編輯器
命令模式:vi默認進入,Esc即可進入
| 光標 |
← ↑ → ↓ |
上下左右 |
| 翻頁 |
Page Down 或Ctrl+F |
下翻一頁 |
| Page Up 或Ctrl+B |
上翻一頁 |
|
|
光標行內跳轉 |
Home或^ 或0 |
跳至行首 |
| End 或$ |
跳至行尾 |
|
| #→ |
右跳#個字符 |
|
| #← |
左跳#個字符 |
|
|
光標行間跳轉 |
1G 或 gg |
跳至首行 |
| G |
跳至尾行 |
|
| #G |
跳至第#行 |
|
| 顯示行數 |
:set nu |
|
| 不顯示行數 |
:set nonu |
|
|
刪除 |
x或del |
刪除光標處的單個字符 |
| dd |
刪除當前行 |
|
| #dd |
刪除當前行開始的#行 |
|
| d^ |
刪除當前行首至光標的字符 |
|
| d$ |
刪除當前行尾至光標的字符 |
|
| 復制 |
yy |
復制當前行 |
| #yy |
復制當前行開始的#行 |
|
| 粘貼 |
p |
粘貼至光標的右側 |
| P |
粘貼至光標的左側 |
|
| 查找 |
/word |
向下查找字符串word |
| 查找 |
?word |
向上查找字符串word |
| 定位 |
n |
光標定位至下一個匹配字符 |
| N |
光標定位至上一個匹配字符 |
|
| 撤銷 |
u |
單次撤銷 多次恢復 |
| U |
撤銷所有編輯 |
插入模式:命令模式下,i 、a、o、 Insert即可進入
末行模式:shit+: 即可進入
| 保存 |
:w |
保存文件 |
|
| :w /filename |
另存文件為fielname |
||
| 退出vi |
:q |
未修改時退出 |
|
| :q! |
不保存且強制退出 |
||
| 保存並退出vi |
:wq |
保存修改並退出 |
|
|
內容替換 |
:s /old/new |
把當前行的第一個old替換為new |
|
| :s /old/new/g |
把當前行的所有old替換為new |
||
| :#,# s /old/new/g |
#,#行間的所有old替換為new |
||
| :% s /old/new/g |
當前文件所有old替換為new |
||
| :s /old/new/c |
old替換為new時提示確認替換 |
||
