在Linux中使用./file2后,为什么会获得“权限被拒绝”?

时间:2017-04-17 00:40:44

标签: linux bash shell centos rhel

例如,我有一个名为file2的文件,它回应了一些东西。

所以在shell中输入

之后
# ./file2

显示

  

许可被拒绝

我在哪里错了?

2 个答案:

答案 0 :(得分:3)

您正在尝试执行某个文件但您没有正确的权限。当您使用文本编辑器创建新的Bash脚本时(假设是Vim),您应具有以下权限:-rw-r--r--。作为用户,您可以读取和写入此文件,但不能使用./执行该文件。

  1. 如果要在不更改权限的情况下执行文件,可以使用以下命令:bash myFile.sh

  2. 如果要使用./执行文件,则必须修改权限。这样的事情就可以了:chmod +x myFile.sh

  3. 如果您不想与./斗争,并且喜欢从其他任何内置命令调用myFile.sh,请将可执行文件移动到PATH中的目录中。 /usr/local/bin应该是明智的选择。请使用echo $PATH检查您的路径,以防万一...

答案 1 :(得分:1)

.表示当前工作目录,..表示父目录。所以./file2表示"在当前目录"中执行名为file2的文件。如果没有./,shell将在PATH的所有目录中搜索file2。如果要执行它,请使用chmod +x ./file2添加执行位,然后重试。如果您只是想查看它,请尝试less ./file2