Ram*_*amy 0 ubuntu ubuntu-10.04
有人可以向我解释一下吗?
[rabdelaz@Linux_Desktop:/etc/apache2]$sudo ls /var/log/apache2/*.log
ls: cannot access /var/log/apache2/*.log: No such file or directory
[rabdelaz@Linux_Desktop:/etc/apache2]$sudo ls /var/log/apache2/
access.log error.log.1 error.log.11.gz error.log.13.gz error.log.2.gz error.log.4.gz error.log.6.gz error.log.8.gz other_vhosts_access.log
error.log error.log.10.gz error.log.12.gz error.log.14.gz error.log.3.gz error.log.5.gz error.log.7.gz error.log.9.gz ssl_access.log
Run Code Online (Sandbox Code Playgroud)
显然有这样的文件或目录。我很迷惑。Ubuntu 也困惑吗?
*
在提升ls
命令的权限之前,您的 shell 将尝试尝试扩展通配符。
因为作为普通用户,您没有足够的权限阅读/var/log/apache2
该扩展将失败。
然后*.log
将传递给sudo
,但由于sudo
不进行 globbing(这是一个 shell 函数),ls
它将再次失败,因为没有命名的文件*.log
规避将是:
sudo sh -c 'ls /var/log/apache2/*.log'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2729 次 |
最近记录: |