标签: find

获取多个目录的总磁盘空间使用权

我知道 du -sh,它为我提供了用于给定目录的总磁盘空间。

我的问题是我感兴趣的目录分散在许多子目录中。我有正确的“查找”命令可以给我这些目录。目标是传递找到的目录并获取这些目录使用的总磁盘空间

如果我将这些目录作为参数传递给 du,我会得到用于该目录的总数,但没有总计。我想得到总计。

示例du -sh dir1 dir2给出如下输出

17k dir1 55K dir2

我需要做什么才能获得总计?

command-line bash find disk-usage

29
推荐指数
1
解决办法
3万
查看次数

我是不是用 find -exec mv 删除了所有内容?

我试图自己解决这个问题。这是我在终端中使用的命令:

find . -name "*.jpg" -exec mv {} pictures \;
Run Code Online (Sandbox Code Playgroud)

我没有先创建一个名为图片的目录。发生的事情是创建了一个名为pictures.gif 的文件。它是否找到文件然后在移动它们时覆盖它们?

由于此命令而创建的这个pictures.gif 文件是什么?

文件是否仍然可能在驱动器上的某个地方?

command-line find

26
推荐指数
2
解决办法
6301
查看次数

Ubuntu 19.10:为什么缺少“定位”命令?

操作系统:Ubuntu 19.10

当我跑的时候locate plymouth,我得到了

dkb@dkb-uee:~$ locate plymouth

Command 'locate' not found, but can be installed with:

sudo apt install mlocate

dkb@dkb-uee:~$ 
Run Code Online (Sandbox Code Playgroud)

所以我安装了mlocate,现在locate可以工作了。

据我所知,自 Ubuntu 11.04 以来,locate一直存在。

为什么它在 Ubuntu 19.10 中被排除在外?

find locate

24
推荐指数
1
解决办法
4105
查看次数

如何找到正在使用的启动器图标的位置?

我的桌面上有一个启动器,想手动添加另一个具有相同图标的启动器。

当我转到现有启动器的首选项并单击该图标时,它不会将我带到存储该图标的文件夹,而只会将我带到我的主文件夹。

如何找出启动器使用的图标在我的系统中的位置?

icons launcher find

23
推荐指数
3
解决办法
4万
查看次数

如何让 mlocate 仅索引某些目录?

我想在我的 Ubuntu 服务器上使用mlocate,但只能索引某些目录(例如/home/data,但不是 下的所有内容/)。但是,mlocate 的标准配置则相反;您指定要删除的路径(使用PRUNE_PATHS)。

有没有什么简单的方法可以实现这一点,或者任何类似的实用程序可以满足我的要求?(注意:它应该维护一个像 那样的索引mlocate,所以find是不可接受的,例如)谢谢。

search find locate

23
推荐指数
2
解决办法
2万
查看次数

查找和删除文件夹及其子文件夹中没有扩展名的所有文件

我有一个没有大约 500 个子目录的文件夹。里面有很多垃圾,我想把它清理干净。

我已经使用以下命令删除了我不想要的某些文件类型,例如图像:

find . -mindepth 1 -iname "*.jpg" -type f -delete
Run Code Online (Sandbox Code Playgroud)

但是,我现在想删除所有无扩展名的文件。类似“购物清单”而不是“购物清单.txt”的文件

我尝试了以下命令,但没有奏效:

find . -mindepth 1 ! -iname "*.*" -type f -delete
Run Code Online (Sandbox Code Playgroud)

command-line find

23
推荐指数
1
解决办法
3万
查看次数

为什么对 PATH 中的目录使用“-execdir”操作不安全?

为什么在使用-execdir时使用 find的操作组合不安全-exec

当我运行以下命令时,我收到以下提示消息:

/path/to/currentDir/$ find . -type f -name 'partOfFileNames*' -execdir rm -- {} +

find: The current directory is included in the PATH environment variable, which is insecure 
in combination with the -execdir action of find.  Please remove the current directory 
from your $PATH (that is, remove "." or leading or trailing colons)
Run Code Online (Sandbox Code Playgroud)

出现此提示的原因可能是什么?

command-line find environment-variables

21
推荐指数
2
解决办法
1万
查看次数

使用 locate 查找目录

我一直使用locate来查找我知道名称的文件,locate非常快,我喜欢它。对于最近创建的文件find很棒,通常使用最近创建的文件我知道它们基本上是在哪里创建的,所以我不必搜索我的整个文件系统。

当我忘记了目录的位置时, find 和 locate 似乎都不理想。

Locate 总是会吐出太多信息,因为目录中的每个文件也是 locate 的匹配项。例如,如果我在我的文件系统某处搜索名为 log 的目录,则定位日志将返回大量结果。如果我对 find 做同样的事情,find / -name log -type d find 需要几分钟才能运行,并且每次遇到无法读取的文件夹时都会吐出各种权限错误。

有没有更好的办法?

回答:所以我坚持使用 grep 直到找到其他东西:

locatedir () {
    for last; do true; done
    if [[ $last == *\/* ]]
    then
        locate $@ | grep "${last}\$"
    else
        locate $@ | grep "/${last}\$"
    fi
}
Run Code Online (Sandbox Code Playgroud)

find

20
推荐指数
3
解决办法
7万
查看次数

如何使用命令行查找具有特定像素大小的所有图像?

我试图在一个文件夹中查找所有 JPG 图像,该文件夹的子文件夹的宽度或高度低于 300 像素。

这样我想检测旧缩略图并删除它们。

当然,我可以使用find以下命令找到所有图像:

find . -iname "*.jpg" -type f | ...
Run Code Online (Sandbox Code Playgroud)

但是管道之后是什么?我可以使用哪个包来检测图片属性?

command-line metadata find

19
推荐指数
1
解决办法
2万
查看次数

为什么我可以找到 *main.o 但不能找到 *.o?

这个是对的:

$ find . -name *main.o
./main.o
Run Code Online (Sandbox Code Playgroud)

那么,为什么我找不到*.o

$ find . -name *.o
find: paths must precede expression: main.o
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
Run Code Online (Sandbox Code Playgroud)

command-line find

19
推荐指数
2
解决办法
1940
查看次数