我有一台仅供上网的访客电脑。有些用户下载了一些文件并将它们放在桌面上,但电脑没有足够的空间容纳所有访客,不允许将文件放在桌面上。
我想要做的是在计算机启动时清理主目录内的每个文件,但保留音乐、图片、文档和下载等目录结构。
我怎样才能做到这一点?
答案1
您可以安全删除全部文件在主目录中,因为它们是重新创建的,除了用户创建时从中复制的文件外/etc/skel
,所以
#!/bin/bash
shopt -s dotglob
rm -rf /home/username/*
sudo -u username cp -a /etc/skel/* /home/username/
其中username
应替换为有意义的内容。
根据您的要求(“计算机启动时”),可以从 执行此操作/etc/rc.local
。更可能的是,您希望在每次登录之间执行它,因此将其放在/etc/gdm/PostSession
或下/etc/gdm/PreSession
。
答案2
您正在描述访客会话。我不太清楚它是如何工作的,但在 11.10 中,它默认显示在欢迎屏幕上。该帐户完全符合您的要求,所以问题是您是否愿意花时间在 11.04 上尝试重新创建它,或者您是否宁愿等到您愿意升级到 11.10。它将于周四进入 Beta 1。无论如何,下载并启动实时会话并看看您是否喜欢它并没有什么坏处。如果它正是您想要的,那么您就会知道如何重新创建它。
答案3
创建一个脚本并添加以下内容:
rm -r ~/Music/*
rm -r ~/Pictures/*
rm -r ~/Documents/*
rm -r ~/Videos/*
rm -r ~/Downloads*
rm -r ~/Desktop/*
保存此文件,将其标记为可执行文件,并将其添加到您的启动应用程序中(对于需要清理的帐户)。
这将清除这些目录中的所有文件。但是,清除内容~/
本身有点复杂,如果我找到安全的方法来做到这一点,我会更新我的答案。
答案4
你可以做类似的事情
#!/bin/bash
rm -rf /home/Guest/Desktop/*
rm -rf /home/Guest/Documents/*
rm -rf /home/Guest/Downloads/*
rm -rf /home/Guest/Music/*
rm -rf /home/Guest/Pictures/*
rm -rf /home/Guest/Videos/*
将其保存为类似内容cleanup.sh
,并使用 使其可执行chmod +x cleanup.sh
。然后您可以调用./cleanup
。请注意,这会删除一切在这些文件夹中,请谨慎使用。务必将“Guest”更改为您的用户的名称。
您可以将其添加到启动应用程序首选项中,使其在启动时运行。
您还可以将此脚本添加为系统上的 cron 作业,以便它每晚运行。看这里有关 cron 作业的更多信息。