Linux 目录和文件管理
查看文件内容(cat、more、less、head、tail)统计和检索文件内容(wc、grep)备份恢复文档(gzip/gunzip、bzip2/bunzip2、tar)vi文本编辑器工作模式与不同工作模式之间的切换vi文本编辑器命令模式与末行模式的基本操作。
1. Linux基础命令:find
查找文件或目录find:采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找。
1,1 -name 按名称查找
find /etc -name "resol*.conf"
find /data/ -name "*.txt" #查找/data/目录以.txt结尾的文件;
find /data/ -name "[A-Z]*" #查找/data/目录以大写字母开头的文件;
find /data/ -name "test*" #查找/data/目录以test开头的文件;

1.2 -size 按大小查找
find /data/ -size +1M #查文件大小大于1Mb的文件;
find /data/ -size 4M #查文件大小为10M的文件;
find /data/ -size -1M #查文件大小小于1Mb的文件;

1.3-type 按类型查找
普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)、链接(l)
find /boot -type d
find /data/ -type d #查找/data/目录下的文件夹;
find /data/ ! -type d #查找/data/目录下的非文件夹;
find /data/ -type l #查找/data/目录下的链接文件。

1.4 -user 按文件属主
find /home -user 用户名
find /home -user 用户名 -group 组名
1.5 多条件查找
-a:并且

-o:或者

2. Linux目录和文件管理
2.1 Linux目录结构
Linux 操作系统中的目录和文件数据被组织为一个树形目录结构。——根目录。Linux 操作系统中只有一个根目录,而 Windows 操作系统中每个分区都有一个根目录
2.1.1 根目录
- 所有的分区、目录、文件等的位置起点
- 整个树形目录结构中,使用独立的一个“/”表示
2.1.2 常见的子目录及作用
- /root:系统管理员root的宿主目录
- /home:普通用户的宿主目录
- /boot:系统内核、启动文件
- /dev:设备文件
- /etc:配置文件
- /bin:所有用户可执行的命令
- /sbin:管理员可执行的管理命令
- /usr:应用程序
- /var:日志文件等
2.2 查看及检索文件
在 Linux 操作系统中,绝大多数的配置文件是以普通文本格式保存的,这些配置文件决定着系统及相关服务、程序的运行特性。
2.2.1 查看文件内容
1. cat:显示并连接(Concatenate)文件的内容
cat 命令本来用于连接(Concatenate)多个文件的内容,但在实际使用中更多地用于查看文件内容。cat 命令是应用最为广泛的文件内容查看命令。使用该命令时,只需要把 要 查 看 的 文 件 路 径 作 为 参 数 即 可 。

2. more 和 less :分页查看文件内容
- 全屏方式分页显示文件内容
- 交互操作方法
more:可以按 Enter 键向下逐行滚动查看,按 Space 键可以向下翻一屏,按 b 键向上翻一屏,按 q 键退出并返回原来的命令环境。
less:可向上下翻页,其余功能与more命令类似。
3.head 和 tail 命令——查看文件开头或末尾的部分内容
head 和 tail 是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用“-n”选项(n 为具体的行数)指定需要显示多少行的内容,若不指定行数,默认只显示十行。
执行“head -4 /etc/passwd”命令,可以查看用户账号文件/etc/passwd 开头第一行至第四行的内容。

2.2.2 统计和检索文件内容
在维护 Linux 操作系统的过程中,除了查看文件内容以外,有时还需要对文件内容进行统计,或者查找符合条件的文本内容。
1. wc :统计文件内容中的单词数量(Word Count)、行数等信息
wc 命令用于统计文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以同时统计多个文件。较常用的选项如下所述。
若将 wc 命令与管道符号一起使用,还可以对命令输出结果进行统计。
例如,若要统计/etc/目录下共包含多少个扩展名为“.conf“的文件,可以先通过“find /etc -name "*.conf"”命令找出符合条件的文件位置,由于 find 命令的输出结果也是每行一个文件记录,因此只需结合管道符号执行“wc -l”操作即可得出符合条件的文件数量。
2. grep:检索、过滤文件内容
grep 命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式。使用 grep 命令的基本格式如下:
- -l:统计文件内容中的行数。
- -w:统计文件内容中的单词个数(以空格或制表位作为分隔)。
- -c:统计文件内容中的字节数。
grep [选项]… 查找条件 目标文件
-i:查找内容时忽略大小写(Ignore Case)。
-v:反转查找(Invert),即输出与查找条件不相符的行。
- “^……”表示以……开头
- “……$”表示以……结尾
- “^$”表示空行

2.3 备份及恢复文档
2.3.1使用压缩和解压缩工具
1. 制作压缩文件
gzip [选项] 文件名… 制作的压缩文件默认的扩展名为“.gz”
bzip2 [选项] 文件名... 制作的压缩文件默认的扩展名为“.bz2”
2. 解开压缩文件
gzip -d .gz格式的压缩文件 = gunzip .gz格式的压缩文件
bzip2 -d .bz2格式的压缩文件 = bunzip .bz2格式的压缩文件
3. 常用命令选项
- -9 选项可以提高压缩的比率,但文件较大时会需要更多的时间
- -d 解压

2.3.2使用tar 归档和释放工具
tar 命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的 gzip 或 bzip2 命令),以节省磁盘空间。使用 tar 命令时,选项前的“-”号可以省略。常用的几个选项如下所述。
- -c:创建(Create).tar 格式的包文件。
- -C:解压时指定释放的目标文件夹。
- -f:表示使用归档文件。
- -j:调用 bzip2 程序进行压缩或解压。
- -p:打包时保留文件及目录的权限。
- -P:打包时保留文件及目录的绝对路径。
- -t:列表查看包内的文件。
- -v:输出详细信息(Verbose)。
- -x:解开.tar 格式的包文件。
- -z:调用 gzip 程序进行压缩或解压。
1. 制作归档备份文件
tar [选项] … 归档及压缩文件名 需要归档的源文件或目录…
若需要制作“.tar.bz2”格式的归档压缩包,则将“-z”选项改为“-j”选项使用即可。

2.从归档文件中恢复数据
tar [选项] … 归档及压缩文件名 [-C 目标目录]
2.4 vi文本编辑器
- 安装与别名设置:可通过
yum install vim -y安装 vim,vim 是 vi 的升级版,为方便使用可设置别名alias vi='/usr/bin/vim',习惯上也将 vim 称为 vi。 - 工作模式:
- 命令模式:启动 vi 后默认进入,可进行光标移动、字符串查找、删除、复制、粘贴等操作。
- 输入模式:用于录入文件内容,可修改或添加文本,界面最后一行会出现 “-- INSERT --” 提示,按 a、i、o 等键从命令模式进入,按 Esc 键返回命令模式。
- 末行模式:可设置编辑环境、保存文件、退出编辑器、查找替换等,界面最后一行会出现冒号 “:” 提示符,按:键从命令模式进入,按 Esc 键返回命令模式。
2.4.1 命令模式中的基本操作
- 模式切换:
a:在当前光标位置之后插入内容。A:在光标所在行的末尾插入内容。i:在当前光标位置之前插入内容。I:在光标所在行的开头插入内容。o:在光标所在行的后面插入一个新行。O:在光标所在行的前面插入一个新行。
- 移动光标:
- 方向键:移动光标方向。
- 翻页:Page Down 或 Ctrl+F 向下翻一整页,Page Up 或 Ctrl+B 向上翻一整页。
- 行内跳转:Home 或 ^、0 键跳转到行首,End 或 $ 键跳转到行尾。
- 行间跳转:1G 或 gg 跳转到第 1 行,G 跳转到最后一行,#G 跳转到第 #行(# 为具体数字)。可在末行模式执行 “:set nu” 显示行号,“:set nonu” 取消显示。
- 复制、粘贴和删除:
- 删除:
x或 Delete 键删除光标处单个字符;dd删除当前行,#dd 删除从光标处开始的 #行;d^删除光标之前到行首的字符;d$删除光标处到行尾的字符。 - 复制:
yy复制当前行,#yy 复制从光标处开始的 #行。 - 粘贴:
p将缓冲区内容粘贴到光标后,P粘贴到光标前。
- 删除:
- 查找文件内容:按
/键输入字符串向后查找,按?键向前查找,按 n、N 键在查找结果中选择。 - 撤销编辑及保存和退出:
u键取消最近一次操作,可多次使用;U键取消对当前行的所有编辑;ZZ保存内容并退出。
2.4.2 末行模式中的基本操作
- 保存文件及退出:
- 保存:
:w保存,:w /root/newfile另存为 /root 目录下的 newfile。 - 退出:
:q退出,文件修改未保存时:q!强行退出。 - 保存并退出:
:wq或:x,与命令模式的 ZZ 命令效果相同。
- 保存:
- 打开新文件或读入其他文件内容:
:e 新的文件编辑新文件;:r 其他文件将其他文件内容复制到当前光标位置。 - 替换文件内容:命令格式为
: [替换范围] sub /旧的内容/新的内容[/g],sub 可简写为 s。替换范围可选,%表示整个文件,n,m 表示指定行数范围,/g表示替换每行所有匹配结果,省略则只替换每行第一个匹配结果。
3.总结
- 查看文件内容(cat、more、less、head、tail)
- 统计和检索文件内容(wc、grep)
- 备份恢复文档(gzip/gunzip、bzip2/bunzip2、tar)
- vi文本编辑器工作模式与不同工作模式之间的切换
- vi文本编辑器命令模式与末行模式的基本操作
更多推荐


所有评论(0)