我在一个需要root访问权限的目录上执行命令sudo ls /path.../*.*
。该命令返回No such file or directory
。但是,运行sudo rm /path.../
会给我提供数百个文件。同样,我不能做sudo rm /path.../xyz*.*
,但我可以做sudo rm /path.../exactFileName.abc
。
如何使用星号同时显示/删除多个文件?
如何在[需要root访问权限的目录上]同时显示/删除多个带星号的文件?
您可以:
- 以root或有权访问该目录的用户身份执行shell
- 以交互方式、
su -
、sudo su -
或sudo sh
或任何其他方式,然后键入命令 - 或者非交互式
sudo sh -c 'ls /path/*.*'
,或者可能是sudo sh -c 'ls "$1"/*.*' _ "$path"
- 以交互方式、
- 或者执行另一个命令以获取文件列表,并使该命令以足够的权限运行以访问路径
sudo find /path -mindepth 1 -maxdepth 1 -name '*.*' -exec ls {} +
sudo find /path -mindepth 1 -maxdepth 1 -name '*.*' -print0 | sudo xargs -0 ls