我想在我的 Ubuntu 20.04 上安装 Python 3.9,我能找到的所有教程都包含如下步骤:
sudo add-apt-repository ppa:deadsnakes/ppa
Run Code Online (Sandbox Code Playgroud)
我担心安全问题。我研究过这个问题:将 PPA 添加到我的系统中是否安全?需要注意哪些“危险信号”?
根据答案,需要考虑的一些要点是:
尝试在互联网上搜索deadsnakes只会让我进入有关如何安装Python的教程,这就是我开始的地方......
我写了一个脚本,删除文件夹中除最后两个文件之外的所有文件:
#!/bin/bash
ls -1 --quoting-style=shell-always /path/to/some/folder \
| head -n -2 \
| xargs printf -- "'/path/to/some/folder/%s'\n" \
| xargs sudo rm -rf
Run Code Online (Sandbox Code Playgroud)
此脚本将每天作为 cron 作业执行。
理由如下:
使用获取所有文件的列表ls -1
(这样我每行得到一个文件);
使用head -n -2
;从列表中删除最后两个
由于ls
打印相对路径,所以使用xargs printf
thing 来预先添加文件夹路径并使其成为绝对路径;
将它们发送到sudo rm -rf
使用xargs
.
每个人都可以访问此文件夹,因此任何人都可以创建和删除此文件夹中的任何文件。
问题是: sudo rm -rf
很可怕。xargs sudo rm -rf
非常可怕。
我想确保没有人可以通过创建要删除的巧妙文件(意外或故意)来损坏其他文件夹/系统。我不知道,一些聪明的东西,比如:
file with / spaces.txt
这可能会导致一个超级可怕的sudo rm -rf /
。
编辑:我的错误,文件名不能包含/
,所以这个特定的问题不会发生,但关于是否存在其他风险的问题仍然存在。
这就是我使用的原因--quoting-style=shell-always
,这应该可以防止任何带有空格的文件的技巧。但现在我想知道是否有人可以更聪明地使用文件名中的空格和 …