我正在尝试example.filename
在我的 FreeBSD 服务器上找到 的所有副本。最好/最简单/最有效的方法是什么?
在 Linux 下,如何找到特定用户可写(或实际上不可写)的所有文件和目录?
编辑:澄清一下,我的意思是在特定的子目录下,而不是系统范围内。是的,这意味着允许该用户编写的用户、组和世界可写性的所有排列和组合。我知道这个问题在语义上意味着什么,我希望执行一个或几个行来获取这些文件的列表。
我在 HP-UX 系统上工作,我想查找是否有任何循环符号链接。
到目前为止,我正在使用以下命令:
ls -lrt `find ./ -follow -type l`
Run Code Online (Sandbox Code Playgroud)
但结果只是在当前目录上执行 ls -lrt 。
我应该使用什么命令来查找系统中的所有循环符号链接?
我认为我在使用 find 方面相当先进,但每次使用它时,我终生都无法记住关闭 -exec 选项的方法。每次使用它时,我都会花大量时间阅读。是我不够用还是对自己期望过高?让我们从一个让我感到沮丧的典型例子开始。
目录结构包含所有权限不正确的文件隐藏文件符号链接等。我想将所有权更改为合理的值
find . -type f -exec chown username {} \;
find . -type d -exec chown username {} \;
find . -type d -exec chgrp usergroup {} \;
find . -type f -exec chgrp usergroup {} \;
Run Code Online (Sandbox Code Playgroud)
(如果结局是倒退的话,请原谅我……我一小时前看过它,但我仍然不确定)
但是由于挂载、符号链接等原因,我害怕运行它。我已经把 chmod .* 搞得一团糟,并且以前在我身上递归过。我知道 -xdev 会放弃交叉分区,但我不确定位于作为符号链接的目录中的文件会发生什么。
那么如何掌握这种可以杀死关键文件的野兽呢?
更新修剪下面的最佳建议并总结:
我对 print0 有点困惑,但 xargs 一直有点在我试图避免的乍一看不容易理解的练习上。
我在 Windows 7 x64 机器上有一个管理员帐户。它不是管理员帐户,该帐户只是管理员组的成员。
安装是默认的。当用户打开命令提示符时,它最终会出现在用户的 %HOMEPATH% 目录中,您可以在其中找到各种目录,例如 Documents 文件夹。如果用户使用以下(Windows)FIND 命令,则会出现“拒绝访问”错误:
FIND /I "My String" C:\Users\Rann\Documents
Access denied - C:\USERS\RANN\DOCUMENTS
Run Code Online (Sandbox Code Playgroud)
使用 runas 或右键单击命令提示符以管理员身份运行它不会改变这种行为;管理员级别的 cmd.exe 仍然给我同样的错误。更改任何其他目录的路径会产生相同的错误。
因此,我的问题是:应该如何使用 FIND(可能还有其他)命令?需要什么权利?
我想删除特定文件夹中大于 2MB 的文件。所以我跑了:
find . -size +2M
我得到了两个文件的列表
./a/b/c/file1
./a/f/g/file2
所以我然后运行:
find . -size +2M -exec rm ;
我收到错误信息 Find: missing argument to -exec
我检查了手册页中的语法,它说 -exec command ;
所以我尝试
find . -size +2M -exec rm {} +
它有效。我知道 {} 使它执行命令rm file1 file2
而不是rm file1; rm file2;
.
那么为什么第一个不起作用呢?
回答:
我想我只需要 RTFM 几次才能最终理解它在说什么。尽管第一个示例没有显示 {},但在所有情况下都需要大括号。然后要么添加 \; 或 + 取决于所需的方法。不要只看标题。也请阅读说明。知道了。
我想从特定日期和转发 rsync 文件夹。例如。我想同步我 3 天前(当然还有 2 天前、一天前等)创建的文件夹。我知道我需要使用 find 和 rsync 但我不确定如何使用。任何的想法?谢谢!多坦。
GNU find(和其他人?)有一个-true
测试以及正常的-name
,-mode
,-user
等等。从手册页:
-true 始终为真。
每次我看到手册页时,我都会注意到这一点,并想知道它什么时候有用。所以,给我一些什么时候有用的例子:~)
我正在运行此命令以找出过去 10 分钟内修改过的文件
find / -fstype local -mtime -10m
Run Code Online (Sandbox Code Playgroud)
但每次都会出现以下错误
find: missing argument to `-mtime'
Run Code Online (Sandbox Code Playgroud)
上面有什么问题?