shell中查找/etc 目录下以 http 开头的文件,保存结果到/tmp/fhttp,但是/etc目录下对/etc/ssl/private没权限怎么解决
时间: 2024-09-21 07:01:09 浏览: 55
foursquare-fhttp_2.9.2-0.1.9.1.zip
在shell中,你可以使用`find`命令来查找以"http"开头的文件,并将结果保存到指定的文件中。由于权限限制无法访问`/etc/ssl/private`目录,可以使用`sudo`来提升权限执行操作。以下是相应的命令:
```sh
sudo find /etc -type f -name 'http*' -print0 | xargs -0 tee /tmp/fhttp > /dev/null
```
这里解释一下这个命令的工作原理:
1. `sudo find /etc -type f -name 'http*'`: 使用`sudo`以超级用户权限执行,查找`/etc`目录下的所有普通文件(`-type f`),名称包含"http*"的文件。
2. `-print0`: 输出文件名之间用空字符分隔,这对于处理文件名中含有空格的情况很有帮助。
3. `xargs -0 tee /tmp/fhttp`: 使用`xargs`命令读取`find`的输出,将找到的文件名传递给`tee`,同时创建或追加到`/tmp/fhttp`文件中。
4. `> /dev/null`: 将`tee`的输出重定向到/dev/null,防止日志或其他输出干扰。
如果你仍然无法访问 `/tmp/fhttp` 文件,可能是由于权限问题,需要确保当前用户有写入`/tmp`目录的权限。如果有必要,你还可以使用绝对路径创建它,例如:`sudo mkdir -p /tmp/fhttp && sudo ...`。
阅读全文