Linux: 文件查找与读取的常用指令科普
概览
- find:查找文件(场景1~5)
- grep:查找文件中的内容(场景6)
- more、cat、tail、head:查看文件
场景一:(基于文件名查找:-name)
写了一个yinlei.txt,但忘记放在哪个文件夹下。
1.基于当前目录进行查找:
2.基于全局目录查找:
基于的路径越靠上,查找的时间就越长.
这里使用第2种解决问题:
其他过滤参数:
如果不记得文件名,也可以使用通配符:
场景二:(基于文件大小:-size)
机器上在打印一个日志文件,日志文件持续打印没有情况导致日志文件很大磁盘都满了,这个时候想在整个linux系统下找到磁盘文件,并删除掉它
就可以看到当前目录下(可以自己指定目录路径)文件大小超过10M的文件
上面是查看每个文件具体的大小信息等
场景三:(基于文件类型:-type)
要查找文件夹,这个文件夹有相应的名字或大小等属性
上面的命令如果是文件或文件夹都会呗=被找出来。
如果要找一个文件夹:(我当前目录没有这个文件夹)d代表dir
如果是一个文件:f代表file
场景四:(基于最后一次读写时间:-[cma][time|min])
1.写修改:
1天之内修改过的:
50分钟之内修改过的:
1天前的这一天:
1天前进行的修改:
30分钟之内修改过的:
ctime、cmin中的c指的是change
mtime、mmin中的m是modify
只不过修改文件权限也是change的,不是modify的
2.读修改
amin等中的a是access
1分钟内读过的:
场景五:(基于文件夹的深度:-max|min depth)
要找一个文件,不想要深度很深的文件。
查找文件最深层数是3层的文件:
也可以用mindepth指定最小深度
场景六:(-r递归子路径, -n显示行号)
1. 知道文件在哪个文件夹下:
grep一般是搜索一个字符然后+该文件的名字
有的话就会把含有该字符的那行输出出来。
通过-n输出行:
2.不知道文件在哪个文件夹下:
让当前文件都去查找一下包含a的字符.
*指定的是当前目录下所有文件,文件夹是不能直接操作的
如果想要让当前路径下的所有子路径也查找的话:
输出这一行和下面2行:
输出这一行和上面2行:
cat指令:
-n显示行号:
如果文件很大,会加载半天,占用内存,这时可以用more指令:(这里可以自己用大文件试试)
more指令:
通过b可返回上一页,通过q可以退出。
more还可以指定每页的行数:(这里是每页3行)
head指令 、tail指令:(反义词)
查看一个文件的头:(前几行)
指定前2行:
从尾部查看:
-f参数持续监听文件的变动:
通过ctrl+c停止。
查看磁盘的大小(使用情况)
查看当前路径下每个文件文件夹及其大小等:
通过-d指定最大的深度: