Linux 文件内容的查询与统计
文件内容的查阅与统计
文件内容的查询
cat 指令
concatenate,连接文件并打印到标准输出设备上(查看文件)。
- 用法1: cat 文件路径
- 常用选项: -n 列出行号
- 常用选项: -n 列出行号
- 用法2: tac
- 倒序显示(应用:查看日志)
- 倒序显示(应用:查看日志)
head 指令
查看一个文件的前n行,默认显示前10行。
- 用法:
- head -数字 文件路径 【n表示数字】(简略写法)
- head -n 数字 文件路径(标准写法)
n为负数时,负的行数不显示
tail 指令
查看一个文件的末n行,默认显示后10行
- 用法1:
- tail -数字 文件路径 【n表示数字】(简略写法)
- tail -n 数字 文件路径(标准写法)
- 用法2:tail -f 文件路径
- 持续检测文件内容,一般用于查看系统日志
less 指令
查看文件,支持翻页
- 用法:less 文件路径
- 操作指令:
- 空格键:向下翻动一页
- [pagedown]:向下翻动一页
- [pageup]:向上翻动一页
- j:下一行
- k:上一行
- G:移动到最后一页
- g:移动到第一行
- /字符串:向下搜索字符串
- ?字符串:向上搜索字符串
- q:退出 less
- 操作指令:
less /etc/passwd
统计与查找
wc 指令
Word Count 统计文件内容信息(行数,单词数,字节数)
- 用法:wc -lwc需要统计的文件路径
- 选项解释:
- #-l:表示lines,行数
- #-w:表示word,单词数 依照空格来判断单词数量
- #-c:表示 bytes,字节数
find 指令
查找文件(其参数很多)
- 用法:find 路径范围 选项 选项的值
- 常用选项:
- type:按文件类型搜索(普通文件类型:f)
- name:按文件名搜索
- maxdepth:指定搜索深度
- size:按文件大小
- 常用选项:
find ./ -type l
find ./ -name “day*”
find ./ -maxdepth 1 -name “m”
find ./ -size +20M -size -50M
输出重定向
一般命令会输出到终端中,有些则需要将命令结果保存到文件进行后续的分析或统计,这时需要使用到重定向技术
-
输出重定向符号:
- #>:覆盖输出,会覆盖原文件内容
- #>>:追加输出,不会覆盖原文件内容,在末尾继续添加
-
用法:指令> / >> 文件路径
- 指令结果保存到指定文件中。若文件不存在则新建该文件
-
追加重定向: ls >> d5.txt
- 将当前目录的文件列表追加到d5.txt文件中(如果不存在该文件,会新建一个)。
- 将当前目录的文件列表追加到d5.txt文件中(如果不存在该文件,会新建一个)。
-
覆盖重定向: ls > d5.txt
- 将ls结果(当前目录的文件列表)覆盖写入d5.txt,即之前文件中的内容会被清空,并用新输出替换。
- 将ls结果(当前目录的文件列表)覆盖写入d5.txt,即之前文件中的内容会被清空,并用新输出替换。
-
合并文件:cat 待合并的文件路径 1 待合并的文件路径 2…… 文件路径 n > 合并之后的文件路径
管道(重要)
管道符:|
管道一般可以用于"过滤",“特殊”,“扩展管理”。管道不能单独使用,必须配合指令来一起使用,主要是辅助作用
- 用法:指令1 | 指令2
- 以管道符作为分界线,指令1的输出是指令2的输入
- 作用:实现“数据流”传递,让多个命令联合处理数据,而不需要中间保存到临时文件
ls -l | grep "txt"
- 列出当前目录的详细文件清单,然后把输出传给grep “txt”,筛选出文件名包含“txt”的行
- grep指令:主要用于过滤
- 可以翻页的方式进行查看 /etc/ 下的文件:
ls /etc | less
+ ls /etc:列出/etc/目录中的所有文件和子目录。
+ |:管道,将ls的输出传递给后面的命令。
+ less:分页查看ls输出的结果,可以上下翻页浏览大目录。
- 统计根目录下的文件个数:
ls / | wc -l
- ls /:列出根目录 / 中的所有文件和文件夹(只列出文件名,不包含详细信息)。
- |:管道,把ls /的输出传递给下一条命令。
- wc -l:统计输入内容的行数,即文件或子目录的个数。