标签: find

删除空子文件夹,保留父文件夹

当我使用

find /home/user/parentdir -type d -empty -delete
Run Code Online (Sandbox Code Playgroud)

它递归地查找里面的空子文件夹/home/user/parentdir并删除它们。但是如果/home/user/parentdir也是空的,它也会删除parentdir文件夹,这对我来说是不可取的。

我想将此保留parentdirrsync一些文件中以进行备份或云计算。处理后,我需要删除空文件夹,但parentdir每次重新创建似乎都无济于事。

parentdir什么建议要保留吗?我想在其中创建一个.nocopy文件并将其从 中排除rsync,但看起来有点矫枉过正。有没有更优雅的方式?

command-line bash rsync find

15
推荐指数
2
解决办法
3099
查看次数

在整个目录结构中查找文件或目录

如何在 bash 中找到具有特定名称的文件。我想搜索整个系统。我尝试使用 find,但这只能通过一个级别。

bash directory find

14
推荐指数
1
解决办法
5万
查看次数

这个“查找”命令有什么问题?

我正在执行以下命令(查找所有带有.ts扩展名的文件并删除它们):

find . -type f -name "*.ts" –delete
Run Code Online (Sandbox Code Playgroud)

出现错误:

find: paths must precede expression: `–delete'
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

command-line delete find

14
推荐指数
1
解决办法
2165
查看次数

如何让“查找”不返回当前目录

我目前正在尝试find(并复制)指定目录中与特定模式匹配的所有文件和文件夹结构,我几乎就在那里!

具体来说,我想从指定的路径递归复制所有不以“_”字符开头的文件夹。

find /source/path/with/directories -maxdepth 1 -type d ! -name _\* -exec cp -R {} /destination/path \;
Run Code Online (Sandbox Code Playgroud)

在 /source/path/with/directories/ 路径中是机器特定的目录,以 '_' 和其他开头,我只对复制其他目录感兴趣。出于某种原因,find 命令返回 /source/path/with/directories/ 目录,因此复制其内容,包括以“_”开头的目录。

任何人都知道为什么会这样?

谢谢,

帕斯卡

find

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

如何防止 /tmp 中的文件夹被清理?

这个问题是关于我的开发人员笔记本电脑上的 Ubuntu 14.10。

我有一个文件夹,/tmp应用程序使用该文件夹将临时内容放入其中。此应用程序通常在我的 homedir 中创建一个临时文件夹,然后将其删除。由于某种原因,当 homedir 被加密时这不起作用。因此,我/tmp/foo在 homedir 中创建了一个符号链接。我的应用程序可以在那里写入并使其成为临时子文件夹。

现在/tmp/foo每次我重新启动机器时都会被删除。到目前为止,我只是在重新启动后手动重新创建了该文件夹。现在我在/tmp 目录如何清理?有工作要做。

我已经看过了,/etc/init/mounted-tmp.conf但是我的 bashfu,尤其是我的 findfu 不足以做我想做的事。这是该文件的摘录:

   EXCEPT='! -name .
            ! ( -path ./lost+found -uid 0 )
            ! ( -path ./quota.user -uid 0 )
            ! ( -path ./aquota.user -uid 0 )
            ! ( -path ./quota.group -uid 0 )
            ! ( -path ./aquota.group -uid 0 )
            ! ( -path ./.journal -uid 0 )
            ! ( -path ./.clean -uid 0 )
            ! ( …
Run Code Online (Sandbox Code Playgroud)

bash find 14.10

13
推荐指数
3
解决办法
4912
查看次数

为什么 find 命令会在 /run/ 中爆炸?

我使用以下命令来检查此答案给出的 python 版本。除了一个错误外,它确实有效,如下所示。任何人都可以解释为什么?

$ sudo find / -type f -executable -iname 'python*' -exec file -i '{}' \; \
    | awk -F: '/x-executable; charset=binary/ {print $1}' \
    | xargs readlink -f | sort -u | xargs -I % sh -c 'echo -n "%: "; % -V'
Run Code Online (Sandbox Code Playgroud)

错误:

find: ‘/run/user/1000/gvfs’: Permission denied
Run Code Online (Sandbox Code Playgroud)

permissions find

13
推荐指数
2
解决办法
7078
查看次数

如何将某些文件移动到其父目录?

我想将所有意外放入 flac 文件夹中的 mp3 提取到它们的父文件夹中。

文件夹的深度无关紧要,我只想将匹配的文件向上移动一个目录。

以下是我选择文件的方式:

find . -path "*/flac/*" -name '*.mp3'
Run Code Online (Sandbox Code Playgroud)

这适用于我的音乐文件夹,但我被困在这里。我找到的所有解决方案,要么将文件移动到当前文件夹的父文件夹,要么需要一些固定结构。

command-line files directory find mv

13
推荐指数
1
解决办法
5355
查看次数

如何查找没有组权限的文件?

我只想知道如何使用终端在文件夹中找到根本没有组用户权限(没有读/写/执行)的文件。

permissions command-line find groups

13
推荐指数
2
解决办法
3308
查看次数

使用 xargs 删除名称中带有空格的文件夹

为什么 xargs 不能删除名称中带有空格的目录,以及如何解决这个问题?

76 find . -type d |xargs  rm -rf
 77 rm -rf fire\ hydrant/
 78 rm -rf wine\ glass/
 79 rm -rf tennis\ racket/
 80 rm -rf traffic\ light/
 81 rm -rf parking\ meter/
 82 rm -rf teddy\ bear/
 83 rm -rf sports\ ball/
 84 rm -rf cell\ phone/
 85 rm -rf stop\ sign/
 86 rm -rf dining\ table/
 87 rm -rf potted\ plant/
Run Code Online (Sandbox Code Playgroud)

command-line find xargs

12
推荐指数
2
解决办法
2150
查看次数

如何找到系统上的所有视频文件?

我尝试使用 Unity Lens File 搜索*.*并按 Last Modified=All、Type=Videos 和 Size=All进行过滤,但没有找到任何东西,尽管我知道我的图片文件夹中有一些 .3gp 文件。我知道我在文件系统上安装的另一个驱动器上也有许多视频文件。我编译了一个可能的扩展列表,我尝试了多次find命令迭代,使用这些命令 find ./ -name "*.ext" -o (etc, etc, ad nauseum) 没有任何运气。解决办法是什么?

video bash files file-format find

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

标签 统计

find ×10

command-line ×5

bash ×4

directory ×2

files ×2

permissions ×2

14.10 ×1

delete ×1

file-format ×1

groups ×1

mv ×1

rsync ×1

video ×1

xargs ×1