Linux 目录和文件管理
一、Linux目录结构
| 目录 | 作用 |
|---|---|
| /root | 超级管理员的家目录 |
| /home/用户名 | 普通用户的家目录 |
| /bin | 命令文件目录,存放所有用户可以执行的目录 |
| /sbin | 管理员操作目录,存放只有管理员才可以使用的命令 |
| /boot | 存放系统内核、启动文件目录 |
| /dev | 存放设备文件(硬盘、光驱) |
| /etc | 存放系统程序和系统配置文件 |
| /var | 存放各种日志文件 |
| /lib | 存放系统程序的动态连接共享库文件 |
| /usr | 存放用户工具和程序 |
| /media | 可拆卸的媒介挂载点,例:U盘、光驱 |
| /proc | 存放映射系统信息的文件 |
| /mnt | 用于临时挂载存储设备的目录 |
| /opt | 第三方应用程序安装所存放的目录 |
| /tmp | 存放系统的临时文件 |
二、文件管理
1. cat 显示文件内容
全量查看文件内容
格式:
cat [选项] 需要查看文件内容的路径
选项含义:
| 选项 | 含义 |
|---|---|
| -n | 对所有行进行编号 |
| -b | 空白行不编号 |
| -s | 将所有连续的空行替换成一个空行 |
操作
① 查看/data/passwd文件内容

② 查看/data/passwd文件内容显示行号
[root@localhost data]# cat -n /data/passwd

③ 查看/data/passwd文件内容显示行号但空行不显示行号
[root@localhost data]# cat -nb /data/passwd

④ 查看/data/passwd文件内容显示行号但空行不显示行号且连续的空行只显示一行
[root@localhost data]# cat -nbs /data/passwd

2. more 显示文件内容
翻页查看文件内容
格式:
more [选项] 文件名
基本操作:
| 操作 | 作用 |
|---|---|
| 空格键 | 下一行,到文末自动退出 |
| b 键 | 上一行 |
| enter 键 | 一行一行滚动,到文末自动退出 |
| q 键 | 退出 |
3. less 显示文件内容
翻页查看文件内容
格式:
less [选项] 需要查看的文件路径
| 操作 | 作用 |
|---|---|
| /需要查找的字符 | 查找,n 键向下查找,N 键向上查找 |
| Page Up 键 | 向上翻页 |
| Page Down 键 | 向下翻译 |
| 其余 | 参考 more 和 cat |
实操:
less 查看 /data/passwd 文件内容,并查找出 root
[root@localhost data]# less -s /data/passwd
# 底行模式
/root


4. head 显示文件内容
head -n 具体数字 文件路径 (不加具体数字,默认为10)
查看文件前多少行
实操:
head 查看 /data/passwd 文件前三行
[root@localhost data]# head -n 3 /data/passwd

5. tail 显示文件内容
查看文件内容后多少行也可以动态查看文件内容的后多少行
格式:
tail [选项] 需要查看的文件路径
| 命令 | 作用 |
|---|---|
| tail -n 具体数字 文件路径 (不加具体数字,默认为10) | 查看文件内容的后多少行 |
| tail -f 具体数字 文件路径 (不加具体数字,默认为10) | 动态查看文件内容的后多少行(按CTRL + C 退出) |
实操:
动态查看 /var/log/messages 的后十行
打开两个连接窗口,第一个窗口观察,第二个窗口重启防火墙
# 第一个窗口
[root@localhost data]# tail -10f /var/log/messages
# 第二个窗口
[root@localhost ~]# systemctl restart firewalld.service
第二个窗口:

第一个窗口:

6. tr 转换
格式:
tr [选项] string
| 命令 | 作用 |
|---|---|
| tr -d string | 出现string就删除 |
| tr -s ‘ ’ | 压缩空格,1 2 3 ---> 1 2 3 |
| tr -c str1 str2 | 出现str1转换成str2 |
7. wc 统计文件内容
格式:
wc [选项] 文件路径
选项功能
| 选项 | 功能 |
|---|---|
| -l | 统计行数 |
| -w | 统计单词 |
| -c | 统计文件内容的字节数 |
实操:
① 查看 /data/passwd 文件有多少行
[root@localhost data]# wc -l /data//passwd

② 查看 /data/passwd 文件有多少单词
[root@localhost data]# wc -w /data/passwd

③ 查看 /data/passwd 文件有多少字节
[root@localhost data]# wc -c /data/passwd

8. grep 查找文件内容
格式:
grep [选项] [查找条件设置] 文件路径
选项作用:
| 选项 | 作用 |
|---|---|
| -i | 查找时不区分大小写(默认) |
| -v | 显示不匹配查找条件的所有行(反向查找) |
| -n | 显示行号 |
| -c | 只输出匹配到的总行数 |
| -e | 多个条件查找(相当于 or) |
| -E | 支持正则表达式(相当于使用egrep命令) |
实操:
① 显示 /data/passwd 文件内容中含有user的行并显示所在文件中的行号
[root@localhost data]# grep -n user /data/passwd

② 显示 /data/passwd 文件内容中含有user的总行数
[root@localhost data]# grep -c user /data/passwd

② 显示 /data/passwd 文件内容中不含有user的行并显示所在文件中的行号
[root@localhost data]# grep -vn user /data/passwd

③ 显示 /data/passwd 文件内容中含有user或者含有root的行并显示所在文件中的行号
[root@localhost data]# grep -ne user /data/passwd -e root /data/passwd

9. vim 文件文本编辑
格式:
vim 文件路径
命令模式下:
| 按键 | 作用 |
|---|---|
| a | 在光标之后插入内容 |
| i | 在光标之前插入内容 |
| o | 在光标下一行插入新行 |
| O | 在光标上一行插入新行 |
| A | 在光标所在行行尾插入内容 |
| I | 在光标所在行行首插入内容 |
| x | 删除光标上的字符 |
| dd | 删除光标所在行 |
| u | 撤销上一次操作 |
| gg | 光标跳至首行 |
| G | 光标跳至末行 |
| 数字gg 或 数字G | 光标跳至指定行 |
| yy | 复制 |
| 数字yy | 从光标当前行向下复制指定行 |
| p | 粘贴 |
| 输入字符 | 作用 |
|---|---|
| :w | 保存 |
| :q | 不保存退出 |
| :q! | 强制退出 |
| :wq! | 强制保存退出 |
| :set nu | 显示行号 |
| :/srting | 查找string |
| :e 其它文件路径 | 打开新的文件进行编辑 |
| :r 其它文件路径 | 在当前文件中读入其它文件内容 |
| : s /str1/str2 | 将当前行中第一个str1替换成str2 |
| : s /str1/str2/g | 将当前行中所有str1替换成str2 |
| :num1,num2 s/str1/str2/g | 将num1行到num2行所有的str1替换成str2 |
| :% s/str1/str2/g | 将所有的str1替换成str2 |
| :num1,num2 m num3 | 将num1到num2行剪切至第num3行 |
| :num1,num2 co num3 | 将num1到num2行复制至第num3行 |
10. tar 压缩和解压
格式:
tar [选项] 压缩文件名称 需要压缩的文件
tar [选项] 需要解压的文件 -C 指定解压到的目录
选项作用:
| 选项 | 作用 |
|---|---|
| -c | 创建 .tar格式的包文件 |
| -x | 解压 .tar格式的包文件 |
| -C | 解压至指定目录(绝对路径) |
| -f | 表示归档文件(必须要加) |
| -v | 输出详细信息 |
| -j | 调用bzip2程序进行压缩或解压 |
| -z | 调用gzip程序进行压缩和解压 |
bz2 和 gz 的区别:
bz2 比 gz 压缩出的包小,但时间慢
gz 比 bz2 压缩出的包大,但时间快
实操:
① 用 gzip程序 将 /data/file1 和 /data/file2 压缩为 test1.gz.tar 压缩包文件
[root@localhost data]# tar -zcvf test1.tar.gz file1 file2

② 用gzip程序解压 /data/test1.gz.tar 至 /data/dir1 目录下
[root@localhost data]# tar -zxvf test1.tar.gz -C /data/dir1

③ 用 bzip2程序 将 /data/file1 和 /data/file2 压缩为 test2.bz2.tar 压缩包文件
[root@localhost data]# tar -jcvf test2.tar.bz2 file1 file2

④ 用bzip2程序解压 /data/test2.bz2.tar 至 /data/dir2 目录下
[root@localhost data]# tar -jxvf test2.tar.bz2 -C /data/dir2

浙公网安备 33010602011771号