目录与文件管理
Linux 目录
在 Linux 系统中,目录可以理解为文件夹,所有文件均在根目录下,有且只有一个根目录
- 根目录简称为根
- 表现形式为/
Linux 目录结构
树型目录结构:最顶层:根目录
-
root:存放 root 用户
-
home:存放普通用户
-
区分用户身份:通过字符终端中的标识符号#:管理员用户,$:普通用户

常见子目录的作用
/root:系统管理员root的宿主目录
/home:普通用户的宿主目录
/boot:系统内核、启动文件,镜像文件,初始化配置等文件
/dev:设备文件
/etc:配置文件
/bin:所有用户可执行的命令
/sbin:管理员可执行的管理命令
/usr:应用程序
/var:日志文件等
/tmp:临时数据文件存放位置
/opt:业务数据,备份数据文件存放位置
/proc:Linux系统启动后,生成的伪目录,一般存放系统内存,cpu 等临时的实时数据
Linux 文件常用命令
cat-查看文件内容
显示出文件的内容
示例
cat [选项] 文件名 … # -n 显示行号
[root@localhost ~]# cat /etc/hosts [root@localhost ~]# cat /etc/sysconfig/network [root@localhost ~]# cat /etc/redhat-release /proc/version
more-查看文件内容
全屏方式分页显示文件内容
more [选项] 文件名 …
-
交互操作方法
-
- 按Enter键向下逐行滚动
- 按空格键向下翻一屏
- 按b键向上翻一屏
- 按q键退出
less-查看文件内容
与 more 命令相同,但扩展功能更多
less [选项] 文件名 …
交互操作方法
- Page Up 向上翻页,Page Down 向下翻页
- 按“/”键查找内容,“n”下一个内容,“N”上一个内容
- 其他功能与 more 命令基本类似
查看文件内容-head、tail命令
head命令—查看文件开头
用途:查看文件开头的一部分内容(默认为10行) -n显示行号
head 文件名 …
head -n 文件名 …
head -20 文件名 …
tail命令—查看文件开头
·用途:查看文件结尾的少部分内容(默认为10行) -f 追踪文件内容
tail 文件名 …
tail -n 文件名 …
tail -20 文件名 …
tail -f 文件名
systemctl restart network.service #重启网络服务
tailf /val/log/message #实时追踪Linux内核与公共日志信息
wc-统计文件内容
统计文件中的单词数量(Word Count)等信息
wc [选项]… 目标文件…
常用命令选项
- -l: 统计行数
- -w:统计单词个数
- -c: 统计字节数(文件大小)
grep-检索和过滤文件内容
在文件中查找并显示包含指定字符串的行
grep [选项]… 查找条件 目标文件
常用命令选项
- -i:查找时忽略大小写
- -n:显示行号
- -v:反向查找,输出与查找条件不相符的行
查找条件设置
- 要查找的字符串以“”双引号括起来
- ^XX表示以 XX 开头
- XX$表示以 XX 结尾
- ^$表示空行
gzip-压缩解压缩命令
制作压缩文件,解开压缩文件
gzip [-9] 文件名… # 制作压缩文件
gzip -d .gz格式的压缩文件 # 解开压缩文件
常用命令选项
-9:压缩比例
-d:解压缩
-c:压缩的时候保留源文件加上>例如:gzip -c aa >2.gz
bzip2-压缩解压缩命令
制作压缩文件,解开压缩文件
bzip2 [-9] 文件名… # 制作压缩文件
bzip2 -d .bz2格式的压缩文件 # 解开压缩文件
常用命令选项
-9:压缩比例
-d:解压缩
-c:压缩的时候保留源文件加上>例如:bzip2 -c aa >2.bz2
gunzip-解压缩命令
gunzip 等价于 gzip -d
gunzip mkfile.gz
gzip -d mkfile.gz
bunzip2-解压缩命令
bunzip2 等价于 bzip2 -d
bunzip2 mkfile.bz2
bzip2 -d mkfile.bz2
tar命令-归档命令
制作归档文件、释放归档文件45
tar [选项] … 归档目标文件名 源文件或目录(相对路径) tar [选项] … 归档源文件名 [-C 目标目录] tar -zcvf /kgc/etc.tar.gz /etc #制作压缩文件 tar -zxvf /kgc/etc.tar.gz -C /kgc2/ #解压压缩文件,到 -C 指定位置 tar -jcvf /kgc/etc.tar.bz2 /etc #制作压缩文件 tar -jxvf /kgc/etc.tar.bz2 -C /kgc2/ #解压压缩文件,到 -C 指定位置
常用命令选项
-c: 创建 .tar 格式的包文件
-f:使用归档文件
-z:调用gzip程序解压或压缩
-j:调用bzip2程序解压或压缩
-v:输出详细信息
-x:释放.tar格式的包文件
-C:指定解压路径
-t:列出存档中文件的目录
-p:展开所有保护信息
zcvf 创建 .tar.gz 的压缩文件;zxvf 解压 .tar.gz 压缩文件
jcvf 创建 .tar.bz2 的压缩文件;jxvf 解压 .tar.bz2 压缩文件
ptvf 在不展开压缩文件情况下,查看压缩文件信息
Linux Vim
文本编辑器
文本编辑器的作用
- 创建或修改文本文件
- 维护Linux系统中的各种配置文件
Linux中最常用的文本编辑器
- vi:类UNIX操作系统的默认文本编辑器
- vim:vim是vi文本编辑器(一般简称为vi编辑器)的增强版本
三种工作模式:
- 命令模式
- 输入模式
- 末行模式
[root@localhost ~]# vi 文件名
命令行模式的基本操作:
光标移动:
| 操作类型 | 操作键 | 功能 |
|---|---|---|
| 方向移动 | “↑”“↓”“←”“→” | 上、下、左、右 |
| 翻页 | Page Down 或 Ctrl+F | 向下翻动一整页内容 |
| 翻页 | Page Up 或 Ctrl+B | 向上翻动一整页内容 |
| 行内快速跳转 | Home键 或“^”数字“0” | 跳转至本行的行首 |
| 行内快速跳转 | End键 或 “$”键 | 跳转到本行的行尾 |
| 行间快速跳转 | 1G或gg | 跳转到文件的首行 |
| G | 跳转到文件的末尾行 | |
| #G | 跳转到文件中的第#行 |
文件内容查找:
| 操作键 | 功能 |
|---|---|
| /word | 从上而下在文件中查找字符串“word" |
| ?word | 从下而上在文件中查找字符串"word" |
| n | 定位下一个匹配的字符串 |
| N | 定位上一个匹配的被查找字符串 |
复制、粘贴、删除:
| 操作类型 | 操作键 | 功能 |
|---|---|---|
| 删除 | x或Del | 删除光标处的单个字符 |
| dd | 删除当前光标所在行内容 | |
| #dd | 删除从光标所在行开始的#行内容 | |
| d^ | 删除当前光标之前到行首的所有字符 | |
| d$ | 删除当前光标处到行尾的所有字符 | |
| 复制 | yy | 复制当前行整行的内容到剪贴板 |
| #yy | 复制从光标所在行开始的#行内容 | |
| 粘贴 | p | 将内容粘贴到光标位置下方 |
| P | 将内容粘贴到光标位置上方 |
dG #删除光标哦所在行到结尾的所有行内容
撤销编辑及保存退出:
| 操作键 | 功能 |
|---|---|
| u | 按一次取消最近的一次操作;重复u键,恢复多次操作 |
| U | 用于取消对当前行所做的所有编辑 |
| ZZ | 保存当前的文件内容并退出vi编辑器 |
输入模式:
保存文件及退出编辑器
| 功能 | 命令 | 备注 |
|---|---|---|
| 保存文件 | :w | 保存修改的内容 |
| :w /root/newfile | 另存为其它文件 | |
| 退出vi | :q | 未修改退出 |
| :q! | 放弃对文件内容的修改,并退出vi | |
| 保存文件退出 vi | :wq 或 :x | 保存修改的内容并退出 |
| 强制保存退出 | :wq! | 文件被修改或编辑,强制保存退出(仅管理员可用) |
注意:
:wq 强制性写入文件并退出。 即使文件没有被修改也强制写入,并更新文件的修改时间
:x 写入文件并退出。 仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间
打开新文件或读入其他文件内容
| 命令 | 功能 |
|---|---|
| :e ~/install.log | 打开新的文件进行编辑 |
| :r /etc/filesystems | 在当前文件中读入其他文件内容 |
末行模式的基本操作:
| 操作类型 | 命令 | 功能 |
|---|---|---|
| 行号显示 | :set nu | 在编辑器中显示行号 |
| :set nonu | 取消编辑器中的行号显示 | |
| 搜索高亮 | :noh | 取消搜索高亮 |
文件内容替换:
| 命令 | 功能 |
|---|---|
| /old/new | 将当前行中查找到的第一个字符“old” 串替换为“new” |
| /old/new/g | 将当前行中查找到的所有字符串“old” 替换为“new” |
| :#,# s/old/new/g | 在行号“#,#”范围内替换所有的字符串“old”为“new” |
| :% s/old/new/g | 在整个文件范围内替换所有的字符串“old”为“new” |
| /old/new/c | 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 |
| ------------------ | |
| /old/new | 将当前行中查找到的第一个字符“old” 串替换为“new” |
| /old/new/g | 将当前行中查找到的所有字符串“old” 替换为“new” |
| :#,# s/old/new/g | 在行号“#,#”范围内替换所有的字符串“old”为“new” |
| :% s/old/new/g | 在整个文件范围内替换所有的字符串“old”为“new” |
| /old/new/c | 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 |
| #s /ald/new/g | 指定具体某一行,替换字符“ald”为“new” |
1531

被折叠的 条评论
为什么被折叠?



