首页 > 其他分享 >Liunx基础知识 --2

Liunx基础知识 --2

时间:2023-03-10 10:55:49浏览次数:29  
标签:文件 -- 目录 apache2 命令 查找 Liunx 基础知识 find

本教程的重点是通过命令行在 Linux 中查找您要查找的内容。

locate

Linux 有多种从命令行查找应用程序、命令、文件等的方法。可能最容易使用的是locate。Locate,后跟一个关键字,将遍历您的文件系统并找到该词的每一次出现。

有时locate发现的信息太多了。此外,如果您刚刚创建了一个文件,它可能不会出现在此列表中,因为locate使用每天更新一次的数据库。您今天创建的文件通常要到明天才会出现在该数据库中。

 

whereis

如果我们知道我们正在寻找的是二进制文件(类似于 Windows 中的可执行文件),Linux 有一个特定的命令。这个命令是whereis。whereis不仅会返回二进制文件的位置,还会返回它的手册或手册页。

kali > whereis aircrack-ng

正如您在上面看到的,whereis仅返回 aircrack-ng 二进制文件,而不是像 locate 那样返回所有出现的 aircrack-ng。

which

which命令更加具体。它只会返回 Linux 中 PATH 变量中二进制文件的位置。

kali > which aircrack-ng

正如您在上面看到的,它能够在 PATH 变量中列出的目录中找到一个二进制文件。我们将在有关 PATH 变量的后续教程中做更多的事情,但现在知道 PATH 变量是操作系统查找您在命令行键入的二进制文件(命令)的地方就足够了。至少,这通常包括 /usr/bin。

 

find

find命令是最强大和最灵活的查找实用程序。find能够在任何指定目录中开始搜索,并查找许多不同的参数,当然包括文件名,但也可以找到满足其他条件的文件,例如 ;

1.创建或修改日期

2. 所有者

3.组

4.权限

5.尺寸

find的基本语法是;

find <要搜索的目录列表> <选项> <表达式>

因此,如果我想搜索从文件系统(根)/目录顶部开始的名称为 apache2 的文件,我会键入; 

kali > find / -type f -name apache2

/是开始搜索的目录

-type在这种情况下是文件类型 -f 或普通文件

-name按名称或 apache2 搜索

如您所见,find 命令从文件系统的顶部开始,遍历每个目录以查找我们的 apache2 命令。它找到了许多它的实例并为我们列出了它们。不幸的是,这样的搜索很慢并且需要find在每个目录中查找。如果我们只希望它在 /etc 目录中查找怎么办?

在这种情况下,我们可以从 /etc 目录开始搜索,并且只在该目录及其子目录中寻找 apache2 的出现。让我们试试这个。

kali > find /etc -type f -name apache2

正如我们在上面看到的,这种更快的搜索只在 /etc 目录及其子目录中找到了那些 apache2 的出现。同样重要的是要注意,与 locate 等其他一些搜索命令不同,find仅显示完全匹配的名称。如果文件 apache2 有扩展名,例如 apache2.conf,它将不匹配。我们可以通过使用通配符(*.、? 和 [])来弥补这个限制。在这种情况下,让我们在 /etc 目录中查找以 apache2 开头并具有任何扩展名的所有文件(我们可能正在查找 apache2.conf)。我们可以编写一个带有通配符的查找命令,例如;

 kali > find /etc -type f -name 'apache2.*'  请注意,我必须在我使用通配符搜索的名称周围使用单引号 ' '。当我运行此命令时,我在 /etc 目录中找到 2 个以 apache2 开头的文件,包括 apache2.conf 文件。   grep 很多时候,在使用命令行时,我们可能希望找到特定的关键字。grep 是一个搜索关键字的过滤器。当输出从一个命令通过管道传输到另一个命令时,通常会使用它。我将在本系列的未来教程中做更多关于管道的工作,但现在足以说明 Linux(和 Windows)允许我们获取一个命令的输出并将其发送到另一个命令。这称为管道,我们使用| 执行此操作(此字符通常位于 ENTER 键上方)。因此,例如,如果我想查看我的 Linux 系统上运行的所有服务,我可以使用ps命令,然后使用 aux 开关,例如;

kali > ps aux

如您所见,这为我提供了该系统中运行的所有服务。如果我只想在这个长列表中找到一项服务怎么办?

我可以通过将 ps 的输出传输到grep并查找关键字来完成此操作。例如,如果我想知道 apache2 服务是否正在运行,我可以输入;

kali > ps aux | grep apache2

此命令表示“显示我的所有服务,然后将该输出发送到 grep,它将在其中查找关键字 apache2,然后仅显示该输出”。

 

 正如您在上面看到的,grep 能够过滤掉所有其他服务,并且只显示名称中包含 apache2 的服务,从而节省了我大量的时间和视力扫描列表手动查找 apache2。

参考链接:https://www.hackers-arise.com/post/2016/08/08/Linux-Basics-for-the-Aspiring-Hacker-Part-2-Finding-stuff

标签:文件,--,目录,apache2,命令,查找,Liunx,基础知识,find
From: https://www.cnblogs.com/wgd-elwood/p/17202630.html

相关文章

  • 如何系统地学习软件测试?
    现如今互联网行业飞速发展,IT行业也是水涨船高,软件行业的未来发展也是越来越好。而软件测试在软件行业可谓是一个必不可少的职业,它不仅算得上一个长青工作,而且也是一个......
  • 21:swift-扩展
      正文/*扩展1:扩展为现有的类、结构体、枚举类型、或协议添加了新功能。这也包括了为无访问权限的源代码扩展类型的能力(即所谓的逆向建模)。扩展和Objec......
  • 第一组个人工作统一认知
    这学期我们六个人成为了一个团队来进行平时的作业讨论,不断利用每个人的个人优势和特长,积极投入其中,在组长李小龙的带领下,我们相信我们会不断完善自身的专业知识和技能,做到......
  • Pycharm里的Empty test suite错误
    今天写代码,遇到了非常糟心的事情,程序一直出现这个错误: 最后网上搜索了一下,出现这种错误是因为类名或文件名不能以Test命名,这是我之前写的代码: 后来修改完之后,还是会......
  • kaldi在linux上编译,Ubuntu 12.04下编译安装Kaldi https://blog.csdn.net/we
    因为同事工作需要kaldi,所以安装过程有点麻烦。在此记录一下折腾的过程。OS:Ubuntu 12.04(amd64)kaldi的下载地址 http://svn.code.sf.net/p/kaldi/code/ 我这里下......
  • 只需几步小白也能写出python爬虫代码
    关于爬虫怎么写,我们应该从最简单的商品的批量爬取说起,下面就是我写的一个简单的Python代码,看如何爬取并并存储到MySQL数据库中。首先,需要安装必要的第三方库,如:requests,Bea......
  • 高性能、低功耗4口全速 USB1.1 HUB控制器DPU54 替代AU9254
    产品概述DPU54是一款高性能、低功耗4口全速USB1.1HUB控制器,上行端口兼容全速12MHz模式,4个下行端口兼容全速12MHz、低速1.5MHz两种模式。DPU54采用状态机单事务处......
  • 常用函数(四)
    const修饰普通变量为只读变量    修饰*例如:const*p,在使用中,*p是只读,不能通过*p修改p所指向的空间内容。p可读可写,p可以指向其它空间   ......
  • ASP.NET Core - 配置系统之配置添加
    2.配置添加配置系统可以读取到配置文件中的信息,那必然有某个地方可以将配置文件添加到配置系统中。之前的文章中讲到ASP.NETCore入口文件中,builder(WebApplicationBui......
  • lol比赛战绩查询在哪里查看 英雄联盟lol手机上怎么查战绩呢
    方法一、英雄联盟lol手机上怎么查战绩呢,掌上英雄联盟查手游战绩的方法如下1.进入掌上英雄联盟后2.点击顶部的英雄联盟手游图标3.在打开的界面中点击右下......