嗨,这是Sandra H欧洲杯男足enry-Stocker,“UNIX作为第二语言”网络上的作者。
In today’s Linux tip, we’re going to look at the find command – a tool that will prove very useful when you’re trying to locate a file or set of files based on almost any criteria – maybe the file’s size, name, owner, permissions, when it was last accessed or updated, when its status last changed, whether it’s executable or empty, its inode number and more. In fact, the number of options available for the find command is enough to make you dizzy.
所以,让我们来看看它是如何工作的。
仅给出文件名,仅在当前目录中查找外观。在这里,我们要求它找到一个名为“tryme”的文件。
$查找tryme.
如果我们添加了我们的条件,它将在当前目录和子目录中查看:
$ find -name tryme
我们可以按大小搜索文件,几乎可以轻松地搜索文件:
$ sudo查找/ home -size +10000
在这里,我正在使用sudo,因为我的用户帐户可能不允许我查看其他用户的家庭目录。请注意,无论我现在坐在文件系统中,我都可以在主目录中开始搜索,我要求找到大于10,000字节的所有文件。
如果我最后使用-ls运行相同的命令,我还可以查看inode数字,块和字节中的文件大小,以及文件权限 - 以及文件的完整位置。
$ sudo查找/ home -size +10000 -LS
现在让我们尝试一些发现有点异国情调的命令。使用此下一命令,我正在寻找具有特定权限的文件 - 所有者和组必须都有写入权限。其他权限是无关紧要的。
$ sudo查找/ home / nemo -perm / u = w,g = w
使用此下一个命令,我正在寻找空的文件。如果我没有指定类型是“f”(文件),我也会找到空目录。
$查找。- 空白-type f -ls
现在让我们计算在/ home的最后一小时内访问了多少文件。
$ sudo查找/ home -amin -60 |WC -L.
在下一个命令中,我将在当前目录中找到不属于我的文件和下方。这 !标志代表“不是”。
$查找。!!-User SHS -L
$查找。!!-User $ User -LS
请注意,第二个命令将为任何人工作,因为我使用$用户代替我的用户名。
下一个命令将在我的家庭目录中找到不属于我的文件,并询问我是否要删除它们。
$找到$ home!- 用户$ user-ok {} \;
将此作为“查找在我的主目录文件中不属于当前用户(ME)并删除它们”。{}括号是文件名的位置持有者。
这个最后一个命令告诉查找没有当前活动所有者的文件。
$查找。- 霍尔-LS.
如果我们添加exec子句,我们可以将这些文件移动到临时目录:
$ mkdir / tmp / $用户
$查找。- 呼应器-exec mv {} / tmp / $ user \;
请注意,我们如何使用反斜杠和分号结束此命令中的-exec子句。您可以使用-exec子句运行几乎任何涉及文件的命令 - mv,rm,chown,head和tail想到。
正如我所说的正面,使用查找命令查找特定文件并以某种方式操纵它们的许多选项。
这是你今天的Linux提示。如果您喜欢此视频,请点击类似物并分享按钮。对于更多Linux提示,请务必在Facebook上关注我们,Youtube和Networkworld.com。