Linux 命令行'ls /path/*.*'产生"No such file or directory"



我在一个需要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

相关内容

最新更新