Как написать небольшой скрипт для очистки файлов каждого каталога при запуске компьютера?

У меня есть гостевой компьютер для использования только в Интернете. Некоторые пользователи загружают некоторые файлы и оставляют их на рабочем столе, но на компьютере не хватает места для всех гостей, и не разрешается помещать туда файл.

То, что я хочу сделать, – очистить каждый файл в домашнем каталоге при запуске компьютера, но сохранить структуру каталогов, такую ​​как Music, Pictures, Documents & Downloads.

Как я могу это сделать?

Вы можете безопасно удалить все файлы в домашнем каталоге, потому что они воссозданы, кроме файлов, скопированных при создании пользователя из /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 .

Вы описываете гостевую сессию. Я не совсем уверен, как это работает, но в 11.10 оно отображается по умолчанию на экране приветствия. Эта учетная запись делает именно то, что вы хотите, поэтому вопрос заключается в том, хотите ли вы потратить время на повторное создание 11.04, или если вы предпочтете подождать, пока вам не станет комфортно с обновлением до 11.10. Он входит в бета-версию 1 в четверг. В любом случае, это не повредит загрузке и загрузке живого сеанса и посмотреть, как вам это нравится. Если это именно так, как вы этого хотите, тогда вы узнаете, как его воссоздать.

Создайте сценарий с выбранным вами именем и добавьте этот контент:

 rm -r ~/Music/* rm -r ~/Pictures/* rm -r ~/Documents/* rm -r ~/Videos/* rm -r ~/Downloads* rm -r ~/Desktop/* 

Сохраните этот файл, пометьте его как исполняемый файл и добавьте его в свои приложения для запуска (для учетной записи, которая должна быть очищена).

Это очистит все файлы в этих каталогах. Тем не менее, очистить содержимое ~/ сам по себе немного сложнее, и я обновлю свой ответ, если найду безопасный способ сделать это.

Вы могли бы сделать что-то вроде

 #!/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 . Обратите внимание, что это удаляет все в этих папках, используйте с осторожностью. Не забудьте изменить «Гость» на имя вашего пользователя.

Вы можете запустить этот запуск при запуске, добавив его в настройки запуска приложений.

Вы также можете добавить этот сценарий в качестве задания cron в своей системе, чтобы он запускался каждую ночь. См. Здесь дополнительную информацию о работе cron.