当我将 U 盘 (FAT) 插入 Mac 或 Ubuntu 机器时,所有文件都设置了可执行位。将目录结构复制到硬盘后,如何仅从文件中递归删除可执行位并将其保留在目录中?
pab*_*ouk 153
使用 GNU chmod(在 Ubuntu 上)单个命令变体(从当前目录开始):
chmod -R -x+X .
Run Code Online (Sandbox Code Playgroud)
解释:
-R - 递归操作-x - 删除所有用户的可执行标志+X - 如果是目录,则为所有用户设置可执行标志在这种情况下,大写X仅适用于目录,因为所有可执行标志都被-x. 否则,+X如果最初为任何用户、组或其他人设置了标志,则也设置可执行标志。
使用 BSD chmod(存在于 Mac OS X 上),您必须在两个命令中分别执行:
sudo chmod -R -x * && sudo chmod -R +X *
Run Code Online (Sandbox Code Playgroud)
(如果您还想在主目录中包含隐藏文件,您可能需要将 * 更改为 .(点),但它未经测试。)
Mat*_*s P 46
如果您先 cd 进入正确的路径:
find . -type f -exec chmod -x {} \;
Run Code Online (Sandbox Code Playgroud)
或者
chmod -x $(find . -type f)
Run Code Online (Sandbox Code Playgroud)
find 在 path 中查找所有类型为“f”(表示常规文件)的文件。然后在每个文件上调用 chmod -x 。{} 被替换为文件名和 \; 终止 chmod 命令。
| 归档时间: |
|
| 查看次数: |
77843 次 |
| 最近记录: |