各類接口的磁盤在Linux中的文件名:
/dev/sd[a-p][1-15]:SCSI, SATA, U盤, Flash閃盤等接口的磁盤文件名
/dev/hd[a-d][1-63]:IDE 接口的磁盤文件名node
磁盤分區完畢後需format,以後OS才能使用這個分割槽, 格式化是由於每種OS所配置的文件屬性/權限不一樣,爲存放這些文件所需的數據,需將分割槽格式化,以成爲OS能用的FS.如,windows 98 之前的微軟OS主要用 FAT/FAT16,windows 2000 後NTFS,Linux 的正統FS爲 Ext2 (Linux second extended file system, ext2fs).此外,默認狀況下,windows OS不認識Ext2
linux
FS一般會將數據存放在不一樣區塊,權限與屬性放置到 inode,實際數據放置到data block.另外,還有一個superblock記錄整個FS的總體信息,包括 inode 與 block 的總量、使用量、剩餘量等
superblock:記錄此FS的總體信息,包括inode/block的總量、使用量、剩餘量,及FS的格式與相關信息等
inode:記錄文件的屬性,一個文件佔用一個inode,同時記錄此文件的數據所在的 block 號碼
block:實際記錄文件的內容,若文件太大,佔用多個 block
閃盤使用的FS通常爲 FAT.FAT沒有 inode,因此 FAT 無法將文件的全部 block 在一開始就讀取出來.每一個 block 號都記錄在前一個 block 中
須要碎片整理的緣由是文件寫入的block 過於離散,此時文件讀取的效能不好, 這時透過碎片整理將同一個文件所屬的 blocks 彙整,這樣數據的讀取會比較容易.(Ext2 是索引式FS,基本上不需碎片整理)
Ext2所支持的 block 大小有 1K, 2K 及 4K 三種
vim
Block 大小 | 1KB | 2KB | 4KB |
最大單一文件限制 | 16GB | 256GB | 2TB |
最大FS總容量 | 2TB | 8TB | 16TB |
Ext2的 block的基本限制:
原則上,block 的大小與數量在格式化完就不能再改變(除非從新格式化)
每一個 block 內最多隻能放置一個文件的數據
若是文件>block 的大小,則一個文件會佔用多個 block
若文件<block ,則該 block 的剩餘容量不能再被使用(磁盤空間浪費)windows
About GZIP file, referring RFC 1952 : GZIP File Format Specification
GZIP in linux:spa
*.Z compress 程序壓縮的文件(已不流行) *.gz gzip 程序壓縮的文件; *.bz2 bzip2 程序壓縮的文件; *.tar tar 程序打包的數據,並無壓縮過; *.tar.gz tar 程序打包的文件,其中而且通過 gzip 的壓縮 *.tar.bz2 tar 程序打包的文件,其中而且通過 bzip2 的壓縮
vi三種模式關係:
code
通常模式:orm
移動光標的方法索引
h 或← | 光標向左移動一個字符 |
j 或 ↓ | 光標向下移動一個字符(向下移 30 行,可 "30j" 或 "30↓") |
k 或↑ | 光標向上移動一個字符 |
l 或 → | 光標向右移動一個字符 |
Ctrl + f | 屏幕『向下』移動一頁,至關於 [Page Down]按鍵 (經常使用) |
Ctrl + b | 屏幕『向上』移動一頁,至關於 [Page Up] 按鍵 (經常使用) |
Ctrl+d | 屏幕『向下』移動半頁 |
Ctrl+u | 屏幕『向上』移動半頁 |
+ | 光標移動到非空格符的下一列 |
- | 光標移動到非空格符的上一列 |
n<space> | 那個 n 表示『數字』,例如 20 。按下數字後再按空格鍵,光標會向右移動這一行的 n 個字符。例如 20<space> 則光標會向後面移動 20 個字符距離 |
0 或Home | 移動到這一行的最前面字符處 (經常使用) |
$ 或End | 移動到這一行的最後面字符處(經常使用) |
H | 光標移動到這個屏幕的最上方那一行的第一個字符 |
M | 光標移動到這個屏幕的中央那一行的第一個字符 |
L | 光標移動到這個屏幕的最下方那一行的第一個字符 |
G | 移動到這個檔案的最後一行(經常使用) |
nG | n 爲數字。移動到這個檔案的第 n 行。例如 20G 則會移動到這個檔案的第 20 行(可配合 :set nu) |
gg | 移動到這個檔案的第一行,至關於 1G (經常使用) |
n<Enter> | n 爲數字。光標向下移動 n 行(經常使用) |
搜尋與取代接口
/word | 向光標之下尋找一個名爲 word 的字符串.例如要搜尋 vbird 這個字符串,就輸入 /vbird (經常使用) |
?word | 向光標之上尋找一個字符串名稱爲 word 的字符串。 |
n | 這個 n 是英文按鍵。表明『重複前一個搜尋的動做』。舉例來講, 若是剛剛咱們執行 /vbird 去向下搜尋 vbird 這個字符串,則按下 n 後,會向下繼續搜尋下一個名稱爲 vbird 的字符串。若是是執行 ?vbird 的話,那麼按下 n 則會向上繼續搜尋名稱爲 vbird 的字符串 |
N | 這個 N 是英文按鍵。與 n 恰好相反,爲『反向』進行前一個搜尋動做。 例如 /vbird 後,按下 N 則表示『向上』搜尋 vbird 。 |
:n1,n2s/word1/word2/g | n1 與 n2 爲數字。在第 n1 與 n2 行之間尋找 word1 這個字符串,並將該字符串取代爲 word2 !舉例來講,在 100 到 200 行之間搜尋 vbird 並取代爲 VBIRD 則: 『:100,200s/vbird/VBIRD/g』。(經常使用) |
:1,$s/word1/word2/g | 從第一行到最後一行尋找 word1 字符串,並將該字符串取代爲 word2 (經常使用) |
:1,$s/word1/word2/gc | 從第一行到最後一行尋找 word1 字符串,並將該字符串取代爲 word2 !且在取代前顯示提示字符給用戶確認 (confirm) 是否須要取代!(經常使用) |
刪除、複製與貼上ip
x, X | 在一行字當中,x 爲向後刪除一個字符 (至關於 [del] 按鍵), X 爲向前刪除一個字符(至關於 [backspace] 亦便是退格鍵) (經常使用) |
nx | n 爲數字,連續向後刪除 n 個字符 |
dd | 刪除遊標所在的那一整列(經常使用) |
ndd | n 爲數字。刪除光標所在的向下 n 列,例如 20dd 則是刪除 20 列 (經常使用) |
d1G | 刪除光標所在到第一行的全部數據 |
dG | 刪除光標所在到最後一行的全部數據 |
d$ | 刪除遊標所在處,到該行的最後一個字符 |
d0 | 那個是數字的 0 ,刪除遊標所在處,到該行的最前面一個字符 |
yy | 複製遊標所在的那一行(經常使用) |
nyy | n 爲數字。複製光標所在的向下 n 列,例如 20yy 則是複製 20 列(經常使用) |
y1G | 複製遊標所在列到第一列的全部數據 |
yG | 複製遊標所在列到最後一列的全部數據 |
y0 | 複製光標所在的那個字符到該行行首的全部數據 |
y$ | 複製光標所在的那個字符到該行行尾的全部數據 |
p, P | p 將已複製的數據在光標下一行貼上,P貼在遊標上一行.舉例,光標在第 20 行,且已複製了 10 行數據,則按p 後,那 10 行數據會貼在本來的 20 行以後,亦即由 21 行開始.但若是按下 P , 那麼本來的第 20 行會被推到變成 30 行 (經常使用) |
J | 將光標所在列與下一列的數據結合成同一列 |
c | 重複刪除多個數據,例如向下刪除 10 行,[ 10cj ] |
u | 復原前個動做(經常使用) |
Ctrl+r | 重作上個動做(經常使用) |
. | 重複上個動做 (經常使用) |
通常模式-->編輯模式:
進入插入或取代的編輯模式
i, I | 進入Insert mode: i 『從光標處插入』, I 『在所在行第一個非空格符處插入』 (經常使用) |
a, A | 進入Insert mode: a 『從光標所在的下個字符處開始插入』, A 『從光標所在行的最後一個字符處開始插入』(經常使用) |
o, O | 進入Insert mode: o 『在光標所在的下一行處插入新的一行』,O在光標所在處的上一行插入新的一行(經常使用) |
r, R | 進入取代模式(Replace mode): r 只會取代光標所在的那個字符一次;R會一直取代光標所在的文字,直到按下 ESC(經常使用) |
Esc | 退出編輯模式,回到通常模式(經常使用) |
通常模式-->命令模式:
指令列的儲存、離開等指令
:w | 將編輯的數據寫入硬盤檔案(經常使用) |
:w! | 若文件屬性爲『只讀』,強制寫入。但到底可否寫入, 仍是跟你對該檔案的檔案權限有關 |
:q | 離開 vi (經常使用) |
:q! | 若曾修改過檔案,又不想儲存,使用 ! 爲強制離開不儲存檔案 |
:wq | 儲存後離開,若爲 :wq! 則爲強制儲存後離開 (經常使用) |
ZZ | 若檔案沒有更動,則不儲存離開,若檔案已經被更動過,則儲存後離開 |
:w [filename] | 將編輯的數據儲存成另外一個檔案(相似另存新檔) |
:r [filename] | 在編輯的數據中,讀入另外一個檔案的數.即將 『filename』 檔案內容加到遊標所在行後面 |
:n1,n2 w [filename] | 將 n1 到 n2 的內容儲存成 filename 這個檔案 |
:! command | 暫時離開 vi 到指令列模式下執行 command 的顯示結果.例如 『:! ls /home』便可在 vi 當中察看 /home 底下以 ls 輸出的檔案信息 |
vim 環境的變動
:set nu | 顯示行號 | :set nonu | 取消行號 |
:set ai! | 自動縮進 | :set tabstop=4 | 設置tab鍵爲4個空格 |