• 总结一下Linux环境下文件查找和文件管理的几种方法


    前言

    我们在使用Linux系统时常常忘记我们的文件在什么路径下,那在Linux中有没有文件查找工具呢?今天就给大家介绍一下Linux系统下的文件查询工具–find 废话少说,咱们直接开始!

    按名称查找文件

    在命令行中键入find以按名称或扩展名跟踪特定文件。如果要在 /home/username/ 目录和所有子目录中查找 *.err 文件,请尝试以下操作:

     find /home/username/ -name "*.err"
    
    • 1

    find命令表达式如下所示:

    find command options starting/path expression
    
    • 1
    • options 属性:控制查找过程的行为和优化方法。

    • start/path属性:定义了 Linux 中find命令开始过滤过程的顶级目录。表达式属性控制搜索目录树以创建输出的评估。

    让我们分解一个 Linux 查找命令,我们不希望 Linux 按名称查找文件:

    find -O3 -L /var/www/ -name "*.html"
    
    • 1

    它启用顶级优化 (-O3) 并允许find遵循符号链接 (-L)。Linux 中的find命令在 /var/www/ 下的整个目录层次结构中搜索以 .html 结尾的文件。

    举个栗子

    如果您需要知道如何在 Linux 中查找名为 thisfile.txt 的文件,它将在当前目录和子目录中查找。

    find . -name thisfile.txt
    
    • 1

    /home 及其下面的目录中查找所有 .jpg 文件。

    find /home -name *.jpg
    
    • 1

    在当前目录中查找一个空文件。

    find . -type f -empty
    
    • 1

    查找在前 6 天内由名为randomperson的用户更改的所有 .db 文件(忽略文本大小写)。

    find /home -user randomperson-mtime 6 -iname ".db"
    
    • 1

    find的高级用法

    find默认配置为忽略符号链接(快捷方式文件)。如果您希望find命令跟随并显示符号链接,只需将 -L 选项添加到命令中,就像我们在本示例中所做的那样。

    find可以帮助 Linux 按名称查找文件。Linux find命令增强了其过滤方法,从而优化了性能。用户可以通过选择三个优化阶段-O1-O2-O3在Linux中查找文件。-O1是标准设置,它会导致find在运行任何其他测试之前根据文件名进行过滤。

    -O2 按文件名称和类型进行过滤,然后再使用要求更高的过滤器在 Linux 中查找文件。级别 -O3 根据测试的相对费用和成功的可能性对所有测试重新排序。

    • -O1:(默认)首先根据文件名过滤

    • -O2: 首先是文件名,然后是文件类型

    • -O3:允许查找根据资源的有效使用和成功的可能性自动重新排序搜索

    • -maxdepth X: 搜索此目录以及所有子目录到 X 级别

    • -iname:忽略文本大小写时搜索。

    • -not: 只产生与测试用例不匹配的结果

    • -type f:查找文件

    • -type d:寻找目录

    按修改时间查找文件

    Linux find命令包含根据文件上次修改时间过滤目录层次结构的功能:

    find / -name "*jpg" -mtime 5
    
    find /home/randomuser/ -name "*jpg" -mtime 4
    
    • 1
    • 2
    • 3

    最初的 Linux find命令会拉取整个系统中以字符jpg结尾且在前 5 天内已被修改的文件列表。下一个过滤randomuser 的主目录以查找名称以字符conf结尾且在前 4 天内已被修改的文件。

    使用 Grep 根据内容查找文件

    Linux 中的find命令很棒,但它只能根据文件名和元数据过滤目录树。要根据文件包含的内容搜索文件,您需要像 grep 这样的工具。举个例子:

    find . -type f -exec grep "forinstance" '{}' \; -print
    
    • 1

    这会遍历当前目录树 (.) 中作为文件的每个对象 (-type f),然后为每个匹配的文件运行 grep “forinstance”,然后将它们打印在屏幕上 (-print)。花括号 ({}) 是 Linux find命令匹配的那些结果的占位符。{} 放在单引号 (') 中,这样 grep 就不会得到畸形的文件名。-exec命令以分号 (;) 结束,它还需要转义 (\;) 以便它不会最终被 shell 解释。

    在实现-exec之前,xargs 将用于创建相同类型的输出:

    find . -type f -print | xargs grep "forinstance"
    
    • 1

    使用Find命令定位和处理文件

    -exec选项针对与查找表达式匹配的每个对象运行命令,让我们看看它的外观:

    find . -name "rc.conf" -exec chmod o+r '{}' \;
    
    • 1

    这会过滤当前目录树 (.) 中名为 rc.conf 的文件的所有对象,并运行 chmod o+r 命令来更改find返回结果的文件权限。

    Linux 的根目录是执行-exec运行的命令的位置。使用-execdir在匹配所在的目录中执行您想要的命令,因为在某些情况下这可能更安全并提高性能。

    -exec-execdir选项将继续自行运行,但如果您想在它们执行任何操作之前看到提示,请将-exec -ok-execdir换成-okdir

    如何使用 Plesk 管理文件?

    假设您有一个网站已准备好在您的笔记本电脑/台式机上运行,​​并且您想使用文件管理器将其上传到Linux 服务器上的Plesk

    • 在您的计算机上,您需要获取包含所有网站文件的文件夹,并将其添加到一种常用格式(ZIPRARTARTGZTAR.GZ)的压缩存档中。

    • Plesk 中,转到Files,单击 httpdocs 文件夹将其打开,单击Upload,选择存档文件,然后单击Open

    • 上传后,点击旁边的复选框,然后点击提取文件。

    如何在文件管理器中编辑文件

    默认情况下,文件管理器允许您编辑网站页面。为此,您可以使用:

    • HTML 编辑器或“所见即所得”风格的编辑器,这是一个不错的选择,因为它为您添加了 HTML 标记。 如果您对 HTML 不是那么有信心,那么这可能是一个有用的选择。

    • 代码编辑器。当您使用此文件打开 HTML 文件时,您将看到突出显示 HTML 语法的文本。如果您对自己添加 HTML 标签感到满意,那么代码编辑器就适合您。

    • 文本编辑器。HTML 文件用这个作为普通文本打开。

    您的 Plesk 管理员可能已经安装了 Rich Editor 扩展,在这种情况下,您可以使用它来编辑 HTML 文件。富编辑器以所见即所得的方式工作,就像代码编辑器一样,尽管它更好地配备了诸如拼写检查器之类的功能。

    以下是使用文件管理器编辑文件的方法:

    • 将光标放在文件上,与之对应的行将突出显示。

    • 通过单击打开文件的上下文菜单。

    • 单击Edit in ... Editor(这取决于您选择的编辑器)。

    如何使用文件管理器更改权限

    文件管理器的默认方法是非递归地更改权限,因此子文件和目录不受其所属上级目录更改权限的影响。使用 Plesk for Linux,您可以让文件管理器以递归方式修改权限,前提是您的 Plesk 管理员设置了权限递归扩展并且您了解文件权限的八进制表示法。

    要启用访问权限的递归编辑:

    • 将光标放在目录上并等待突出显示。

    • 单击以打开其上下文菜单,然后再次单击Set Permissions Recursive

    • 现在您可以编辑它们。“文件夹权限”是指更高级别的目录及其任何相关的子目录。在这种情况下,“文件权限”适用于子文件。

    • 完成权限修改后,单击OK

    👇点击下方公众号卡片获取资料👇
  • 相关阅读:
    只需3步部署Django项目到Kubernetes上
    『手撕Vue-CLI』编码规范检查
    全网最牛软件测试学习路线图(含学习路线图+学习阶段+学习视频+学习工具)
    第二部分:CSS3
    Springboot企业人力资源管理系统的开发与数据挖掘t1law计算机毕业设计-课程设计-期末作业-毕设程序代做
    Java中如何执行多条shell/bat命令 2023年验证通过
    2024比较赚钱的项目是什么?亲身经历,月入过万!
    域名系统 DNS
    装饰模式(Decorator Pattern)
    Visual Studio 2022版本17.8中的实用功能
  • 原文地址:https://blog.csdn.net/qq_45172832/article/details/126899684