find

在文件夹中搜索符合所需条件的文件名:名称,大小,文件类型

语法

  find [-H] [-L] [-P] [path...] [expression]

选项


-daystart
从今天开始而不是从24小时前开始.

-depth
在目录本身之前处理每个目录的内容

-d
epth的同义词,用于与FreeBSD,NetBSD,MacOS X和OpenBSD的兼容性。

-follow
请改用-L选项。

-help, --help
打印查找和退出命令行用法的摘要

-ignore_readdir_race
通常,find会在无法统计文件时发出错误消息。

-maxdepth levels
在命令行参数下面的目录的大多数级别(非负整数)级别下降。

-mindepth levels
不在低于级别的级别应用任何测试或操作(非负整数)。

-mount
不下载其他文件系统上的目录

-noignore_readdir_race
关闭-ignore_readdir_race的效果. 

-noleaf
不要通过假设目录包含比硬链接数少2个子目录来进行优化

-regextype type
更改-regex和-iregex测试所理解的正则表达式语法

-version, --version
打印查找版本号并退出.

-warn, -nowarn
打开或关闭警告消息

-xdev
不下载其他文件系统上的目录

实例

列出以.mp3结尾的文件名,在当前文件夹和所有子文件夹中搜索:

$ find . -name "*.mp3"

列出名称为Alice或ALICE(不区分大小写)的文件名,在当前文件夹和所有子文件夹中搜索:

$ find . -iname "alice" -print0

列出名称为Alice或ALICE(不区分大小写)的文件名,仅在当前文件夹中搜索

$ find . -maxdepth 1 -iname "alice" -print0

列出以.mp3结尾的文件名,在音乐文件夹和子文件夹中搜索:

  $ find ./music -name "*.mp3"

列出具有确切名称的文件:./work和子文件夹中的Sales_document.doc

 $ find ./work -name Sales_document.doc

列出属于用户Maude的所有文件:

 $ find . -user Maude -print0

列出子目录中的所有文件(不是目录名)

$ find . -type f

列出所有文件链接:

$ find . -type l

列出主目录中的所有文件(和子目录):

$ find $HOME

列出所有目录和子目录名称:

$ find . -type d

列出所有空目录:

$ find . -type d -empty

删除所有空目录,这将递归:

$ find . -type d -empty -delete

查找超过千兆字节的文件

$ find ~/Movies -size +1024M

查找大小超过1 GB但小于20 GB的文件:

$ find ~/Movies -size +1024M -size -20480M -print0

找到所有.gif文件,管道到xargs以获取大小,然后管道到尾部以仅显示总计:

$ find . -iname "*.gif" -print0 | xargs -0 du -ch | tail -1

查找文件在最后一天内被修改:

$ find ~/Movies -mtime -1

查找文件在过去30分钟内已被修改:

$ find ~/Movies -mmin -30

列出所有以’memo’开头并由Maude(AND)$ find拥有的文件

$ find . -name 'memo*' -user Maude

找到不以’Accounts’(NOT)$ find开头的.doc文件

 $ find . -name '*.doc' ! -name Accounts*

在目录/ tmp中或下面找到名为“secrets”的文件并删除它们。请注意,如果有任何包含换行符,单引号或双引号或空格的文件名,这将无法正常工作:

$ find /tmp -name secrets -type f -print | xargs /bin/rm -f

在目录/ tmp中或下面找到名为“secrets”的文件并删除它们,处理文件名,以便正确处理包含单引号或双引号,空格或换行符的文件或目录名称

$ find /tmp -name secrets -type f -print0 | xargs -0 /bin/rm -f

在当前目录中或下面的每个文件上-exec myapp

find . -type f -exec myapp '{}' \;

只遍历文件系统一次,将setuid文件和​​目录列入/root/suid.txt,将大文件列入/root/big.txt.

find / \( -perm -4000 -fprintf /root/suid.txt '%#m %u %p\n' \) , \
\( -size +100M -fprintf /root/big.txt '%-10s %p\n' \)

搜索主目录中已在过去二十四小时内修改过的文件。此命令以这种方式工作,因为自上次修改每个文件以来的时间除以24小时,任何余数都将被丢弃。这意味着要匹配-mtime 0,文件必须在过去不到24小时之前进行修改

 find $HOME -mtime 0

搜索对其所有者和组具有读写权限的文件,但是其他用户可以读取但不写入的文件(664)。符合这些条件但设置了其他权限位的文件(例如,如果有人可以执行该文件)将不匹配

find . -perm -664

搜索某人(他们的所有者,他们的团队或其他任何人)可写的文件.

find . -perm /222

所有这三个命令都做同样的事情,但第一个使用文件模式的八进制表示,另外两个使用符号形式。这些命令都搜索可由其所有者或其组写入的文件。

find . -perm /220
find . -perm /u+w,g+w
find . -perm /u=w,g=w

这两个命令都做同样的事情; 搜索其所有者及其组可写的文件

find . -perm -220
find . -perm -g+w,u+w

这两个命令都搜索每个人都可读的文件(-perm -444或-perm -a + r),至少有写位设置(-perm / 222或-perm / a + w)但不可执行任何人(分别是!-perm / 111和!-perm / a + x)

find . -perm -444 -perm /222 ! -perm /111
find . -perm -a+r -perm /a+w ! -perm /a+x

find 命令实例:

查看root文件下哪个目录占用了最多的空间非常有用

linux命令:find / -maxdepth 1 -type d | xargs -I {} sh -c "mountpoint -q {} || du -sk {}" | sort -n -n sort | {}" -sk du || {} -q "mountpoint -c sh {} -I xargs | d -type 1 -maxdepth / find find / -maxdepth 1 -type d | xargs -I {} sh -c "mountpoint -q {} || du -sk {}" | sort -nrootopen.com
linux命令:find / -maxdepth 1 -type d | xargs -I {} sh -c "mountpoint -q {} || du -sk {}" | sort -n -n sort | {}" -sk du || {} -q "mountpoint -c sh {} -I xargs | d -type 1 -maxdepth / find find / -maxdepth 1 -type d | xargs -I {} sh -c "mountpoint -q {} || du -sk {}" | sort -nrootopen.com
2019-03-23 19:15:31

替换在文件夹中递归找到的一个或多个文件中匹配模式的字符串。

linux命令:find ./ -type f -name "somefile.txt" -exec sed -i -e 's/foo/bar/g' {} \; \; {} 's/foo/bar/g' -e -i sed -exec "somefile.txt" -name f -type ./ find find ./ -type f -name "somefile.txt" -exec sed -i -e 's/foo/bar/g' {} \;rootopen.com
linux命令:find ./ -type f -name "somefile.txt" -exec sed -i -e 's/foo/bar/g' {} \; \; {} 's/foo/bar/g' -e -i sed -exec "somefile.txt" -name f -type ./ find find ./ -type f -name "somefile.txt" -exec sed -i -e 's/foo/bar/g' {} \;rootopen.com
2019-03-23 19:11:59

当运行完free i-node时,它可以用来确定文件数量最多的路径

linux命令:find / -type f ! -regex '^/\(dev\|proc\|run\|sys\).*' | sed 's@^\(.*\)/[^/]*$@\1@' | sort | uniq -c | sort -n | tail -n 10 10 -n tail | -n sort | -c uniq | sort | 's@^\(.*\)/[^/]*$@\1@' sed | '^/\(dev\|proc\|run\|sys\).*' -regex ! f -type / find find / -type f ! -regex '^/\(dev\|proc\|run\|sys\).*' | sed 's@^\(.*\)/[^/]*$@\1@' | sort | uniq -c | sort -n | tail -n 10rootopen.com
linux命令:find / -type f ! -regex '^/\(dev\|proc\|run\|sys\).*' | sed 's@^\(.*\)/[^/]*$@\1@' | sort | uniq -c | sort -n | tail -n 10 10 -n tail | -n sort | -c uniq | sort | 's@^\(.*\)/[^/]*$@\1@' sed | '^/\(dev\|proc\|run\|sys\).*' -regex ! f -type / find find / -type f ! -regex '^/\(dev\|proc\|run\|sys\).*' | sed 's@^\(.*\)/[^/]*$@\1@' | sort | uniq -c | sort -n | tail -n 10rootopen.com
2019-03-23 19:10:54

Excludes other mountpoints with acavagni's "mountpoint" idea, but with -exec instead of piping to an xargs subshell. Then, calling "du" only once with -exec's "+" option. The first "\! -exec" acts as a test so only those who match are passed to the second "-exec" for du.

linux命令:find / -maxdepth 1 -mindepth 1 -type d \! -empty \! -exec mountpoint -q {} \; -exec du -xsh {} + | sort -h -h sort | + {} -xsh du -exec \; {} -q mountpoint -exec \! -empty \! d -type 1 -mindepth 1 -maxdepth / find find / -maxdepth 1 -mindepth 1 -type d \! -empty \! -exec mountpoint -q {} \; -exec du -xsh {} + | sort -hrootopen.com
linux命令:find / -maxdepth 1 -mindepth 1 -type d \! -empty \! -exec mountpoint -q {} \; -exec du -xsh {} + | sort -h -h sort | + {} -xsh du -exec \; {} -q mountpoint -exec \! -empty \! d -type 1 -mindepth 1 -maxdepth / find find / -maxdepth 1 -mindepth 1 -type d \! -empty \! -exec mountpoint -q {} \; -exec du -xsh {} + | sort -hrootopen.com
2019-03-23 19:04:22

在示例中,查找并显示/etc中包含字符串nameserver的每个文件以及相应的行

linux命令:find /etc -type f -print0 2>/dev/null | xargs -0 grep --color=AUTO -Hn 'nameserver' 2>/dev/null 2>/dev/null 'nameserver' -Hn --color=AUTO grep -0 xargs | 2>/dev/null -print0 f -type /etc find find /etc -type f -print0 2>/dev/null | xargs -0 grep --color=AUTO -Hn 'nameserver' 2>/dev/nullrootopen.com
linux命令:find /etc -type f -print0 2>/dev/null | xargs -0 grep --color=AUTO -Hn 'nameserver' 2>/dev/null 2>/dev/null 'nameserver' -Hn --color=AUTO grep -0 xargs | 2>/dev/null -print0 f -type /etc find find /etc -type f -print0 2>/dev/null | xargs -0 grep --color=AUTO -Hn 'nameserver' 2>/dev/nullrootopen.com
2019-01-06 22:12:10

linux命令:find . -depth -type d -empty -exec rmdir {} \; \; {} rmdir -exec -empty d -type -depth . find find . -depth -type d -empty -exec rmdir {} \;rootopen.com
linux命令:find . -depth -type d -empty -exec rmdir {} \; \; {} rmdir -exec -empty d -type -depth . find find . -depth -type d -empty -exec rmdir {} \;rootopen.com
2018-12-22 22:02:05

将/home替换为您要搜索的位置

linux命令:find /home -xdev -samefile file1 file1 -samefile -xdev /home find find /home -xdev -samefile file1rootopen.com
linux命令:find /home -xdev -samefile file1 file1 -samefile -xdev /home find find /home -xdev -samefile file1rootopen.com
2018-12-22 21:56:58

find 将输出所有目录 tac 颠倒了行的顺序,因此“leaf”目录首先出现 重新排序很重要,因为rmdir只删除空目录 我们将错误消息(关于非空目录)重定向到 /dev/null

linux命令:find . -type d | tac | xargs rmdir 2>/dev/null 2>/dev/null rmdir xargs | tac | d -type . find find . -type d | tac | xargs rmdir 2>/dev/nullrootopen.com
linux命令:find . -type d | tac | xargs rmdir 2>/dev/null 2>/dev/null rmdir xargs | tac | d -type . find find . -type d | tac | xargs rmdir 2>/dev/nullrootopen.com
2018-12-13 23:05:24

恢复 gzip -cd path_to_save.cpio.gz | cpio -imV find . -xdev -print0 查找所有文件和目录,而不会越过其他分区,并打印出一个以空分隔的文件名列表 cpio -oa0V 从stdin获取要归档的文件列表,并创建一个保留时间戳和权限的归档文件 cpio -imV 从stdin中提取文件和目录,同时保留时间戳和权限

linux命令:find . -xdev -print0 | cpio -oa0V | gzip > path_to_save.cpio.gz path_to_save.cpio.gz > gzip | -oa0V cpio | -print0 -xdev . find find . -xdev -print0 | cpio -oa0V | gzip > path_to_save.cpio.gzrootopen.com
linux命令:find . -xdev -print0 | cpio -oa0V | gzip > path_to_save.cpio.gz path_to_save.cpio.gz > gzip | -oa0V cpio | -print0 -xdev . find find . -xdev -print0 | cpio -oa0V | gzip > path_to_save.cpio.gzrootopen.com
2018-12-08 16:56:08

find path_to_dir -type f 打印目录树中的所有文件 chomp(@files = <>); 将所有行读入数组 stat($a)是一个有关文件的有趣信息的数组。索引7是大小,8是访问时间,9是修改时间等。(有关man perlfunc详细信息和搜索,请参阅stat EXPR。) sort { (stat($a))[9] <=> (stat($b))[9] } @files 按修改时间对文件进行排序 print scalar localtime((stat($f))[9]), "\t", $f, "\n" - 打印好格式化的修改时间,然后是选项卡和文件名

linux命令:find /path/to/dir -type f | perl -ne 'chomp(@files = <>); my $p = 9; foreach my $f (sort { (stat($a))[$p] <=> (stat($b))[$p] } @files) { print scalar localtime((stat($f))[$p]), "\t", $f, "\n" }' | tail tail | }' "\n" $f, "\t", localtime((stat($f))[$p]), scalar print { @files) } (stat($b))[$p] <=> (stat($a))[$p] { (sort $f my foreach 9; = $p my <>); = 'chomp(@files -ne perl | f -type /path/to/dir find find /path/to/dir -type f | perl -ne 'chomp(@files = <>); my $p = 9; foreach my $f (sort { (stat($a))[$p] <=> (stat($b))[$p] } @files) { print scalar localtime((stat($f))[$p]), "\t", $f, "\n" }' | tailrootopen.com
linux命令:find /path/to/dir -type f | perl -ne 'chomp(@files = <>); my $p = 9; foreach my $f (sort { (stat($a))[$p] <=> (stat($b))[$p] } @files) { print scalar localtime((stat($f))[$p]), "\t", $f, "\n" }' | tail tail | }' "\n" $f, "\t", localtime((stat($f))[$p]), scalar print { @files) } (stat($b))[$p] <=> (stat($a))[$p] { (sort $f my foreach 9; = $p my <>); = 'chomp(@files -ne perl | f -type /path/to/dir find find /path/to/dir -type f | perl -ne 'chomp(@files = <>); my $p = 9; foreach my $f (sort { (stat($a))[$p] <=> (stat($b))[$p] } @files) { print scalar localtime((stat($f))[$p]), "\t", $f, "\n" }' | tailrootopen.com
2018-12-08 16:51:43

find path_to_dir -type d 找到所有子目录 tac 颠倒顺序。这对于使“leaf”目录成为第一位非常重要! target=... stuff构造新名称,删除空格并保持之前的所有内容相同 echo mv ... 为了安全起见,你应首先使用“echo”运行,如果输出看起来不错,则删除“echo”以真正执行重命名

linux命令:find /path/to/dir -type d | tac | while read LINE; do target=$(dirname "$LINE")/$(basename "$LINE" | tr -d ' '); echo mv "$LINE" "$target"; done done "$target"; "$LINE" mv echo '); ' -d tr | "$LINE" "$LINE")/$(basename target=$(dirname do LINE; read while | tac | d -type /path/to/dir find find /path/to/dir -type d | tac | while read LINE; do target=$(dirname "$LINE")/$(basename "$LINE" | tr -d ' '); echo mv "$LINE" "$target"; donerootopen.com
linux命令:find /path/to/dir -type d | tac | while read LINE; do target=$(dirname "$LINE")/$(basename "$LINE" | tr -d ' '); echo mv "$LINE" "$target"; done done "$target"; "$LINE" mv echo '); ' -d tr | "$LINE" "$LINE")/$(basename target=$(dirname do LINE; read while | tac | d -type /path/to/dir find find /path/to/dir -type d | tac | while read LINE; do target=$(dirname "$LINE")/$(basename "$LINE" | tr -d ' '); echo mv "$LINE" "$target"; donerootopen.com
2018-12-08 16:37:53

linux命令:find <folder> -type f -exec sed -i 's/my big String/newString/g' {} + + {} String/newString/g' big 's/my -i sed -exec f -type <folder> find find <folder> -type f -exec sed -i 's/my big String/newString/g' {} +rootopen.com
linux命令:find <folder> -type f -exec sed -i 's/my big String/newString/g' {} + + {} String/newString/g' big 's/my -i sed -exec f -type <folder> find find <folder> -type f -exec sed -i 's/my big String/newString/g' {} +rootopen.com
2018-12-08 16:32:52

linux命令:find "$(pwd)" -name "file-pattern*.gz" -exec zgrep -H 'pattern' {} \; \; {} 'pattern' -H zgrep -exec "file-pattern*.gz" -name "$(pwd)" find find "$(pwd)" -name "file-pattern*.gz" -exec zgrep -H 'pattern' {} \;rootopen.com
linux命令:find "$(pwd)" -name "file-pattern*.gz" -exec zgrep -H 'pattern' {} \; \; {} 'pattern' -H zgrep -exec "file-pattern*.gz" -name "$(pwd)" find find "$(pwd)" -name "file-pattern*.gz" -exec zgrep -H 'pattern' {} \;rootopen.com
2018-12-02 21:11:48

当你在浏览器中观看像youku这样的flash视频时,视频文件会被保存在硬盘上的一个临时位置。而且,如果你在同一个窗口中观看一个视频和另一个视频,第一个视频就会被删除。 限制 可能不能与所有浏览器兼容。 不能处理所有网站(例如IMDB)。 无法与Chrome中的匿名窗口一起工作

linux命令:find /private/ 2>/dev/null | grep /Flash /Flash grep | 2>/dev/null /private/ find find /private/ 2>/dev/null | grep /Flashrootopen.com
linux命令:find /private/ 2>/dev/null | grep /Flash /Flash grep | 2>/dev/null /private/ find find /private/ 2>/dev/null | grep /Flashrootopen.com
2018-11-26 23:14:07

linux命令:find / -iname *.jpg exec rm -rf {} \; \; {} -rf rm exec *.jpg -iname / find find / -iname *.jpg exec rm -rf {} \;rootopen.com
linux命令:find / -iname *.jpg exec rm -rf {} \; \; {} -rf rm exec *.jpg -iname / find find / -iname *.jpg exec rm -rf {} \;rootopen.com
2018-11-22 22:59:02

linux命令:find / -name "*.jpg" -delete -delete "*.jpg" -name / find find / -name "*.jpg" -deleterootopen.com
linux命令:find / -name "*.jpg" -delete -delete "*.jpg" -name / find find / -name "*.jpg" -deleterootopen.com
2018-11-22 22:57:51

删除断开的符号链接

linux命令:find -L . -type l -delete -delete l -type . -L find find -L . -type l -deleterootopen.com
linux命令:find -L . -type l -delete -delete l -type . -L find find -L . -type l -deleterootopen.com
2018-11-21 22:07:52

-type f: 仅文件类型 -mtime +n: 文件的数据在n * 24小时前被修改 -name "*.log": 文件有扩展.log,可以替换其他单词 zip -m {}.zip: 将所有文件压缩成zip /dev/null &: 跳过打印屏幕

linux命令:find . -type f -mtime +1 -name "*.log" -exec zip -m {}.zip {} \; >/dev/null & & >/dev/null \; {} {}.zip -m zip -exec "*.log" -name +1 -mtime f -type . find find . -type f -mtime +1 -name "*.log" -exec zip -m {}.zip {} \; >/dev/null &rootopen.com
linux命令:find . -type f -mtime +1 -name "*.log" -exec zip -m {}.zip {} \; >/dev/null & & >/dev/null \; {} {}.zip -m zip -exec "*.log" -name +1 -mtime f -type . find find . -type f -mtime +1 -name "*.log" -exec zip -m {}.zip {} \; >/dev/null &rootopen.com
2018-11-17 13:10:36

linux命令:find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u -u sort | m/\.([^.\/]+)$/' if $1 'print -ne perl | f -type . find find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -urootopen.com
linux命令:find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u -u sort | m/\.([^.\/]+)$/' if $1 'print -ne perl | f -type . find find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -urootopen.com
2018-11-17 12:47:53

linux命令:find . -type f -exec grep -Iq . {} \; -exec grep -oE "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" {} /dev/null \; \; /dev/null {} "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" -oE grep -exec \; {} . -Iq grep -exec f -type . find find . -type f -exec grep -Iq . {} \; -exec grep -oE "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" {} /dev/null \;rootopen.com
linux命令:find . -type f -exec grep -Iq . {} \; -exec grep -oE "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" {} /dev/null \; \; /dev/null {} "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" -oE grep -exec \; {} . -Iq grep -exec f -type . find find . -type f -exec grep -Iq . {} \; -exec grep -oE "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" {} /dev/null \;rootopen.com
2018-11-17 12:15:13

如果要计算目录,请删除'-maxdepth 1'选项

linux命令:find /dir/to/serach -maxdepth 1 -name "foo*.jpg"|wc -l -l "foo*.jpg"|wc -name 1 -maxdepth /dir/to/serach find find /dir/to/serach -maxdepth 1 -name "foo*.jpg"|wc -lrootopen.com
linux命令:find /dir/to/serach -maxdepth 1 -name "foo*.jpg"|wc -l -l "foo*.jpg"|wc -name 1 -maxdepth /dir/to/serach find find /dir/to/serach -maxdepth 1 -name "foo*.jpg"|wc -lrootopen.com
2018-10-25 22:09:31

这样可以确保您不会被更新所困扰,请务必确保您的插件没有任何安全问题

linux命令:find / -iname "manifest.json" -exec sed 's/\"update_url\": \"http/\"update_url\": \"hxxp/g' -i.bak '{}' \; \; '{}' -i.bak \"hxxp/g' \"http/\"update_url\": 's/\"update_url\": sed -exec "manifest.json" -iname / find find / -iname "manifest.json" -exec sed 's/\"update_url\": \"http/\"update_url\": \"hxxp/g' -i.bak '{}' \;rootopen.com
linux命令:find / -iname "manifest.json" -exec sed 's/\"update_url\": \"http/\"update_url\": \"hxxp/g' -i.bak '{}' \; \; '{}' -i.bak \"hxxp/g' \"http/\"update_url\": 's/\"update_url\": sed -exec "manifest.json" -iname / find find / -iname "manifest.json" -exec sed 's/\"update_url\": \"http/\"update_url\": \"hxxp/g' -i.bak '{}' \;rootopen.com
2018-10-10 23:24:01

假设你有一个完整的文件夹,里面有很多不同格式的音乐文件,您想要找到艺术家JayZ的所有* .mp3文件,但您不需要任何重新混音的曲目,使用带有几个grep管道的find命令可以解决这个问题

linux命令:find . –name “*.mp3” | grep –i JayZ | grep –vi “remix” “remix” –vi grep | JayZ –i grep | “*.mp3” –name . find find . –name “*.mp3” | grep –i JayZ | grep –vi “remix”rootopen.com
linux命令:find . –name “*.mp3” | grep –i JayZ | grep –vi “remix” “remix” –vi grep | JayZ –i grep | “*.mp3” –name . find find . –name “*.mp3” | grep –i JayZ | grep –vi “remix”rootopen.com
2018-09-11 09:55:30

linux命令:find . -type f \( -name "*.sh" -o -name "*.txt" \) \) "*.txt" -name -o "*.sh" -name \( f -type . find find . -type f \( -name "*.sh" -o -name "*.txt" \)rootopen.com
linux命令:find . -type f \( -name "*.sh" -o -name "*.txt" \) \) "*.txt" -name -o "*.sh" -name \( f -type . find find . -type f \( -name "*.sh" -o -name "*.txt" \)rootopen.com
2018-09-11 09:55:30

在没有libreoffice GUI的情况下查找并将所有libre office文件转换为PDF

linux命令:find /home/foo/Documents/ -type f -iname "*.odt" -exec libreoffice --headless --convert-to pdf '{}' \; \; '{}' pdf --convert-to --headless libreoffice -exec "*.odt" -iname f -type /home/foo/Documents/ find find /home/foo/Documents/ -type f -iname "*.odt" -exec libreoffice --headless --convert-to pdf '{}' \;rootopen.com
linux命令:find /home/foo/Documents/ -type f -iname "*.odt" -exec libreoffice --headless --convert-to pdf '{}' \; \; '{}' pdf --convert-to --headless libreoffice -exec "*.odt" -iname f -type /home/foo/Documents/ find find /home/foo/Documents/ -type f -iname "*.odt" -exec libreoffice --headless --convert-to pdf '{}' \;rootopen.com
2018-09-11 09:55:30

linux命令:find /path -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "your pattern"' \; \; pattern"' "your --color --label="{}" --with-filename grep | - "{}" 'pdftotext -c sh -exec '*.pdf' -name /path find find /path -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "your pattern"' \;rootopen.com
linux命令:find /path -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "your pattern"' \; \; pattern"' "your --color --label="{}" --with-filename grep | - "{}" 'pdftotext -c sh -exec '*.pdf' -name /path find find /path -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "your pattern"' \;rootopen.com
2018-08-15 22:25:12

cpio最重要的是档案的格式。 bin(默认)二进制格式以非可移植方法对文件进行编码。 因此,它不适合在PC上的Linux和Linux上的其他架构(如Alpha或Power PC)之间交换文件。 odc old(POSIX.1)便携式格式。 这可以跨平台移植,但不适用于具有超过65536个inode的文件系统,这意味着当今大多数较大的硬盘。 newc新的便携式格式,这可以跨平台移植,并且没有inode数量的固有限制。 crc新的便携式格式,添加了校验和。 tar与 tar兼容,但仅支持最多100个字符的文件名。 ustar新的tar格式。最多支持255个字符文件名。 HP / UX使用的 hpbin非可移植格式。 HP / UX使用的 hpodc “portable”格式。以不同方式存储设备文件。 使用--format开关指定存档格式 在所有格式中,crc格式可能是最好的,因为它是可移植的,并且通过校验和进行了额外的错误检查。

linux命令:find /export/home -depth | cpio --create \ --message="Insert next disk and type /dev/fd0 " \ --format=crc > /dev/fd0 /dev/fd0 > --format=crc \ " /dev/fd0 type and disk next --message="Insert \ --create cpio | -depth /export/home find find /export/home -depth | cpio --create \ --message="Insert next disk and type /dev/fd0 " \ --format=crc > /dev/fd0rootopen.com
linux命令:find /export/home -depth | cpio --create \ --message="Insert next disk and type /dev/fd0 " \ --format=crc > /dev/fd0 /dev/fd0 > --format=crc \ " /dev/fd0 type and disk next --message="Insert \ --create cpio | -depth /export/home find find /export/home -depth | cpio --create \ --message="Insert next disk and type /dev/fd0 " \ --format=crc > /dev/fd0rootopen.com
2018-07-28 11:13:15

cpio接受文件名列表,它不是在另一个区域中创建重复文件,而是创建一个存档并将其发送到标准输出。 由于它被发送到标准输出,因此可以将存档重定向到任何设备或文件

linux命令:find -depth /export/home \ | cpio --create > /dev/fd0 /dev/fd0 > --create cpio | \ /export/home -depth find find -depth /export/home \ | cpio --create > /dev/fd0rootopen.com
linux命令:find -depth /export/home \ | cpio --create > /dev/fd0 /dev/fd0 > --create cpio | \ /export/home -depth find find -depth /export/home \ | cpio --create > /dev/fd0rootopen.com
2018-07-28 11:09:43

此命令使find输出当前目录下的每个文件的名称。(-depth选项确保在其中的文件名之前输出目录名。)cpio读取这些文件名并将它们复制到/ mnt / export。 传递给cpio的开关是: --pass-through在直通模式下操作。 --preserve-modification-times将新文件的修改时间设置为旧文件的修改时间。 --make-directories在必要时创建目录。(此选项在恢复存档时也有效。) --verbose详细模式。此模式将为所有文件生成输出。另一种选择是-dot选项,它只产生一个 。对于处理的每个文件。(这些选项适用于所有模式。) 无论文件类型或设置的任何特殊文件模式如何,都会创建原始目录的精确副本。

linux命令:find . -depth | cpio --pass-through \ --preserve-modification-times \ --make-directories --verbose /mnt/export /mnt/export --verbose --make-directories \ --preserve-modification-times \ --pass-through cpio | -depth . find find . -depth | cpio --pass-through \ --preserve-modification-times \ --make-directories --verbose /mnt/exportrootopen.com
linux命令:find . -depth | cpio --pass-through \ --preserve-modification-times \ --make-directories --verbose /mnt/export /mnt/export --verbose --make-directories \ --preserve-modification-times \ --pass-through cpio | -depth . find find . -depth | cpio --pass-through \ --preserve-modification-times \ --make-directories --verbose /mnt/exportrootopen.com
2018-07-28 11:05:39

linux命令:find . -type d d -type . find find . -type drootopen.com
linux命令:find . -type d d -type . find find . -type drootopen.com
2018-07-24 23:15:58

linux命令:find . -regextype posix-egrep -regex '.+\.(c|cpp|h)$' -not -path '*/generated/*' -not -path '*/deploy/*' -print0 | xargs -0 ls -L1d -L1d ls -0 xargs | -print0 '*/deploy/*' -path -not '*/generated/*' -path -not '.+\.(c|cpp|h)$' -regex posix-egrep -regextype . find find . -regextype posix-egrep -regex '.+\.(c|cpp|h)$' -not -path '*/generated/*' -not -path '*/deploy/*' -print0 | xargs -0 ls -L1drootopen.com
linux命令:find . -regextype posix-egrep -regex '.+\.(c|cpp|h)$' -not -path '*/generated/*' -not -path '*/deploy/*' -print0 | xargs -0 ls -L1d -L1d ls -0 xargs | -print0 '*/deploy/*' -path -not '*/generated/*' -path -not '.+\.(c|cpp|h)$' -regex posix-egrep -regextype . find find . -regextype posix-egrep -regex '.+\.(c|cpp|h)$' -not -path '*/generated/*' -not -path '*/deploy/*' -print0 | xargs -0 ls -L1drootopen.com
2018-07-14 22:13:00

将当前目录中的文件内容与重复目录中的同名文件进行比较

linux命令:find . -maxdepth 1 -mindepth 1 -print0 | xargs -0 -n 1 -I % cmp % /DUPDIR/% 2>/dev/null 2>/dev/null /DUPDIR/% % cmp % -I 1 -n -0 xargs | -print0 1 -mindepth 1 -maxdepth . find find . -maxdepth 1 -mindepth 1 -print0 | xargs -0 -n 1 -I % cmp % /DUPDIR/% 2>/dev/nullrootopen.com
linux命令:find . -maxdepth 1 -mindepth 1 -print0 | xargs -0 -n 1 -I % cmp % /DUPDIR/% 2>/dev/null 2>/dev/null /DUPDIR/% % cmp % -I 1 -n -0 xargs | -print0 1 -mindepth 1 -maxdepth . find find . -maxdepth 1 -mindepth 1 -print0 | xargs -0 -n 1 -I % cmp % /DUPDIR/% 2>/dev/nullrootopen.com
2018-07-14 15:59:27

压缩firefox的信息数据库以加速浏览器的启动。

linux命令:find ~ -name '*.sqlite' -exec sqlite3 '{}' 'VACUUM;' \; \; 'VACUUM;' '{}' sqlite3 -exec '*.sqlite' -name ~ find find ~ -name '*.sqlite' -exec sqlite3 '{}' 'VACUUM;' \;rootopen.com
linux命令:find ~ -name '*.sqlite' -exec sqlite3 '{}' 'VACUUM;' \; \; 'VACUUM;' '{}' sqlite3 -exec '*.sqlite' -name ~ find find ~ -name '*.sqlite' -exec sqlite3 '{}' 'VACUUM;' \;rootopen.com
2018-02-23 08:24:48

linux命令:find . -type f | wc -l -l wc | f -type . find find . -type f | wc -lrootopen.com
linux命令:find . -type f | wc -l -l wc | f -type . find find . -type f | wc -lrootopen.com
2018-05-12 02:57:48

linux命令:find . \( -name "*.php" -o -name "*.js" \) -exec svn propset svn:keywords Id {} \; \; {} Id svn:keywords propset svn -exec \) "*.js" -name -o "*.php" -name \( . find find . \( -name "*.php" -o -name "*.js" \) -exec svn propset svn:keywords Id {} \;rootopen.com
linux命令:find . \( -name "*.php" -o -name "*.js" \) -exec svn propset svn:keywords Id {} \; \; {} Id svn:keywords propset svn -exec \) "*.js" -name -o "*.php" -name \( . find find . \( -name "*.php" -o -name "*.js" \) -exec svn propset svn:keywords Id {} \;rootopen.com
2018-02-25 03:37:48

这会查询给定类名的所有PHP文件并显示文件和用法。

linux命令:find . -name "*.php" -exec grep \-H "new filter_" {} \; \; {} filter_" "new \-H grep -exec "*.php" -name . find find . -name "*.php" -exec grep \-H "new filter_" {} \;rootopen.com
linux命令:find . -name "*.php" -exec grep \-H "new filter_" {} \; \; {} filter_" "new \-H grep -exec "*.php" -name . find find . -name "*.php" -exec grep \-H "new filter_" {} \;rootopen.com
2018-02-21 22:46:48

使用xargs优于:find / path / to / dir -type f -exec rm \ -f {} \;因为-exec开关对每次删除都使用单独的进程。 xargs将流媒体文件分割成更多可管理的子集,因此需要更少的进程。

linux命令:find /path/to/dir -type f -print0 | xargs -0 rm rm -0 xargs | -print0 f -type /path/to/dir find find /path/to/dir -type f -print0 | xargs -0 rmrootopen.com
linux命令:find /path/to/dir -type f -print0 | xargs -0 rm rm -0 xargs | -print0 f -type /path/to/dir find find /path/to/dir -type f -print0 | xargs -0 rmrootopen.com
2018-02-17 19:36:48

简单地使用find和grep递归搜索目录中包含特定术语的文件。

linux命令:find /path/to/dir -type f -exec grep \-H "search term" {} \; \; {} term" "search \-H grep -exec f -type /path/to/dir find find /path/to/dir -type f -exec grep \-H "search term" {} \;rootopen.com
linux命令:find /path/to/dir -type f -exec grep \-H "search term" {} \; \; {} term" "search \-H grep -exec f -type /path/to/dir find find /path/to/dir -type f -exec grep \-H "search term" {} \;rootopen.com
2018-01-25 09:44:48

查找grep忽略名称中包含.svn的文件的变体。用于通过源代码的本地存储库进行搜索。

linux命令:find . -type f -print0 | grep -vzZ '.svn' | xargs -0 grep --color -nEHi "SEARCHTERM" "SEARCHTERM" -nEHi --color grep -0 xargs | '.svn' -vzZ grep | -print0 f -type . find find . -type f -print0 | grep -vzZ '.svn' | xargs -0 grep --color -nEHi "SEARCHTERM"rootopen.com
linux命令:find . -type f -print0 | grep -vzZ '.svn' | xargs -0 grep --color -nEHi "SEARCHTERM" "SEARCHTERM" -nEHi --color grep -0 xargs | '.svn' -vzZ grep | -print0 f -type . find find . -type f -print0 | grep -vzZ '.svn' | xargs -0 grep --color -nEHi "SEARCHTERM"rootopen.com
2018-05-01 01:43:48

linux命令:find /path/to/dir -type f |sed 's/^.*\///'|grep -o '\.[^.]*$'|sort -f|uniq -i -i -f|uniq '\.[^.]*$'|sort -o 's/^.*\///'|grep |sed f -type /path/to/dir find find /path/to/dir -type f |sed 's/^.*\///'|grep -o '\.[^.]*$'|sort -f|uniq -irootopen.com
linux命令:find /path/to/dir -type f |sed 's/^.*\///'|grep -o '\.[^.]*$'|sort -f|uniq -i -i -f|uniq '\.[^.]*$'|sort -o 's/^.*\///'|grep |sed f -type /path/to/dir find find /path/to/dir -type f |sed 's/^.*\///'|grep -o '\.[^.]*$'|sort -f|uniq -irootopen.com
2018-02-20 06:34:48

取决于libjpeg-progs但是如何显示找到注释的路径?

linux命令:find ~/random_jpegs/folder -name "*.jpg" -exec rdjpgcom {} \; \; {} rdjpgcom -exec "*.jpg" -name ~/random_jpegs/folder find find ~/random_jpegs/folder -name "*.jpg" -exec rdjpgcom {} \;rootopen.com
linux命令:find ~/random_jpegs/folder -name "*.jpg" -exec rdjpgcom {} \; \; {} rdjpgcom -exec "*.jpg" -name ~/random_jpegs/folder find find ~/random_jpegs/folder -name "*.jpg" -exec rdjpgcom {} \;rootopen.com
2018-03-02 13:40:48

计算* .h和* .cc文件中的代码行数

linux命令:find . \( -name '*.h' -o -name '*.cc' \) | xargs grep . | wc -l -l wc | . grep xargs | \) '*.cc' -name -o '*.h' -name \( . find find . \( -name '*.h' -o -name '*.cc' \) | xargs grep . | wc -lrootopen.com
linux命令:find . \( -name '*.h' -o -name '*.cc' \) | xargs grep . | wc -l -l wc | . grep xargs | \) '*.cc' -name -o '*.h' -name \( . find find . \( -name '*.h' -o -name '*.cc' \) | xargs grep . | wc -lrootopen.com
2018-05-13 20:27:48

正则表达式匹配.c,.cpp,.C,.Cpp,.h,.hpp,.H,.Hpp等模式。匹配的文件通过etags管道创建一个TAGS文件,对emacs很有用。替代正则表达式(如果您不担心大写.Cpp)是-regex“。* \。c \ |。* \。cpp \ |。* \。h”

linux命令:find . -regex ".*\.[cChH]\(pp\)?" -print | etags - - etags | -print ".*\.[cChH]\(pp\)?" -regex . find find . -regex ".*\.[cChH]\(pp\)?" -print | etags -rootopen.com
linux命令:find . -regex ".*\.[cChH]\(pp\)?" -print | etags - - etags | -print ".*\.[cChH]\(pp\)?" -regex . find find . -regex ".*\.[cChH]\(pp\)?" -print | etags -rootopen.com
2018-02-17 19:19:48

如果你想开始将svc作为非特权用户而非root用户,那么这很有用。

linux命令:find /path/to/dir -user root -exec chown [nonprivuser] {} \; \; {} [nonprivuser] chown -exec root -user /path/to/dir find find /path/to/dir -user root -exec chown [nonprivuser] {} \;rootopen.com
linux命令:find /path/to/dir -user root -exec chown [nonprivuser] {} \; \; {} [nonprivuser] chown -exec root -user /path/to/dir find find /path/to/dir -user root -exec chown [nonprivuser] {} \;rootopen.com
2018-06-09 13:40:48

linux命令:find . -name "*.py" | xargs wc -l -l wc xargs | "*.py" -name . find find . -name "*.py" | xargs wc -lrootopen.com
linux命令:find . -name "*.py" | xargs wc -l -l wc xargs | "*.py" -name . find find . -name "*.py" | xargs wc -lrootopen.com
2018-04-28 23:29:48

linux命令:find . -type d -name '.svn' -print0 | xargs -0 rm -rdf -rdf rm -0 xargs | -print0 '.svn' -name d -type . find find . -type d -name '.svn' -print0 | xargs -0 rm -rdfrootopen.com
linux命令:find . -type d -name '.svn' -print0 | xargs -0 rm -rdf -rdf rm -0 xargs | -print0 '.svn' -name d -type . find find . -type d -name '.svn' -print0 | xargs -0 rm -rdfrootopen.com
2018-04-17 10:21:48

删除未在[#]天内修改的日志 - 根据需要修改压缩或移动

linux命令:find /path/to/dir -type f -mtime +[#] -exec rm -f {} \; \; {} -f rm -exec +[#] -mtime f -type /path/to/dir find find /path/to/dir -type f -mtime +[#] -exec rm -f {} \;rootopen.com
linux命令:find /path/to/dir -type f -mtime +[#] -exec rm -f {} \; \; {} -f rm -exec +[#] -mtime f -type /path/to/dir find find /path/to/dir -type f -mtime +[#] -exec rm -f {} \;rootopen.com
2018-02-26 18:51:48

使用当前目录及其子目录中的文件显示所有RPM。

linux命令:find $PWD -exec rpm --query -f {} \; | sort -u | grep -v "not owned" owned" "not -v grep | -u sort | \; {} -f --query rpm -exec $PWD find find $PWD -exec rpm --query -f {} \; | sort -u | grep -v "not owned"rootopen.com
linux命令:find $PWD -exec rpm --query -f {} \; | sort -u | grep -v "not owned" owned" "not -v grep | -u sort | \; {} -f --query rpm -exec $PWD find find $PWD -exec rpm --query -f {} \; | sort -u | grep -v "not owned"rootopen.com
2018-02-04 18:38:48

语法遵循常规的命令行表达式。例如:假设您有一个目录(带有子目录),其中有4000个.php文件。所有这些文件都是通过脚本创建的,但是呃,有一个错误!如果错字是“我们走吧!”但你的意思是说“让我们回家吧!”找到。 -name“* .php”| xargs perl -pi -e“s / let \'go \ jome \!/ let \'go \ home \!/ g”都更好:)multiline:find。 -name“* .php”| xargs perl -p0777i -e's / knownline1 \ nknownline2 / replacement / m'indescriminate line replace:find ./ -name'* .php'| xargs perl -pi -e's / \“。* $ \”/ \ new \ line \ content / g'

linux命令:find . -name "*.txt" | xargs perl -pi -e 's/old/new/g' 's/old/new/g' -e -pi perl xargs | "*.txt" -name . find find . -name "*.txt" | xargs perl -pi -e 's/old/new/g'rootopen.com
linux命令:find . -name "*.txt" | xargs perl -pi -e 's/old/new/g' 's/old/new/g' -e -pi perl xargs | "*.txt" -name . find find . -name "*.txt" | xargs perl -pi -e 's/old/new/g'rootopen.com
2018-04-05 08:58:48

如果您不知道文件的确切名称,“*”很重要。检查出来,你会看到

linux命令:find /dir/ -name *name* *name* -name /dir/ find find /dir/ -name *name*rootopen.com
linux命令:find /dir/ -name *name* *name* -name /dir/ find find /dir/ -name *name*rootopen.com
2018-05-01 22:15:48

Linux的Bash命令行(A-Z排序)