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时提示确认替换 |