我在执行“查询所有Mysql对应的文件夹”的操作的时候,输入whereis mysqlm,我认为本应该返回mysqlm所在的目录,但是什么都没有返回。请问这是为什么呢?难道whereis命令不就是查目录的吗?是不是因为本机根本就没装MySQL呢?
在命令行输入man whereis,按下回车,会显示出关于whereis的功能介绍,开头内容如下:
whereis - locate the binary, source, and manual page files for a command
说明,whereis可以用来寻找某个命令的“二进制、源代码、和man手册页”这三类文件的位置(路径),也就是说whereis不是用来寻找任何类型文件的位置(路径)的。例如:
输入
whereis ls
输出
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
可以看到,输出了ls的二进制文件的路径:/usr/bin/ls 以及ls的两个man手册页文件的路径: /usr/share/man/man1/ls.1.gz 和 /usr/share/man/man1p/ls.1p.gz,但是没有显示源代码文件的路径,因为我这台机器上没有安装ls的源代码。
同理,如果本机安装了mysql,也可以找到mysql的相关文件,例如:
输入
whereis mysql
输出
mysql: /usr/bin/mysql /usr/lib/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
可以看到,mysql的二进制可执行文件的路径:/usr/bin/mysql;二进制库文件目录的路径:/usr/lib/mysql;源代码的头文件目录的路径: /usr/include/mysql ,一些存放mysql相关的其他文件的路径:/usr/share/mysql;以及man手册页文件的路径:/usr/share/man/man1/mysql.1.gz。
https:// man7.org/linux/man-page s/man1/whereis.1.html
顺便问一句,mysqlm是Linux里的一个文件吗?
严谨来说MySQL是一个可以运行于“以Linux内核为基础的操作系统”但独立于Linux操作系统内核的软件包,所以肯定不属于Linux,也不一定要属于任何“以Linux内核为基础的操作系统”的一部分,所以即便存在mysqlm文件,也不一定是Linux里的一个文件。
我不是很熟悉MySQL的文件体系架构,但至少从Arch Linux的MySQL安装包中是看不到mysqlm这个文件的,所以全新安装的MySQL应该是找不到这个文件的。可以从Arch Linux的官方包网站浏览MySQL的安装包内提供了哪些文件,如图:
https:// archlinux.org/packages/ extra/x86_64/mariadb-clients/