如何通过sudo截断glob文件?

时间:2016-12-25 12:24:19

标签: bash sudo

我需要使用sudo截断大量文件。只有一个有效:

sudo truncate -s 0 /var/lib/docker/containers/1cdd2386de3579-json.log

但是像这样的全球/var/lib/docker/containers/*/*-json.log ......

$ LANG=C sudo truncate -s 0 /var/lib/docker/containers/*/*-json.log
truncate: cannot open '/var/lib/docker/containers/*/*-json.log' for writing:No such file or directory

1 个答案:

答案 0 :(得分:1)

sudo的提升权限生效之前(在实际执行sudo之前),在当前用户的shell中评估globs。当前用户可能无权访问受影响的路径。

你可以在sh shell中运行它,这样就可以在sudo的shell中评估globs:

sudo sh -c 'truncate -s 0 /var/lib/docker/containers/*/*-json.log'