如何检查文件是否可执行?

如何检查文件是否可执行?

我想通过命令提示符检查该文件是否可执行,这样无论该文件是否可执行,我都无法打开它。

答案1

猛击test

[ -r file ]测试文件是否可读。
[ -w file ]测试文件是否可写。
[ -x file ]测试文件是否可执行。

if [ -x file ]; then
  ./file
else
  echo "File is not executable"
fi

用一个简单的例子来尝试一下:

#!/bin/bash
touch testfile
test -x testfile && echo true || echo false
# --> false
chmod +x testfile
test -x testfile && echo true || echo false
# --> true
rm testfile

答案2

推荐使用的确定文件类型的工具是file

可执行文件的示例。

$ file c.sh a.out
c.sh:  Bourne-Again shell script, ASCII text executable
a.out: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=a741679fcc57d5dafa76025d943090fdf614b7e2, not stripped

相关内容