网站首页 > linux / 正文
使用任何操作系统 (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查看用户信息
- 上一篇:在linux上怎么查看cpu信息
- 下一篇:Linux中如何查看显卡硬件信息
猜你喜欢
- 2024-11-26 Linux 如何查看当前系统版本的详细信息?
- 2024-11-26 Linux 查看进程的动态信息
- 2024-11-26 Linux查看CPU硬件信息
- 2024-11-26 运维,你还不会查看Linux系统cpu信息?
- 2024-11-26 Linux查看日志的命令记不住,咋办?一文全面解析清楚,建议收藏
- 2024-11-26 02、Linux查看文件命令
- 2024-11-26 NeoFetch - Linux 使用命令行查看系统信息
- 2024-11-26 怎么查看Linux系统版本信息
- 2024-11-26 linux 查看磁盘信息的常用命令
- 2024-11-26 如何在 Linux 下优雅的查看系统 CPU 信息