| sudo重定向输出权限不足(permission denied)references一般情况下的文本重定向类似于 echo "test" >> test(这和powershell不同,powershell可以不加echo)直接再echo 前面加sudo 不改变权限效果
 使用sudo bash -ccxxu_kali?~? sudo bash -c "echo test >> /etc/apt/testbysudo"                    [17:39:04]
cxxu_kali?~? cat /etc/apt/testbysudo                                            [17:39:16]
test
 sudo + cat 创建文件cxxu_kali?~? sudo bash -c "cat > /etc/apt/testbysudo"                           [17:42:39]
lines by `sudo bash -c cat >`
 同样也是可以的  
 但是输入重定向(<<,here-document)变得不太好用 使用tee 
 tee - read from standard input and write to standard output and files 利用 tee来代替重定向输出>例如执行 ifconfig | tee ifinfo该命令会将网卡信息即写入到文件,也打印到终端又比如: echo "service sshd start" |sudo tee -a /etc/rc.local该命令可以配置linux 开机自己启动ssh服务将sudo 作用于tee命令
 再比如: cxxu_kali?~? sudo tee fileBytee << eof                                          [18:07:17]
heredoc> line1
heredoc> line2
heredoc> eof
[sudo] password for cxxu_kali:
line1
line2
cxxu_kali?~? nl fileBytee                                                       [18:08:38]
     1  line1
     2  line2     
 tee -a 追加cxxu_kali?~? sudo tee -a \etc\apt\fileBytee << eof                              [18:15:47]
heredoc> &&iioopp
heredoc> sdfl
heredoc> eof
&&iioopp
sdfl
cxxu_kali?~? cat etcaptfileBytee                                                [18:16:09]
line1
line2
&&iioopp
sdfl
 临时切换到管理员sudo -i覆盖法 
 在别处创建文件然后通过sudo mv覆盖掉这比较绕,但是编写脚本的时候也是是一种选择
 例如,您可以将/etc/apt/下的文件读取到出来,通过管道符在用户家目录创建一个有对应内容的文件,然后在家目录中修改该文件,再将该文件通过sudo mv 覆盖到原位置;注意备份文件
 |