Linux常用命令(5)

本文详细介绍了Linux系统中find命令的使用,包括按文件名、类型、大小、日期和深度进行查询,以及高级查找技巧。同时,解释了grep命令如何用于在文件中查找特定内容,包括递归搜索、忽略大小写等选项。最后,讨论了find和grep命令如何结合使用,以提高文件搜索效率。
摘要由CSDN通过智能技术生成

目录

find命令

按文件名查询

使用参数 -name

按文件类型查询

使用参数 -type

按文件大小查询

使用参数 -size

按文件日期

按深度

高级查找

grep命令

grep -r(有目录) “查找的内容” 搜索的路径

搜索当前目录下包含hello world字符串的文件

find和grep命令结合使用


find命令

按文件名查询

使用参数 -name

        命令:find  路径  -name   "文件名"

        示例:find /home -name "*.c"

按文件类型查询

使用参数 -type

        命令:find 路径 -type 类型

        类型        

                普通文件类型用f表示而不是 -

                d -> 目录

                l -> 符号链接

                b -> 块设备文件

                c -> 字符设备文件

                s -> socket文件

                p -> 管道文件

        查找指定目录下的普通文件: find 路径 -type f

按文件大小查询

使用参数 -size

        命令:find  路径  -size  范围

                范围

                        大于:+表示 --  +100k

                        小于:-表示  --  -100k

                        等于: 不需要添加符号 --  100k

                大小

                        M 必须大写(10M)

                        k 必须小写(20k)

                        c 表示字节数

        例子: 查询目录为家目录

                等于100k的文件:  find ~/ -size 100k

                大于100k的文件:  find ~/ -size +100k

                大于50k, 小于100k的文件:  find ~/ -size +50k -size -100k

按文件日期

        创建日期:-ctime -n/+ n

                -n: n天以内

                +n: n天以外

        修改日期:-mtime -n/+n

        访问日期:-atime -n/+n

按深度

        -maxdepth n(层数)

                搜索n层以下的目录, 搜索的层数不超过n层

        -mindepth n(层数)

                搜搜n层以上的目录,搜索的层数不能小于n层

高级查找

        例:查找指定目录下所有目录,并列出目录中文件详细信息

                find ./ -type d -exec shell命令 {} \;

                find ./ -type d -exec ls -l {} \;

                find ./ -type d -ok shell命令 {} \;

                find ./ -type d -ok ls -l {} \;

注意: {}中间不能有空格

ok比较安全, 特别是在执行rm删除文件的时候.

                find ./ -type d | xargs shell命令

                find ./ -type d | xargs ls -l

grep命令

grep -r(有目录)查找的内容搜索的路径

        -r参数, 若是目录, 则可以递归搜索

        -n参数可以显示该查找内容所在的行号

        -i参数可以忽略大小写进行查找

        -v参数不显示含有某字符串

搜索当前目录下包含hello world字符串的文件

        grep -r -n "hello world" ./     ------显示行号

        grep -r -i -n "HELLO world" ./  -------忽略大小小查找

find和grep命令结合使用

        先使用find命令查找文件, 然后使用grep命令查找哪些文件包含某个字符串

                find . -name "*.c" | xargs grep -n "main"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值