linux where is命令怎么用

linux where is命令怎么用,第1张

Linux whereis命令用于查找文件

该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。

该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。

whereis语法

whereis[-bfmsu][-B <目录>…][-M <目录>…][-S <目录>…][文件…]

whereis参数

-b 只查找二进制文件

-B<目录>只在设置的目录下查找二进制文件

-f 不显示文件名前的路径名称

-m 只查找说明文件

-M<目录>只在设置的目录下查找说明文件

-s 只查找原始代码文件

-S<目录>只在设置的目录下查找原始代码文件

-u 查找不包含指定类型的文件

whereis实例

使用指令whereis查看指令bash的位置,输入如下命令:

$whereis bash

上面的指令执行后,输出信息如下所示:

bash:/bin/bash/etc/bash.bashrc/usr/share/man/man1/bash.1.gz

注意:以上输出信息从左至右分别为查询的程序名、bash路径、bash的man手册页路径。

如果用户需要单独查询二进制文件或帮助文件,可使用如下命令:

$ whereis -b bash

$ whereis -m bash

输出信息如下:

$ whereis - bash #显示bash命令的二进制程序

bash:/bin/bash/etc/bash.bashrc/usr/share/bash #bash命令的二进制程序的地址

$ whereis -m bash #显示bash命令的帮助文件

bash:/usr/share/man/man1/bash.1.gz #bash命令的帮助文件地址

1. 以搜索ls命令源码为例,先搜索命令所在包,命令如下:

lpj@lpj-linux:~$ which ls

/bin/ls

2. 用命令搜索该软件所在包,代码如下:

lpj@lpj-linux:~$ dpkg -S /bin/ls

coreutils: /bin/ls

3. 从上一步中可以知道ls命令的实现在包coreutils中,用apt安装(说安装有些歧义,主要是区分apt-get -d)该包的源代码然后解压,代码如下:

sudo apt-get source coreutils

cd /usr/src/coreutils-XXX #XXX表示版本号

sudo tar zxvf coreutils-XXX.tar.gz

或者只下载源码,然后手动打补丁再解压,代码如下:

sudo apt-get -d source coreutils

cd /usr/src

tar zxvf coreutils-XXX.tar.gz

gzip -d coreutils-XXX.diff.gz #这一步会生成coreutils-XXX.diff文件

patch -p0 <coreutils-XXX.diff

cd coreutils-XXX

tar zxvf coreutils-XXX.tar.gz

OK,这几步执行完后,就可以进入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令对应的源代码了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8674473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存