如何在FAT文件系统的U盘上执行文件?执行ex文件遇权限问题求解
解决FAT32 U盘上无法执行
.ex文件的问题 兄弟,这问题我碰到过好多次了——FAT32(包括老版的FAT16)压根就不支持Linux/Unix那套文件权限体系,所以你折腾chmod +x改权限纯属白费力气,系统挂载U盘时就把所有文件的权限固定成默认值了。下面给你几个靠谱的解决办法:
方法1:直接用解释器运行(最省事)
如果你的.ex是脚本类文件(比如Shell脚本、Python脚本),完全不用纠结权限,直接调用对应的解释器来执行就行:
- 要是Shell脚本:
sh /media/your-usb/file.ex - 要是Python脚本:
python3 /media/your-usb/file.ex
只要你的系统装了对应的解释器,这招绝对好使。
方法2:手动挂载U盘,开启执行权限
你可以先卸载U盘,再手动挂载并明确允许执行程序。步骤如下:
- 先卸载U盘(假设你的U盘挂载在
/media/your-name/USB):sudo umount /media/your-name/USB - 要是需要的话,创建一个临时挂载点:
sudo mkdir /mnt/usb-exec - 挂载时加上
exec参数(关键!默认FAT挂载可能是noexec),还能指定权限:
这里解释下参数:sudo mount -t vfat /dev/sdb1 /mnt/usb-exec -o rw,exec,umask=000exec:允许在挂载的文件系统上执行程序umask=000:让所有文件权限变成777(读、写、执行全开放),如果想保守点可以设umask=022,对应权限755
- 挂载完成后,直接运行你的文件就行:
/mnt/usb-exec/yourfile.ex
方法3:复制到本地文件系统再执行
嫌手动挂载麻烦?那就直接把.ex文件复制到电脑本地(比如~/Documents),本地的ext4之类的文件系统是支持权限设置的:
cp /media/your-usb/yourfile.ex ~/Documents/ chmod +x ~/Documents/yourfile.ex ~/Documents/yourfile.ex
搞定!
额外提醒
- 如果你的
.ex是二进制可执行文件,方法1就用不了了,得选方法2或3 - 每次插拔U盘,默认挂载可能还是
noexec,如果想永久设置挂载参数,可以修改/etc/fstab,但新手不建议随便碰这个文件,容易搞砸系统挂载
内容的提问来源于stack exchange,提问作者Hassan
相关产品推荐
相关产品推荐

