Linux 如何查询命令的二进制文件位置?

简介

平常在执行linux命令时,想查看程序的二进制文件、源码、手册具体在哪个目录,就需要下面的命令来辅助。

使用 which 命令

which 命令主要是定位二进制可执行文件的位置,它在 PATH 环境变量中搜索。

用法:
which <command>
示例:
which ssh
# Output: /usr/bin/ssh

会打印可执行文件的完整路径

使用 whereis 命令

whereis 命令可以定位二进制文件、源码、命令手册

用法
whereis <command>
示例
whereis ssh
# Output: ssh: /usr/bin/ssh /usr/share/man/man1/ssh.1.gz

which 相比提供更广泛的搜索,包括源码和手册文件的搜索

使用 locate 命令

locate 是利用预构建的数据库文件进行搜索,所以速度很快

用法
locate <filename>
示例
locate ssh
# Output: /usr/bin/ssh, /usr/share/doc/ssh

使用 find 命令搜索

实时搜索命令所在的位置

用法
find <directory> -name <filename>
示例
find /usr -name ssh
# Output: /usr/bin/ssh

find 相比较其他命令速度比较慢

使用 type 命令

type 命令决定命令在shell中的解释方式(例如,它是别名、函数还是二进制)。

用法
type <command>
示例
type ssh
# Output: ssh is /usr/bin/ssh

使用 command -v 命令

command -v 返回 shell 中命令的路径或其别名。

用法
command -v <command>
示例
command -v ssh
# Output: /usr/bin/ssh

command -vwhich 类似,不同的是它是shell内建的命令

使用 readlink 命令

readlink 命令将符号链接解析为其目标路径。

用法
readlink -f $(which <command>)
示例
readlink -f $(which ssh)
# Output: /usr/bin/ssh

readlink 的特点是确保能获取到命令的真实路径,即使提供的是符号链接

### 查看 MySQL 当前正在使用的二进制日志文件 MySQL 的二进制日志用于记录所有对数据库的更改操作,包括数据修改和结构变更。要查看当前正在使用的二进制日志文件,可以通过以下 SQL 命令实现: ```sql SHOW MASTER STATUS; ``` 该命令将返回当前 MySQL 实例正在写入的二进制日志文件信息,包括以下字段: - **File**:当前正在使用的二进制日志文件名,例如 `mysql-bin.000004`。 - **Position**:当前日志文件的写入位置。 - **Binlog_Do_DB**:指定哪些数据库需要记录二进制日志。 - **Binlog_Ignore_DB**:指定哪些数据库不需要记录二进制日志。 - **Executed_Gtid_Set**:表示已执行的 GTID 集合(如果启用了 GTID)。 示例输出如下: ``` +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000004 | 8073 | | | | +------------------+----------+--------------+------------------+-------------------+ ``` 通过该命令,可以准确获取当前 MySQL 实例正在使用的二进制日志文件名称和写入位置[^2]。 此外,如果需要查看所有可用的二进制日志文件列表(包括当前正在使用的和已经归档的),可以使用以下命令: ```sql SHOW BINARY LOGS; ``` 该命令将列出所有存在的二进制日志文件及其大小,例如: ``` +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | mysql-bin.000001 | 107 | | mysql-bin.000002 | 107 | | mysql-bin.000003 | 107 | | mysql-bin.000004 | 444 | | mysql-bin.000005 | 150 | | mysql-bin.000006 | 43875 | | mysql-bin.000007 | 150 | | mysql-bin.000008 | 107 | | mysql-bin.000009 | 83748 | | mysql-bin.000010 | 126 | | mysql-bin.000011 | 126 | +------------------+-----------+ ``` 通过 `SHOW BINARY LOGS` 命令,可以查看所有已生成的二进制日志文件,从而辅助日志管理与清理决策[^1]。 ### 相关问题 1. 如何查看 MySQL 当前启用的二进制日志文件? 2. 如何手动清理 MySQL 的二进制日志文件? 3. 如何设置 MySQL 二进制日志的自动清理时间? 4. 如何在 Linux 系统中查看 MySQL 二进制日志内容? 5. 如何通过 MySQLbinlog 工具解析二进制日志文件?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值