linux learn - 2

各類接口的磁盤在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, 2K4K 三種
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

vi三種模式的相互關係
通常模式: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個空格
相關文章
相關標籤/搜索