Тимчасовий файл
Тимчасовий файл — файл, що створюється певною програмою або операційною системою для збереження проміжних підсумків у процесі функціонування або передачі даних в іншу програму. Зазвичай такі файли видаляються автоматично процесом, що їх створив.
Деякі операційні системи мають додаткові можливості під час роботи з тимчасовими файлами — можливість отримати назву тимчасового файлу (причому таку, яка буде неповторною — тобто не збігатиметься з назвою вже наявного файлу); можливість вказати особливий параметр під час створення (відкриття) файлу, який вказував би видалити файл відразу після запису.
В Unix-подібних операційних системах для тимчасових файлів виділений окремий каталог /tmp. Дані в цьому каталозі інтенсивно кешуються, а також (у багатьох системах) видаляються під час завантаження операційної системи.
Призначення
- Додаткова пам'ять
- Усі сучасні ОС використовують файл підкачки.
- Програми, що працюють з великою кількістю даних — наприклад, відеоредактори — можуть створювати безліч тимчасових файлів.
- Збереження результатів компіляцій, розрахунків, завантажень тощо, щоб не робити двічі
- Так працює ланцюжок збирання будь-якого компілятора. Збирати заново тільки те, чий вихідний код був змінений.
- Так працює дисковий кеш браузерів.
- Взаємодія між процесами
- Найпростіший спосіб отримати дані з іншої програми — вимагати від неї записати їх у файл. Така комунікація може проводитися навіть між різними комп'ютерами — якщо, звичайно, вони мають у своєму розпорядженні загальний мережевий диск. Працює навіть на хмарних сховищах на зразок Dropbox, які є не особливою файловою системою, а резидентною програмою з одними правами, яка синхронізує файли між комп'ютерами. Так, Microsoft Office може повідомляти своїм копіям з інших комп'ютерів, хто зайняв файл.
- Архітектура програмної системи вимагає саме файл
- Бібліотека cURL не дозволяє утворювати сертифікати сайтів у пам'яті — тільки в файлі.
- Часто тимчасовими файлами користуються пакетні файли, ланцюжки складання в компіляторах.
- Використовувалося в засобах запуску Doom: командний рядок DOS обмежувався 128 байтами, але в Doom був параметр
@filename.ext
, що дозволяв обійти це обмеження. - Потрібно за всяку ціну зберегти наявний файл за апаратно-програмного збою
- Наприклад, переписуючи файл, програма може створити новий з тимчасовим ім'ям, і якщо створення вдасться, видалити старий і перейменувати новий.
- У СУБД домагаються вимог ACID саме через тимчасові файли.
- Запуск файлів — як програм, так і по асоціації
- Використовується браузерами, якщо потрібно запустити завантажений файл.
- Така система поширена для драйверів: самовитяжний архів розпаковує встановник драйвера, а потім запускає його.
- У такому вигляді зручно зберігати кеш оновлень ПЗ
- Комбінація наведених причин. Оновлення часто великі. Їх потрібно довантажувати з того місця, звідки перервано. Іноді служба оновлення ПЗ спрацьовує під час запуску програми або завантаження/завершення ОС, і найпростіше передати їй дані саме через файли. Іноді (браузер Vivaldi, текстовий редактор Notepad ++) оновлення — програма, яку потрібно запустити.
Місцеперебування
Тимчасові файли ОС Windows можна знайти в наступних каталогах:
%SystemRoot%\Temp
%SystemRoot% — каталог, в який встановлена Windows.
%HomeDrive%%HomePath%\Temp
%HomeDrive% — усталено C: %HomePath% — \Documents and Settings\<Ім'я користувача> (усталено у Windows XP). Те саме що і попереднє (усталено):
%TMP%
%TEMP%
Крім того, тимчасові файли можуть перебувати в поточному каталозі. Чи в Unix-подібних операційних системах,
/tmp
чи
~/tmp
(де ~ — посилання на домашній каталог користувача).