![如何列出/etc下的所有文件并将其写入/home中的文件?](https://linux22.com/image/161624/%E5%A6%82%E4%BD%95%E5%88%97%E5%87%BA%2Fetc%E4%B8%8B%E7%9A%84%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%2Fhome%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9F.png)
ls -a > /home/etc.txt
-bash: /home/etc.txt: Permission denied
我正在/etc
尝试列出其下的所有内容并将其全部写入/home
...的文本文件中,但我的权限被拒绝。
我在 AWS 中自己的服务器中登录为ec2-user
,但当前sudo whoami
显示为root
。我应该能够做到这一点吧?
答案1
"...under path /home"
真的是这么说的吗?这就能解释所有这些误解。 “在路径 $HOME 下”会更有意义......
/home/$USER
可能是“您的”主目录的另一种表示法。通常它应该只是要求你“在你的主目录中创建一个etc.txt”
对于“详细内容”,还可以使用-l
选项:
ls -alR /etc >~/etc.txt
或者
cd
ls -lR /etc >etc.txt
(cd
单独意味着cd ~
意味着cd $HOME
意味着cd /home/wickerman
)
(该-a
选项对于 /etc 来说是有问题的)
答案2
我假设您想将其写入您的主目录而不是/home
.您的主目录通常是/home/username
,或者您可以使用~
代表您的主目录。
您应该find
而不是ls
查找/etc
.
find /etc -type f > ~/etc.txt
find
但是,如果文件名称中包含换行符,这样使用也可能容易出错。
答案3
我对此还很陌生,如果我让大家感到困惑,我很抱歉。
无论如何,我想通了。
sudo -s #turns me into root
cd /etc
ls -a > /home/etc.txt