掌握 Linux 问号指令:轻松解决 Linux 命令失败的难题 (linux 问号指令)

Linux 作为一个强大的操作系统,被广泛用于服务器、嵌入式系统和个人电脑等领域。在 Linux 中,命令行是最基本的操作方式之一。然而,当我们在执行命令时,经常会遇到一些问题,比如命令失败或者输出不正确。这时候,我们可以使用问号指令来解决这些问题。

一、什么是问号指令

问号指令是 Linux 中的一个特殊符号,用于搜索命令历史记录。具体来说,当我们输入一个命令时,如果它执行失败或者输出不正确,我们可以用问号指令来查找之前输入的同类命令,并重新执行。

问号指令的语法为“!?string?”,其中“string”是待搜索的字符串。比如说,我们在执行一个命令时,出现了“command not found”的错误提示。这时候,我们可以输入“!?command?”来搜索之前输入的同类命令,重新执行。

二、如何使用问号指令

问号指令的使用非常简单,只需要按照以下步骤操作即可:

1. 输入命令,执行失败或者输出不正确。

2. 输入“!?string?”,其中“string”是待搜索的字符串。

3. 按下回车键,系统将搜索之前输入的同类命令,并在命令行中显示出搜索到的命令。

4. 确认搜索结果无误后,按下回车键重新执行命令。

除了使用问号指令之外,我们还可以使用历史命令来重新执行之前的命令。具体来说,我们可以使用“history”命令来查看之前输入的命令历史记录,并使用“!n”(其中n是命令的序号)来重新执行某个命令。

但是,与使用历史命令相比,使用问号指令有以下优点:

1. 可以根据命令的字符串进行搜索,更加灵活。

2. 搜索结果会直接在命令行中显示出来,避免了查看历史命令记录的复杂操作。

3. 可以避免重复键入较长的命令,提高效率。

三、问号指令的实例应用

为了更加深入地理解问号指令的用法,下面我们来看一些具体的例子。

1. 执行找不到的命令

当我们在执行某个命令时,出现了“command not found”的错误提示,说明该命令在系统中不存在。这时候,我们可以使用问号指令来搜索之前输入的同类命令,以找到正确的命令并重新执行。

比如说,当我们输入“netstatt”时,系统提示“command not found”。这时候,我们可以输入“!?netstat?”来搜索之前输入的同类命令,找到正确的命令“netstat”,并重新执行。

2. 执行输出不正确的命令

有时候,我们执行某个命令后,输出的结果与预期不符,或者包含了我们不需要的内容。这时候,我们可以使用问号指令来搜索之前输入的同类命令,以找到正确的命令并重新执行。

比如说,当我们输入“ls -a”,系统输出了所有的目录及其文件,但其中包含了一些我们不需要的文件。这时候,我们可以输入“!?ls?”来搜索之前输入的同类命令,找到正确的命令“ls -l”,并重新执行。

3. 执行复杂的命令

有些命令比较复杂,容易出错。当我们在输入这些命令时,经常会遇到一些问题,比如拼写错误、参数不正确等。这时候,我们可以使用问号指令来搜索之前输入的同类命令,并根据搜索结果进行修改和重新执行。

比如说,当我们输入“sudo apt-get install python python-pip python-dev python-virtualenv”的时候,系统提示“invalid operation python”。这个错误提示让人有些困惑,我们可以使用问号指令来搜索之前输入的同类命令,以找到更加合适的命令并重新执行。

四、

问号指令是 Linux 中一个非常实用的小技巧,可以帮助我们轻松解决命令执行失败或者输出不正确的难题。同时,使用问号指令还可以提高操作效率,避免重复输入较长的命令或者查看历史命令记录的复杂操作。因此,对于 Linux 用户而言,掌握问号指令的使用方法是非常重要的。

相关问题拓展阅读:

linux命令模式下出现问号,请问怎么解决

怎么个乱码?通常正确设置locale和环境变量LANG就不会出现

linux怎样查找以某个字母打头的文件或文件夹?

ls -al |grep c* 这样就可以了,运用管道命令|。

如何使用命令行在Linux中查找文件和文件夹

使用查找命令,“find”命令允许您搜索知道近似文件名的文件。该命令的最简单形式在当前目录中搜索文件,并递归地通过其与所提供的搜索条件匹配的子目录。您可以按名称,所有者,组,类型,权限,日期和其他条件搜索文件。

在提示符下键入以下命令将列出当前目录中的所有文件。

“find”后的点表示当前目录。

要查找符合特定模式的文件,请使用-name参数。您可以使用文件名元字符(例如*),但您应该将一个转义字符(\)放在每个字符之前或将它们括在引号中。

例如,如果要在Documents目录中找到以“pro”开头的所有文件,我们将使用该cd Documents/命令更改为Documents目录,然后键入以下命令:

find . -name pro\*

列出以“pro”开头的当前目录中的所有文件。

注意:find命令默认为区分大小写。如果要搜索单词或短语不区分大小写,请使用-inamefind命令中的选项。这是-name命令的不区分大小写的版本。

如果find没有找到符合条件的任何文件,则不会产生任何输出。

find命令有很多选项可用于完善搜索。有关find命令的更多信息,请man find  在“终端”窗口中运行,然后按Enter键。

使用定位命令

locate命令比find命令更快,因为它使用了先前构建的数据库,而find命令通过所有实际目录和文件在实际系统中进行搜索。locate命令返回包含指定字符组的所有路径名的列表。

数据库从cron定期更新,但您也可以随时更新数据,以便您可以获得最新的结果。为此,请在提示符下键入以下命令:

sudo updatedb

出现提示时输入密码。

locate命令的基本形式从文件系统中找到包含搜索条件全部或部分内容的所有文件。

locate mydata

例如,上面的命令发现了两个包含“mydata”的文件和一个包含“数据”的文件

如果要查找包含完全唯一的搜索条件的所有文件或目录,请使用-blocate命令中的选项,如下所示。

locate-b’\ mydata’御弯

上述命令中的反斜杠是一个globbing字符,它提供了将非特定文件名中的通配符扩展成一组特定文件名的方法。通配符是表达式被评估时可以被一个或多个字符替换的符号。最常见的通配符是问号(?),它表示单个字符,而asterisk(*)表示连续的字符串。在上面的例子中,反斜杠禁用“* mydata *”隐式替换“mydata”,所以最终只能包含“mydata”的结果。

mlocate命令是一个新的locate的实现。它索引整个文件系统,但搜索结果只包含当前用户可访问的文件。更新mlocate数据库时,它会在数据库中保留时间戳信息。这允许mlocate知道目录中的内容是否更改庆正,而不再读取内容,并使数据库更新速度更快,对硬盘驱动器的要求也更低。

当您安装mlocate时,/ usr / bin / locate二进制文件更改为指向mlocate。要安装mlocate,如果尚未包括在Linux发行版中,请在提示符下键入以下命令。

sudo apt-get install mlocate

注意:我们将在本文后面显示一条命令,允许您确定命令的可执行文件所在的位置(如果存在)。

mlocate命令不使用与标准locate命令相同的数据库文件。因此,您可能需要在提示符下键入以下命令手动创建数据库:

sudo /etc/cron.daily/mlocate

在数据库手动创建数据库或从cron运行脚本之前,mlocate命令将不起作用。

有关locate或mlocate命令的详细信息,请键入man locate或man mlocate  在“终端”窗口中,然后按Enter键。两个命令显示相同的帮助屏幕。

使用哪个命令

“which”命令返回发出命令时调用的可执行文件的绝对路径。这在找到用于在桌面,面板或桌面管理器镇差闷中的其他位置创建程序的快捷方式时可用于查找可执行文件的位置。例如,键入命令将which firefox 显示下图中显示的结果。

默认情况下,哪个命令只显示之一个匹配的可执行文件。要显示所有匹配的可执行文件,请使用-a以下命令的选项:

这是一个firefox

您可以一次搜索多个可执行文件,如下图所示。只显示找到的可执行文件的路径。在下面的例子中,只发现了“ps”可执行文件。

注意:哪个命令只搜索当前用户的PATH变量。如果搜索只能作为普通用户使用的root用户的可执行文件,则不会显示任何结果。

有关哪个命令的更多信息,请在终端窗口中的命令提示符下键入“man which”(不带引号),然后按Enter键。

使用Whereis命令

whereis命令用于查找命令的二进制文件,源文件和手册页文件所在的位置。例如,whereis firefox 在提示符下输入将显示如下图所示的结果

如果您只想要显示可执行文件的路径,而不是源和路径(man(页)),请使用该-b选项。例如,该命令whereis -b firefox将仅显示/usr/bin/firefox为结果。这很方便,因为您可能会比搜索该程序的源页面和手册页更频繁地搜索程序的可执行文件。您也可以仅搜索源文件(-s)或仅搜索手册页(-m)。

有关whereis命令的详细信息,请键入man whereis 终端窗口,然后按Enter键。

了解Whereis命令与哪个命令之间的区别

whereis命令显示命令的二进制,源和手册页的位置,而哪个命令仅显示命令的二进制文件的位置。

whereis命令搜索二进制,源和man文件的特定目录列表,而哪个命令搜索当前用户的PATH环境变量中列出的目录。对于whereis命令,可以在命令的手册页的FILES部分中找到具体目录的列表。

当涉及默认显示的结果时,whereis命令显示它找到的所有内容,而哪个命令只显示找到的之一个可执行文件。您可以使用-a前面讨论过的选项来更改该命令。

因为whereis命令只使用硬编码到命令中的路径,所以您可能并不总是找到您要查找的内容。如果您正在搜索一个程序,则认为可能安装在whereis命令的手册页中未列出的目录中,您可能希望使用该-a选项以查找系统中所有出现的命令,

关于linux 问号指令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 掌握 Linux 问号指令:轻松解决 Linux 命令失败的难题 (linux 问号指令)