目录
一、查找命令,查找文件
1、which命令
- 查看所使用的一系列命令的程序文件存放在哪里
- which 要查找的命令
2、find命令
- 搜索指定文件
(1)按文件名查找文件
- find 起始路径 -name "被查找文件名" (可以与通配符*一起使用;起始路径,指从哪里开始搜索,比如起始路径为 / ,表明从根目录开始搜索)
eg:从根目录开始查找文件名以test开头的文件
查找结果有很多条,这里只展示部分
注:想停止继续查找,快捷键:ctrl+C
当提示权限不够的时候,可以切换root用户,即超级管理员,使用命令su -root
(2)按文件大小查找文件
- find 起始路径 -size [ + - ] n[ k M G ] (+、- 表示大于和小于;n表示大小数字;kMG表示单位,分别是kb、MB、GB)
注:k是小写;
eg:从当前工作目录,查找小于10kb文件
eg:从当前工作目录,查找大于1MB的文件
二、查看文件行,统计内容数量,管道符|
1、grep命令
- 从文件中通过关键字,查找文件行
- grep [ -n ] 关键字 文件路径 (-n,显示匹配的行的行号;关键字,涉及到空格,需要用“”将其围起来;文件路径,表示要过滤内容的文件路径,可作为内容输入端口)
通过touch命令在HOME目录创建test.txt,并通过图形化页面编辑并保存如下内容:
eg:分别查找了含有“file”、“1”、“空格”、以及查找含有“12”并显示行号的数字行
2、wc命令
- 数量统计
- wc [ -c -m -l -w ] 文件路径 (-c,统计bytes数量;-m,统计字符数量;-l,统计行数;-w ,统计单词数量;文件路径,表示要过滤内容的文件路径,可作为内容输入端口)
注:字节(bytes)与字符的区别,对于中文字符和中文标点在不同的编码格式下,字节长度不同
- ASCII 码中,一个英文字符(不分大小写)为一个字节,一个中文字符为两个字节。
- UTF-8 编码中,一个英文字符为一个字节,一个中文字符为三个字节。
所以在没有中文的情况下,字节与字符是相等的。
若不输入可选选项,前面三个数字分别代表该文件的行数,单词数,字节数
输入可选选项
3、管道符|
- 将管道符左边命令的结果,作为右边命令的输入
前面提到grep和wc的文件路径,表示要过滤内容的文件路径,可作为内容输入端口,当与管道符一起使用时,就不用再写文件路径了,此时的“文件路径”是管道符左边命令的结果。
左边的命令不止cat可以,ls也行
还可以嵌套使用
## 练习:
对创建的test.txt进行统计,请使用cat、grep、wc、管道符,进行统计
- 统计文件中带有关键字file的文件行有多少个单词
cat test.txt | grep "file" | wc -w