MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > linux / 正文

在 Linux 中查找系统信息

2024-11-26 16:43 huorong linux 6 ℃ 0 评论

使用任何操作系统 (OS) 时,有时需要查找文件。我们将在本文中介绍的一些命令将查找特定类型的文件。其他人会在特定的地方寻找任何文件,一个人会告诉你一个命令的解释。

这些对于 Linux 用户可能非常有用。

Which

此命令将搜索操作系统的路径以查找指定的可执行文件。

让我们看看为您的系统设置的路径。打开终端并输入命令“echo $PATH”。您应该得到一个结果行,其中列出了为操作系统设置的路径。我的路径是'/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin '. 冒号) 分隔每个目录。我的路径中有九个条目。

当我执行搜索时,它从文件夹“/usr/local/sbin”开始,然后一直到列表的末尾。

如果我们找到该文件,那么程序会列出它的路径,程序会停止搜索,除非您使用“-a”参数搜索所有路径并列出所有找到的程序。如果您自己编写一个程序并尝试运行它,然后执行另一个程序,则“-a”命令会很有用。您可以看到有多少文件具有相同的名称以及它们的运行顺序。

要使用“which”,只需键入命令“which <-a> <filename>”。此处不需要“-a”,但需要文件名。

让我们做一个测试。我运行了命令“哪个”。这将列出程序找到“哪个”的文件夹。我系统上的结果是:

/usr/bin/which

这告诉我该程序位于文件夹“/usr/bin/”中。该文件夹是我路径中列出的第四个。

为了好玩,让我们试试“which -a which”。现在我们可以查看是否有多个具有可执行权限的名为“which”的文件。结果是:

/usr/bin/which
/bin/which


如前所述,找到的第一个文件是路径中的第四项。找到的第二个文件是路径中的第六项。它按路径顺序找到文件。

如果要更改路径,请执行“导出”命令:

export PATH=$PATH:/home/jarret/Scripts

该命令会将文件夹“/home/jarret/Scripts”添加到路径列表的末尾。我们可以通过将新文件夹移动到当前路径($PATH)之前来将它放在路径的开头:

export PATH=/home/jarret/Scripts:$PATH

如果你想重新排序路径,那么你可以回显路径,复制它然后粘贴它来改变周围的东西:

export /usr/local/sbin:/usr/local /bin:/usr/sbin:/home/jarret/Scripts:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin 只要确保你没有删除

任何路径中必要的文件夹或系统无法找到程序并在需要时执行。

要使新路径永久存在,您需要使用以下两个命令将“导出”行添加到两个文件:

gedit .profile
gedit .bashrc


在文件底部添加导出行。如果导出行已存在,请替换它。要使其处于活动状态,您需要注销并重新进入操作系统。

whereis

Whereis 将查找文件,即使它不是可执行文件。它查找的文件包括二进制文件、源代码和手册页。它搜索的文件夹被硬编码到程序中。要查看硬编码文件夹列表,请使用命令“whereis -l”。这个列表很长,所以我不会在这里列出。您可以在系统上运行命令以查看列表。

该命令基本上是“whereis <filename>”。我们可以添加一些选项,但让我们从基础开始。

当我们介绍“which”命令时,我们试图找到“which”命令本身的位置。我们现在可以用'whereis'试试。命令 'whereis which' 返回:

which: /usr/bin/which /bin/which /usr/share/man/man1/which.1.gz

它返回相同的位置,但还在 ' /usr/share/man/man1'。

您可能会注意到该行以文件名“which:”开头,后跟调查结果。您可以列出多个文件名,以空格分隔,以便一次执行多个搜索。假设我想同时找到“which”和“whereis”。我可以使用命令 'whereis which whereis' 得到以下结果:

which: /usr/bin/which /bin/which /usr/share/man/man1/which.1.gz
whereis: /usr/bin/whereis /usr/share/man/man1/whereis.1.gz


如果您只想列出二进制文件(编译代码),请使用“-b”选项。仅对于源代码,使用“-s”选项。要仅查找“手册”页面,请使用选项“-m”。

因此,要找到 'which' 的可执行文件(已编译代码,设置了执行权限),请执行命令:

whereis -b which

我系统上的命令返回以下行:

which: /usr/bin/which /bin/which

'whereis' 命令搜索的文件夹比 'which' 命令搜索的文件夹多,并返回更多的文件类型。使用“-b”选项,它可以执行相同的操作,但可能会找到路径之外的文件。

type

“类型”命令允许您查找有关文件的信息。默认情况下,它会告诉您该命令是内置命令、二进制命令还是别名。

例如,在终端中尝试以下命令:

type cd
type which
type ls
type while


第一个命令显示“cd”是一个内置的 shell 命令。

第二个命令将“which”列为散列文件,然后显示其位置。

第三条命令生成别名。“ls”命令是命令“ls --color=auto”的别名。

最后一条命令是检查 BASH 脚本中使用的“while”命令。结果表明它是一个'shell关键字'。

命令“type”将返回它找到的文件的第一个实例。您可以使用“-a”选项搜索更多实例。

Whatis

“whatis”命令不像其他命令那样定位文件,而是列出命令作用的描述。该信息来自手册页并使用不同的选项,您可以改变输出信息。

让我们先试一试。我们从 which 命令开始,所以让我们试试“whatis which”。输出是:

which (1) - 定位命令

一个列表可以显示多个条目,例如“whatis arp”。您将获得以下内容:

arp (7) - Linux ARP 内核模块。
arp (8) - 操纵系统 ARP 缓存


对于描述,定义最好来自第 8 节。我们可以通过使用选项 '-s' 和双引号中的节数来显示特定节。如:

whatis -s “8” arp

如果要指定多个段,用逗号(,)隔开。

如果我们假设有一个你不记得的命令,但你记得它以'ch'开头,你可以执行通配符搜索:

whatis -w “ch*”

结果是:

chacl(1) - 更改访问控制文件或目录的列表
chage (1) - 更改用户密码过期信息
chardet (1) - 通用字符编码检测器
chardet3 (1) - 通用字符编码检测器
chardetect (1) - 通用字符编码检测器
chardetect3 (1) - 通用字符编码检测器
charmap (5) - 字符集描述文件
charsets (7) - 字符集标准和国际化
聊天 (8) - 使用调制解调器 chattr 的自动对话脚本
(1) - 在 Linux 文件系统
chcon 上更改文件属性 (1) - 更改文件安全上下文
chcpu ( 8) - 配置 CPUs
check-language-support (1) - 返回缺失包列表以提供完整的语言环境
checkXML5 (1) - KDE DocBook XML 文档的 XML lint 工具。
cheese (1) - 从网络摄像头拍摄照片和视频的工具
chfn (1) - 更改真实用户名和信息
chgpasswd (8) - 以批处理模式更新组密码
chgrp (1) - 更改组所有权
chmem (8) - 配置memory
chmod (1) - 更改文件模式位
tc-choke (8) - 选择并保留调度程序
chown (1) - 更改文件所有者和组
chpasswd (8) - 以批处理模式更新密码
chroot (8) - 运行命令或交互具有特殊根目录的 shell
chrt (1) - 操作进程的实时属性
chsh (1) - 更改登录 shell
chvt (1) - 更改前台虚拟终端


现在您可以轻松浏览列表并找到您的命令。

结论

这些命令对于查找系统上的文件很有用。

当您搜索某些内容或文件运行不正常时,请记住这些。例如,命令运行的版本比您想要的要旧。您可以确定命令文件的位置。较新版本的文件可能位于路径列表的后面,导致执行旧版本。

一定要注意这些命令。

Tags:linux查看用户信息

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言