Есть ли временный файл в Ubuntu?

Это случалось со мной много раз:

Я должен передать результат одной команды в файл. После использования результата через это, который становится бесполезным. Поэтому я должен удалить это, чтобы очистить мой каталог: - {|

Но дело в том, что я забыл удалить этот файл. Есть ли способ в Ubuntu справиться с этой проблемой?

0
задан 28 July 2014 в 13:11

4 ответа

Используйте каталог /tmp, он освобожден в следующей перезагрузке

3
ответ дан 28 July 2014 в 13:11

Вы не говорите, пишете ли Вы скомпилированный код или используете Bash?

Протестированные сценарии Bash:

template=/tmp/$(basename $0)_$(date --rfc-3339=date)__$$__XXXXXXXX
template="$(echo -n "$template" | tr ' ' '_')"
file=$(mktemp -u $template)
echo $file

Пример произвел: /tmp/bash_2014-07-25__4772__nrzQXfMg

Повторитесь от file= (последние две строки) для новых имен файлов...

2
ответ дан 28 July 2014 в 13:11

Да, каждый дистрибутив Linux, включая Ubuntu, имеет каталог

/tmp

, Каждый пользователь имеет право доступа для записи в этом каталоге, следовательно может создать файлы в нем. Те файлы не сохранены навсегда - содержание /tmp, каталог удален после каждой системной перезагрузки.

4
ответ дан 28 July 2014 в 13:11

Вы могли рассмотреть выполнение любого из следующего:

  1. Используя tmpfile () создаст файл, который останется открытым, пока Ваша программа не закончится.
  2. Используя shm_open () может быть лучше, если Ваша цель состоит в том, чтобы быть в состоянии сделать межпроцессное взаимодействие.

, Если существует проблема безопасности, требующая удаления файла - этот , ссылка будет интересна для Вас.

1
ответ дан 28 July 2014 в 13:11

Другие вопросы по тегам:

Похожие вопросы: