Linux基础学习(三)查找与检索

查找文件命令(供平常使用)

find查找(找文件)

1.查找本目录下的类型为软链接的文件(多层目录查找):

find ./ -type 'l'

2.linux下区分文件的文件类型7种

3.查找本目录下的后缀名为 . jpg 的文件(多层目录查找):

find ./  -name '*.jpg'

4.查找本目录下的后缀名为 . jpg 的文件(只在这一个目录中查找):

find ./  -maxdepth 1   -name '*.jpg'

maxdepth:指定目录搜索层级

5.按照文件大小查找:

查找文件大小在20M和50M之间的文件:

find  ./ -size +20M -size -50M

注意搜索单位:‘b’、‘c’-byte、‘w’-two-byte、‘k’-kilobytes、‘M’-Megabytes、‘G’-Gigabytes,注意这里的 ‘b’ 指的是blocks 512-byte

6.按照文件时间查找:
find参数:

-atime、-mtime、-ctime

在这里插入图片描述
在红框中:

Access表示最近访问时间;
Modify表示最近更改时间,这个时间表示文件的属性被更改了;
Change表示最近改动时间,这个时间表示文件内容修改;

在这里插入图片描述
代码:

find ./ ctime 1

7.查找文件后执行相关命令:
代码:

find ./ -name "*tmp" -exec ls -l {} \;

搜索名字后三个字母为tmp的文件并对他们统一执行ls -l 的命令,在命令中花括号代表囊括查找的结果集,斜杠为转义字符,后面的分号不要忘记了哦!!!
在这里插入图片描述

find ./ -type f -ok rm -r {} \;

上面的命令会依次询问是否删除每一个文件,用户交互感很强~
在这里插入图片描述
8.find命令与管道结合查询:

find ./ -type f | xargs ls -l

注意:如果不使用 xargs 则结果只是执行了 ls -l

重点:xargs与exec相比较的话,当结果集数量过大,exec是直接将结果集一起执行,xargs是将结果集分片执行,所以xargs效率会更高的!

当文件名包含空格时,xargs会对该文件进行误拆分,因为xargs会将空格作为拆分依据。
解决方法如下:

find ./ -type f -print0 | xargs -print0 ls -l

前后加入 -print0 的参数即可查找成功,会有查找提示。

grep查找(找文件内容)

1.查找文件内容包含某个字符串的文件

在当前目录下查找文件内容包含 ‘copy’ 字符串的文件

grep -r 'copy' ./

在这里插入图片描述
加上 -n 参数,可以显示查找的字符串在文件的第几行

ps

1.用来监控后台进程的工作情况
在这里插入图片描述
上面只会显示与用户进行交互的进程

显示所有进程:ps aux

2.与grep结合使用
展示与money有关的进程

ps aux | grep money

补充知识点:

1.查看本目录下的子目录

ls -ld 目录名

2.查看时以人类方便阅读形式展示(显示字节)

ls -l -h 文件名

3.命令帮助文档

查看man命令文档:
man  find

4.清空屏幕快捷键

ctrl + l

5.删除文件

rm -r 文件名 

版权声明:本文为qq_45855825原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。