jon*_*n16 6 executable pdf csv file-types
当我运行ls
. 我知道这些是可执行文件,并且我知道可以使用chmod
. 但它们是.csv
和.pdf
文件。我不明白如何“执行”逗号分隔的文本文件或 PDF。所以:
这只是一个权限问题。如果文件具有执行权限,则仅意味着允许用户执行它。他们是否会成功是另一回事。为了执行一个文件,执行它的用户必须有权这样做,并且该文件需要是一个有效的可执行文件。显示的权限ls
仅影响第一部分权限,与其余部分无关。
例如:
$ cat file.csv
a,silly,file
$ chmod a+x file.csv
$ ls -l file.csv
-rwxr-xr-x 1 terdon terdon 13 May 29 15:22 file.csv
Run Code Online (Sandbox Code Playgroud)
此文件现在具有执行权限(请参阅x
权限字符串中的 3 -rwxr-xr-x
)。但是如果我尝试执行它,我会得到一个错误:
$ ./file.csv
./file.csv: line 1: a,silly,file: command not found
Run Code Online (Sandbox Code Playgroud)
那是因为 shell 试图将文件作为 shell 脚本执行,并且其中没有有效的 shell 命令,所以它失败了。
ls
显示中的绿色表示文件具有执行权限,这并不一定意味着它们可以以任何方式执行。
如果您不小心设置了执行权限,或者是由于从不支持基本 linux 权限模型的文件系统导入而设置的,您可以删除执行位
chmod a-x -- "$filename"
Run Code Online (Sandbox Code Playgroud)
并且该文件将不再显示为“可执行文件”。
请注意,文件列表中的其他颜色可能会根据文件扩展名进行设置;但在这种情况下,它可能只是权限位。
归档时间: |
|
查看次数: |
735 次 |
最近记录: |