- Где временный каталог в Linux?
- / tmp: временные файлы
- / var / tmp: временные файлы сохраняются между перезагрузками системы
- Где находится временный каталог в Linux?
- 4 ответа 4
- /tmp: временные файлы
- /var/tmp: временные файлы сохраняются между перезагрузками системы
- Где временный каталог в Linux?
- 4 ответа
- /tmp: временные файлы
- /var /tmp: временные файлы, сохраненные между перезагрузкой системы
- 2.1.7. Временные файлы
- Читайте также
- Временные характеристики процесса
- Пример: временные характеристики процессов
- Временные серверы для Linux
- 7. Временные рамки
- Временные диаграммы усилителей
- Временные диаграммы
- R.12.2 Временные объекты
- 7.2.6.1. Временные файлы
- 7.2.6.1. Временные файлы
- Исходные файлы и выполняемые файлы
- Временные значения
- Временные таблицы
- Постоянные «временные» таблицы
- Временные файлы проектов
Где временный каталог в Linux?
Есть ли в Linux стандартный временный каталог для общего пользования, например, C:\Temp папка Windows ? Если да, где он находится? Я нашел SO вопрос о программном поиске tmp каталога , но я хочу заранее установить временное местоположение в XML-файле конфигурации.
/ tmp: временные файлы
/tmp Каталог должен быть доступен для программ , которые требуют временных файлов.
Программы не должны предполагать, что какие-либо файлы или каталоги в /tmp них сохраняются между вызовами программы.
обоснование
Стандарт IEEE POSIX.1-2008 перечисляет требования, аналогичные приведенному выше разделу. Хотя данные, хранящиеся в, /tmp могут быть удалены в зависимости от сайта, рекомендуется, чтобы файлы и каталоги, расположенные в /tmp них, удалялись при каждой загрузке системы.
FHS добавил эту рекомендацию на основе исторического прецедента и общепринятой практики, но не сделал ее обязательным требованием, поскольку системное администрирование не входит в сферу применения этого стандарта.
/ var / tmp: временные файлы сохраняются между перезагрузками системы
/var/tmp Каталог доступен для программ , которым требуется временные файлы или каталоги , которые должны сохраняться между перезагрузками системы. Поэтому данные, хранящиеся в, /var/tmp являются более постоянными, чем данные в /tmp .
Файлы и каталоги, расположенные в, /var/tmp не должны быть удалены при загрузке системы. Несмотря на то, что данные, хранящиеся в, /var/tmp как правило, удаляются в зависимости от сайта, рекомендуется, чтобы удаление происходило с меньшей частотой, чем /tmp .
TMPDIR Эта переменная должна представлять путь к каталогу, доступному для программ, которым требуется место для создания временных файлов.
Это старый вопрос, поэтому сегодня есть еще один вариант. Дистрибутивы Linux, на systemd которые полагается (а это 90%), теперь могут использовать $XDG_RUNTIME_DIR каталог ( спецификация XDG Base Directory ) для хранения определенных типов временных файлов. Обычно он находится по адресу /run/user/$uid . Это каталог для пользователя с 700 разрешениями, которые обеспечивают лучшую безопасность. Это tmpfs крепление, которое обеспечивает производительность. Недостатком tmpfs является то, что он должен использоваться только для хранения небольших файлов и сокетов.
Я смотрю на это как на брак /tmp и /var/run .
Да / TMP для общего пользования. Смотрите здесь и здесь О стандарте иерархии файловой системы.
/ tmp / Временные файлы (см. также / var / tmp). Часто не сохраняется между перезагрузками системы.
С некоторыми подробностями, перечисленными в PDF.
Вы не можете заранее выбрать одно временное имя каталога, которое будет работать для любой системы Linux. На самом деле, вы не можете сделать это и в Windows. Согласно статье Википедии о временных папках , временный каталог в Windows определяется переменной среды TEMP. Если бы вы просто использовали c:\Temp в качестве временного каталога в системе Windows, в котором для TEMP установлено другое значение, любая программа, использующая ваш XML-файл для выбора временного каталога, потерпит неудачу.
Короче говоря, системный временный каталог определяется средой во всех известных мне современных операционных системах, включая как Windows, так и любую UNIX-подобную систему. Установка одного статического пути в качестве временного каталога будет работать только до тех пор, пока значения по умолчанию не будут изменены.
Во всяком случае, стандартный временный каталог в типичной системе Linux есть /tmp . Это эквивалент C:\Temp в том смысле, что это только временный каталог по умолчанию, а не универсальный. Даже если /tmp доступно, если пользователь (или система) установил переменную среды TEMP, вместо нее следует использовать значение этой переменной.
Вы можете попробовать выбрать временный каталог относительно домашнего каталога пользователя, который вы можете создать.
Источник
Где находится временный каталог в Linux?
Есть ли в Linux стандартный временный каталог для общего пользования, такой как папка Windows C:\Temp ? Если да, где он находится? Я нашел SO вопрос о программном поиске каталога tmp , но я хочу заранее установить временное местоположение в XML-файле конфигурации.
4 ответа 4
/tmp: временные файлы
Каталог /tmp должен быть доступен для программ, которым требуются временные файлы.
Программы не должны предполагать, что какие-либо файлы или каталоги в /tmp сохраняются между вызовами программы.
обоснование
Стандарт IEEE POSIX.1-2008 перечисляет требования, аналогичные приведенному выше разделу. Хотя данные, хранящиеся в /tmp могут быть удалены в зависимости от сайта, рекомендуется, чтобы файлы и каталоги, расположенные в /tmp , удалялись при каждой загрузке системы.
FHS добавил эту рекомендацию на основе исторического прецедента и общепринятой практики, но не сделал ее обязательным требованием, поскольку системное администрирование не входит в сферу применения этого стандарта.
/var/tmp: временные файлы сохраняются между перезагрузками системы
Каталог /var/tmp доступен для программ, которым требуются временные файлы или каталоги, которые сохраняются между перезагрузками системы. Поэтому данные, хранящиеся в /var/tmp , более постоянны, чем данные в /tmp .
Файлы и каталоги, расположенные в /var/tmp не должны удаляться при загрузке системы. Хотя данные, хранящиеся в /var/tmp , обычно удаляются в зависимости от сайта, рекомендуется, чтобы удаление происходило с меньшим интервалом, чем /tmp .
TMPDIR Эта переменная должна представлять путь к каталогу, доступному для программ, которым требуется место для создания временных файлов.
Это старый вопрос, поэтому сегодня есть еще один вариант. В дистрибутивах Linux, использующих systemd (а это 90%), теперь можно использовать каталог $XDG_RUNTIME_DIR (спецификация XDG Base Directory) для хранения определенных типов временных файлов. Обычно он находится в /run/user/$uid . Это каталог для каждого пользователя с 700 разрешениями, который обеспечивает лучшую безопасность. Это монтирование tmpfs которое обеспечивает производительность. Недостатком tmpfs является то, что он должен использоваться только для хранения небольших файлов и сокетов.
Я смотрю на это как на брак /tmp и /var/run .
Да / TMP для общего пользования. Смотрите здесь и здесь О стандарте иерархии файловой системы.
/tmp/ Временные файлы (см. также / var /tmp). Часто не сохраняется между перезагрузками системы.
С некоторыми подробностями, перечисленными в PDF.
Вы не можете заранее выбрать одно временное имя каталога, которое будет работать для любой системы Linux. На самом деле, вы не можете сделать это и в Windows. Согласно статье Википедии о временных папках, временный каталог в Windows определяется переменной среды TEMP. Если бы вы просто использовали c:\Temp в качестве временного каталога в системе Windows, в котором для TEMP было установлено что-то еще, любая программа, использующая ваш XML-файл для выбора временного каталога, потерпит неудачу.
Короче говоря, системный временный каталог определяется средой во всех известных мне современных операционных системах, включая как Windows, так и любую UNIX-подобную систему. Установка одного статического пути в качестве вашего временного каталога будет работать только до тех пор, пока значения по умолчанию не будут изменены.
В любом случае, стандартный временный каталог в типичной системе Linux — /tmp . Это эквивалент C:\Temp в том смысле, что это только временный каталог по умолчанию, а не универсальный. Даже если /tmp доступен, если пользователь (или система) установил переменную среды TEMP, вместо нее следует использовать значение этой переменной.
Вы можете попробовать выбрать временный каталог относительно домашнего каталога пользователя, который вы можете создать.
Источник
Где временный каталог в Linux?
Есть ли у Linux стандартный временный каталог для общего использования, например, в папке Windows C:\Temp ? Если да, то где он находится? Я нашел вопрос о поиске кода tmp программно , но я хочу установить временное местоположение в файле конфигурации XML раньше времени.
4 ответа
/tmp: временные файлы
Каталог /tmp должен быть доступен для программ, требующих временные файлы.
Программы не должны допускать, чтобы любые файлы или каталоги в /tmp были сохраняется между вызовами программы.
Обоснование
Стандарт IEEE POSIX.1-2008 содержит требования, аналогичные приведенному выше разделу. Хотя данные, хранящиеся в /tmp , могут быть удалены с помощью сайта, рекомендуется удалить файлы и каталоги, расположенные в /tmp всякий раз, когда система загружается.
FHS добавила эту рекомендацию на основе исторического прецедента и общих практики, но не требовали этого, поскольку системное администрирование не входит в рамки настоящего стандарта.
/var /tmp: временные файлы, сохраненные между перезагрузкой системы
Каталог /var/tmp предоставляется для программ, требующих временные файлы или каталоги, которые сохраняются между системами перезагружается. Поэтому данные, хранящиеся в /var/tmp , являются более стойкими, чем данные в /tmp .
Файлы и каталоги, расположенные в /var/tmp , не должны удаляться, если система загружается. Хотя данные, хранящиеся в /var/tmp , обычно удаленный в зависимости от конкретного сайта, рекомендуется удалить происходят менее часто, чем /tmp .
TMPDIR Эта переменная должна представлять собой путь к директории, доступной для программ, которым требуется место для создания временных файлов.
Да /tmp для общего использования. См. здесь и здесь В стандарте иерархии файловой системы.
/tmp /Временные файлы (см. также /var /tmp). Часто не сохраняется между перезагрузкой системы.
С более подробной информацией, указанной в PDF.
Это старый вопрос, так что сегодня есть еще один доступный вариант. Linux-дистрибутивы, полагающиеся на systemd (что составляет 90% из них) теперь могут использовать $XDG_RUNTIME_DIR ( Спецификация базового каталога XDG ) для хранения определенных типов временных файлов. Он обычно находится в /run/user/$uid . Это каталог для каждого пользователя с разрешениями 700 , который обеспечивает лучшую безопасность. Это mount tmpfs , который обеспечивает производительность. Недостатком tmpfs является то, что его следует использовать только для хранения небольших файлов и сокетов.
Я рассматриваю это как брак /tmp и /var/run
Вы не можете выбрать одно временное имя каталога раньше времени, которое будет работать для любой системы Linux. Фактически, вы также не можете делать это в Windows. Согласно статье статьи о временных папках Wikipedia временный каталог в Windows определяется переменной окружения TEMP , Если вы просто использовали c:\Temp как временный каталог в системе Windows, который устанавливает TEMP на что-то еще, тогда любая программа, использующая ваш XML-файл, выбор временного каталога не удался.
Короче говоря, временный каталог системы определяется средой во всех современных операционных системах, о которых я знаю, включая как Windows, так и любую UNIX-подобную систему. Установка одного статического пути в качестве временного каталога будет работать только до тех пор, пока значения по умолчанию не будут изменены.
В любом случае, стандартный временный каталог в типичной системе Linux — это /tmp . Это эквивалент C:\Temp в том смысле, что это only временный каталог по умолчанию, а не универсальный. Даже если доступен /tmp , если пользователь (или система) установил переменную среды TEMP, значение этой переменной должно быть использовано вместо этого.
Вы можете попробовать выбрать временный каталог по отношению к домашнему каталогу пользователя, который вы можете создать.
Источник
2.1.7. Временные файлы
2.1.7. Временные файлы
Иногда программе требуется создать временный файл, например для промежуточного хранения большого объема данных или для передачи данных другой программе. В системах GNU/Linux временные файлы хранятся в каталоге /tmp. Работая с временными файлами, необходимо помнить о следующих ловушках.
? Одновременно может быть запущено несколько экземпляров программы (одним и тем же пользователем или разными пользователями). Все они должны использовать разные имена временных файлов, чтобы не было конфликтов.
? Права доступа к временным файлам должны задаваться таким образом, чтобы неавторизованные пользователи не могли влиять на работу программы путем модификации или замены временного файла.
? Имена временных файлов должны генерироваться так, чтобы посторонние пользователи не могли их предугадать. В противном случае хакер может воспользоваться задержкой между проверкой факта использования данного имени файла и открытием нового временного файла.
В Linux имеются функции mkstemp() и tmpfile(), решающие все вышеперечисленные проблемы. Выбор между ними делается на основании того, должен ли временный файл передаваться другой программе и какие функции ввода-вывода будут применяться при работе с файлом: низкоуровневые (read(), write() и т.д.) или потоковые (fopen(), fprintf() и т.д.).
Функция mkstemp() генерирует уникальное имя файла на основании переданного ей шаблона, создает временный файл с правами, разрешающими доступ к нему только для текущего пользователя, и открывает файл в режиме чтения/записи. Шаблон имени — это строка, оканчивающаяся последовательностью «XXXXXX» (шесть прописных букв «X»). Функция mkstemp() заменяет каждую букву произвольным символом таким образом, чтобы получилось уникальное имя, и возвращает дескриптор файла. Запись в файл осуществляется с помощью функций семейства write().
Временные файлы, создаваемые функцией mkstemp(), не удаляются автоматически. Ответственность за это возлагается на того, кто запускает программу. (Программисты должны внимательно следить за удалением временных файлов, иначе файловая система /tmp рано или поздно переполнится, приведя всю систему в нерабочее состояние.) Если файл создан для внутреннего использования и не предназначен для передачи другой программе, по окончании работы с ним нужно сразу же вызвать функцию unlink(). Она удаляет из каталога ссылку на файл, но сам файл остается до тех пор, пока не будут закрыты все ссылающиеся на него дескрипторы. Таким образом, программа может продолжать использовать временный файл; он будет удален автоматически сразу после закрытия дескриптора. Операционная система закрывает дескрипторы файлов по окончании работы программы, так что временный файл будет удален даже в случае аварийного завершения программы.
В листинге 2.5 показаны две функции, работающие с временным файлом. Будучи примененными в связке, они позволяют легко переносить содержимое буферов из операторной памяти во временный файл (это дает возможность освобождать и повторно использовать память), а затем загружать данные из файла обратно в память.
Листинг 2.5. (temp_file.c) Использование функции mkstemp()
/* дескриптор временного файла, созданного в функции
typedef int temp_file_handle;
/* Запись указанного числа байтов из буфера во временный файл.
Ссылка на временный файл немедленно удаляется. Возвращается
дескриптор временного файла. */
temp_file_handle write_temp_file(char* buffer, size_t length) <
/* Создание имени файла и самого файла. Цепочка XXXXXX будет
заменена символами, которые сделают имя уникальным. */
char temp_filename() = «/tmp/temp_file.XXXXXX»;
int fd = mkstemp(temp_filename);
/* немедленное удаление ссылки на файл, благодаря чему он будет
удален сразу же после закрытия дескриптора файла. */
/* Сначала в файл записывается число, определяющее размер
/* теперь записываем сами данные. */
write(fd, buffer, length);
/* Возвращаем дескриптор файла. */
/* Чтение содержимого временного файла, созданного в функции
write_temp_file(). Создается и возвращается буфер с содержимым
файла. Этот буфер должен быть удален в вызывающей подпрограмме
с помощью функции free(). В параметр LENGTH записывается размер
буфера в байтах. В конце временный файл удаляется. */
char* read_temp_file(temp_file_handle temp_file, size_t* length) <
/* TEMP_FILE — это дескриптор временного файла. */
int fd = temp_file;
/* переход в начало файла. */
lseek(fd, 0, SEEK_SET);
/* Определение объема данных, содержащихся во временном файле. */
read(fd, length, sizeof(*length));
/* Выделение буфера и чтение данных. */
read(fd, buffer, *length);
/* Закрытие дескриптора файла, что приведет к уничтожению
Если в программе используются функции потокового ввода-вывода библиотеки языка С и передавать временный файл другой программе не нужно, то для работы с временным файлом больше подойдет функция tmpfile(). Она создает и открывает временный файл, возвращая файловый указатель на него. Ссылка на файл уже оказывается удаленной, благодаря чему он уничтожается автоматически при закрытии указателя (с помощью функции fclose()) или при завершении программы.
В Linux есть ряд других функций, предназначенных для генерирования временных файлов или их имен, в частности mktemp(), tmpnam() и tempnam(). Работать с ними нежелательно, поскольку возникают упоминавшиеся выше проблемы, связанные с надежностью и безопасностью.
Читайте также
Временные характеристики процесса
Временные характеристики процесса Воспользовавшись функцией GetProcessTimes, которая в Windows 9x отсутствует, можно получить различные временные характеристики процесса, а именно: истекшее время (elapsed time), время, затраченное ядром (kernel time), и пользовательское время (user time). BOOL
Пример: временные характеристики процессов
Пример: временные характеристики процессов Наш следующий пример (программа 6.2) представляет собой команду timep (от time print — вывод временных параметров), аналогичную UNIX-команде time (поскольку команда time поддерживается процессором командной строки, мы должны использовать для
Временные серверы для Linux
Временные серверы для Linux Сервер NTP для работы в Linux реализуется с помощью программы ntp или ее разновидностей: xntp, xntp3 и xntpd. Символ x в начале имени означает «экспериментальный» (experimental), что не совсем верно, так как эти программы успешно используются в течение нескольких лет.
7. Временные рамки
7. Временные рамки «Как сделать что-то за 15 минут» – это может быть небольшая статья, где вы даете алгоритм решения той или иной проблемы за три минуты. Это очень хорошее название для статей и видео. Вы планируете записать бесплатный каст на 15 минут, в котором
Временные диаграммы усилителей
Временные диаграммы усилителей Чтобы получить временные диаграммы синусоидального входного напряжения и напряжения на стоке, необходимо несколько изменить входной файл. Входное напряжение задается синусоидальной функциейvi 1a 0 sin (0 1mV 5kHz)Анализ переходных процессов
Временные диаграммы
Временные диаграммы Чтобы получить временные диаграммы входного и выходного напряжений, необходимо слегка изменить входной файл. Как и в предыдущем примере, будет использовано синусоидальное входное напряжение:Vi 1 0 sin (0 0. 5V 5kHz)Наряду с анализом переходных процессов
R.12.2 Временные объекты
R.12.2 Временные объекты В некоторых ситуациях транслятору бывает необходимо или удобно создавать временные объекты. Использование временных объектов зависит от реализации. Если транслятору понадобился временный объект типа класса с конструктором, он должен обеспечить
7.2.6.1. Временные файлы
7.2.6.1. Временные файлы Использование временных файлов в качестве буферов обмена данными является старейшей из существующих IPC-методик. Несмотря на недостатки, она остается удобной в сценариях командных интерпретаторов и одноразовых программах, где более сложный и
7.2.6.1. Временные файлы
7.2.6.1. Временные файлы Использование временных файлов в качестве буферов обмена данными является старейшей из существующих IPC-методик. Несмотря на недостатки, она остается удобной в сценариях командных интерпретаторов и одноразовых программах, где более сложный и
Исходные файлы и выполняемые файлы
Исходные файлы и выполняемые файлы Наша замечательная программа, несмотря на свою лаконичность и простоту, для компьютера является совершенно бессмысленным набором символов, так как он «не понимает» директив типа #include или printf. Он понимает только специальный язык,
Временные значения
Временные значения CURRENT_CONNECTION и CURRENT_TRANSACTION не имеют смысла вне текущего соединения и контекста транзакции соответственно. Сервер Firebird сохранит самые последние значения этих идентификаторов в заголовочной странице базы данных. После восстановления базы данных из
Временные таблицы
Временные таблицы Firebird не поддерживает временные таблицы, которые управляются системой. Здесь они меньше нужны, чем в других СУБД. Например, у Firebird есть возможность получать виртуальные таблицы напрямую через хранимую процедуру, написанную с использованием
Постоянные «временные» таблицы
Постоянные «временные» таблицы Популярная модель хранения временных данных для доступа приложений — определить постоянную структуру данных, которая включает «идентификатор сессии» или «идентификатор пакета», получающие значение от генератора, или, в Firebird 1.5,значение
Временные файлы проектов
Временные файлы проектов В ходе работы над проектом Studio создает дополнительные файлы, в которые сохраняет промежуточные данные, такие как результат просчета видеоэффектов, переходов и т. д. Впоследствии данные в этих файлах используются для предварительного просмотра и
Источник