Léo Léopold Hertz 준영 Asked: 2009-07-06 01:33:49 +0800 CST2009-07-06 01:33:49 +0800 CST 2009-07-06 01:33:49 +0800 CST 要了解 sudo 和“。” 772 我正在阅读MySQL 的手册。 他们建议我命令 cd /usr/local/mysql sudo ./bin/mysqld_safe // it seems that sudo = . + master rights 是相同的 . /usr/local/mysql/bin/mysql // only ., no master rights 这两个命令的作用相同吗? unix sudo 4 个回答 Voted womble 2009-07-06T01:46:06+08:002009-07-06T01:46:06+08:00 不,这些命令完全不同。你可能有一个错字——以下两个命令是等效的: cd /usr/local/mysql sudo ./bin/mysqld_safe 和: sudo /usr/local/mysql/bin/mysqld_safe Best Answer pQd 2009-07-06T02:13:52+08:002009-07-06T02:13:52+08:00 . /some/path 执行 [ 或包括 - 这是执行 ] 您指向的 shell 脚本。 ./some/path [注意点后缺少空间]使用相对路径执行程序/脚本[来自当前目录,而不是来自文件系统的顶部] sudo 以其他 [ 通常是 root ] 用户的权限执行给定的命令。 有区别 cd /usr/local/mysql ./bin/mysqld_safe 和 /usr/local/mysql/bin/mysqld_safe 区别在于当前工作目录。对于 mysql 可能不会计量,但对于使用相对路径的其他/写得不好的程序 - 它可能会计量。 Kyle 2009-07-06T01:49:34+08:002009-07-06T01:49:34+08:00 来自鲜肉: Sudo (su "do") 允许系统管理员委派权限,以授予某些用户(或用户组)以 root 或其他用户身份运行某些(或全部)命令的能力,同时提供命令及其参数的审计跟踪. 我不确定你是否对此感到困惑,但你可能是基于这个问题。 如果你只是对为什么感到困惑 cd /usr/local/mysql ./bin/mysqld_safe 是相同的 /usr/local/mysql/bin/mysqld_safe 这是因为在 UNIX 中,. 表示当前目录。因此,通过这种方式,您将不会在 PATH 变量中搜索最近的 mysqld_safe 并运行它,您将专门运行 /usr/local/mysql/bin/ 中的那个。 Dennis Williamson 2009-07-06T02:08:53+08:002009-07-06T02:08:53+08:00 在这个命令中: cd /usr/local/mysql sudo ./bin/mysqld_safe 启动mysql服务器。正如其他人所说,句点表示当前目录。它以这种方式用于,例如,覆盖 $PATH 或执行不在 $PATH 中的程序。请记住,在 bash 等中,当前目录不在 $PATH 中,除非您添加“.”。到它(出于安全原因不推荐)。 然后此命令允许您访问mysql: /usr/local/mysql/bin/mysql 请注意,此命令中根本没有点(“.”)。
不,这些命令完全不同。你可能有一个错字——以下两个命令是等效的:
和:
执行 [ 或包括 - 这是执行 ] 您指向的 shell 脚本。
[注意点后缺少空间]使用相对路径执行程序/脚本[来自当前目录,而不是来自文件系统的顶部]
sudo 以其他 [ 通常是 root ] 用户的权限执行给定的命令。
有区别
和
区别在于当前工作目录。对于 mysql 可能不会计量,但对于使用相对路径的其他/写得不好的程序 - 它可能会计量。
来自鲜肉:
Sudo (su "do") 允许系统管理员委派权限,以授予某些用户(或用户组)以 root 或其他用户身份运行某些(或全部)命令的能力,同时提供命令及其参数的审计跟踪.
我不确定你是否对此感到困惑,但你可能是基于这个问题。
如果你只是对为什么感到困惑
是相同的
这是因为在 UNIX 中,. 表示当前目录。因此,通过这种方式,您将不会在 PATH 变量中搜索最近的 mysqld_safe 并运行它,您将专门运行 /usr/local/mysql/bin/ 中的那个。
在这个命令中:
启动
mysql
服务器。正如其他人所说,句点表示当前目录。它以这种方式用于,例如,覆盖 $PATH 或执行不在 $PATH 中的程序。请记住,在 bash 等中,当前目录不在 $PATH 中,除非您添加“.”。到它(出于安全原因不推荐)。然后此命令允许您访问
mysql
:请注意,此命令中根本没有点(“.”)。