各类接口的磁盘在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个空格 |