На компьютере я стараюсь хранить в порядке только нужные файлы. Но есть целый класс класс задач, для решения которых нужно создать временный файл, который потом совершенно не нужен (например, написать какой-то одноразовый скрипт, или что-то быстро записать). Хочется иметь возможность быстро создать файл, а потом не забыть его удалить.
Давным-давно ("git blame" показывает 2 апреля 2011 года (но я далеко не с самого начала начал хранить конфиги своей системы в git)) я придумал и реализовал схему которая оказалась для меня очень удобна и которой я ежедневно пользуюсь.
Схема очень простая (вообще, обычно простые вещи очень хорошо работают). У меня в файле .bash_profile есть строки:
# tmp dir
mkdir -p ~/tmp/delete_after_$(date +%Y-%m-%d)
export T=~/tmp/delete_after_$(date +%Y-%m-%d)
alias cdt='cd $T'
Т.е. при каждом открытии терминала у меня создается временная папка с текущей датой (например, сегодня это папка "~/tmp/delete_after_2013-12-11") в которую я могу мгновенно попасть, набрав в консоли команду "cdt". Еще у меня есть очень простой скрипт "vn" (сокращение от "vim new"), вот он создает новый файл и тут же открывет его в vim (код скрипта).
Кроме того что я создаю в этой папке временные файлы я еще использую эту папку как место куда я перемещаю файлы вместо того чтобы их удалять. Я почти не использую "rm", вместо этой опасной команды я перемещаю файлы во временную папку:
mv big_data.tsv $T
Получется удобно — есть временные папки, про которые я знаю что я там не храню ничего ценного и их можно спокойно удалять. Но иногда все-таки оказывается, что мне снова нужен вчерашний скрипт (или тот файл, который я вчера переместил в эту папку) — тогда я могу залезть в во вчерашную временную папку и достать оттуда то что мне нужно.
Я достаточно редко удаляю эти временные папки, на компьютерах места много и хранение этих ненужных файлов на одном компьютере не сильно мешает. Иногда все-же удаляю, когда они становятся совсем тяжелыми, но удаляю не всe а только то что старше месяца.
Эти папки я не бекаплю и при работе с ними я осознаю что все что я туда помещаю вполне может пропасть.
11 декабря 2013