linux 根据内容查找文件

linux 根据内容查找文件

grep "TCP_NODELAY" -r /usr

这样就递归查找/usr下的所有内容里带有TCP_NODELAY的文件了

很快找到了/usr/include/linux/tcp.h #define TCP_NODELAY 1

此外,知道文件名搜文件位置 find / -name "filename"


 find / -name httpd.conf

    find / -name access_log 2>/dev/null

    find /etc -name '*srm*'

    find / -amin -10 # 查找在系统中最后10分钟访问的文件

    find / -atime -2 # 查找在系统中最后48小时访问的文件

    find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件

    find / -mtime -1 #查找在系统中最后24小时里修改过的文件

    find / -cmin -5 # 查找在系统中最后5分钟里被改变状态的文件

    find / -ctime -1 #查找在系统中最后24小时里被改变状态的文件

    find / -user reda #查找在系统中属于fred这个用户的文件

    find / -not -user reda #查找在系统中不属于FRED这个用户的文件

    find / -group redagrp # 查找在系统中属于redagrp组的文件

    find / -gid 501 #查找系统中属于组id为501的文件

    find / -user fred -a -group redagrp

    find / -user reda -o -user tracy

    find / -nouser #查找在系统中属于作废用户的文件

    find / -empty # 查找在系统中为空的文件或者为空的文件夹

    find / -false #查找系统中总是错误的文件

    find / -size +5k #查找系统中大于5k字节的文件

    find / -size +5c #查找系统中大于5字节的文件

    find / -perm +6000

    find / -type b

    文件类型:

    b 块(缓冲)设备.

    c 字符设备.

    d 目录.

    p 有名管道(FIFO).

    f 规则文件.

    l 符号链结.

    s 插座.

    find / -maxdepth 2 -name fred

    find /tmp -size +10000000c -and -mtime +2

    find / -user reda -or -user tracy

    find /tmp ! -user reda

    find / -name "httpd.conf" -ls

    find / -user reda -exec ls -l {} \;

    find / -user reda -ok #确认后执行

    find / -user reda | xargs ls -l


查看目录大小

进入例如IBM 目录下,du -sh *,可以看到文件夹大小

linux xargs

xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。

xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,下面是一些如何有效使用xargs 的实用例子。

1. 当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too long. 用xargs 去避免这个问题

find ~ -name ‘*.log’ -print0 | xargs -0 rm -f


2. 获得/etc/ 下所有*.conf 结尾的文件列表,有几种不同的方法能得到相同的结果,下面的例子仅仅是示范怎么实用xargs ,在这个例子中实用 xargs将find 命令的输出传递给ls -l

# find /etc -name "*.conf" | xargs ls –l


3. 假如你有一个文件包含了很多你希望下载的URL, 你能够使用xargs 下载所有链接

# cat url-list.txt | xargs wget –c


4. 查找所有的jpg 文件,并且压缩它

# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz


5. 拷贝所有的图片文件到一个外部的硬盘驱动 

# ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory


### 回答1: 您可以使用以下命令在 Linux根据内容查找文件: ```bash grep -rnw '/path/to/search/' -e 'content' ``` 其中,`-r` 表示递归查找,`-n` 表示显示匹配行的行号,`-w` 表示只匹配整个单词,而不是单词的部分,`-e` 表示指定要匹配的内容。 例如,要在 `/var/log` 目录下查找包含字符串 "error" 的文件,可以使用以下命令: ```bash grep -rnw '/var/log/' -e 'error' ``` 此命令将递归查找 `/var/log/` 目录下所有文件,查找包含字符串 "error" 的行,并显示匹配行的行号和文件名。 ### 回答2: 在Linux系统中,可以使用一些命令来根据文件的内容进行查找。其中最常用的命令是`grep`。 `grep`命令可以在文件中搜索指定的字符串,并返回包含该字符串的所有行。它的基本语法是`grep [选项] 字符串 文件名`。 例如,如果想要在一个名为`example.txt`的文本文件中查找包含字符串"hello"的行,可以使用以下命令: ``` grep "hello" example.txt ``` `grep`命令还支持一些选项,用于扩展其功能。例如,使用`-i`选项可以忽略大小写,使用`-r`选项可以递归地搜索整个目录及其子目录下的文件。 除了`grep`命令,还有其他一些命令可以根据内容查找文件。例如,`find`命令可以根据文件名、大小、权限等条件来查找文件,而`ack`命令则是`grep`的一个更高级版本,它可以在代码中更方便地查找字符串。 总之,在Linux中,可以利用`grep`及其他相关命令根据文件的内容进行快速查找,这对于处理大量文本文件、代码文件等非常有用。 ### 回答3: 在Linux系统中,我们可以使用不同的命令来根据文件内容查找文件。下面是一些常用的方法: 1. grep命令:grep命令可以在文件中查找匹配特定内容的文本行。语法为:grep "要查找的内容" 文件名。例如,我们可以使用grep "hello" file.txt来查找file.txt文件中包含"hello"的文本行。 2. find命令:find命令可以在指定的目录中递归搜索匹配特定内容的文件。语法为:find 目录 -type f -exec grep -l "要查找的内容" {} \;。例如,我们可以使用find /home -type f -exec grep -l "hello" {} \;来在/home目录下递归查找包含"hello"的文件。 3. ripgrep命令:ripgrep命令是一个更快速的grep替代工具,可以用来递归搜索匹配特定内容的文件。语法为:rg "要查找的内容" 目录。例如,我们可以使用rg "hello" /home来在/home目录中递归查找包含"hello"的文件。 4. ack命令:ack命令类似于grep,但是更加快速和智能,可以递归搜索匹配特定内容的文件。语法为:ack "要查找的内容" 目录。例如,我们可以使用ack "hello" /home来在/home目录中递归查找包含"hello"的文件。 通过使用这些命令,我们可以在Linux系统中根据文件内容来查找需要的文件,方便我们进行文件管理和查找。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值