Тимчасовий файл

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Тимчасовий файл — файл, що створюється певною програмою або операційною системою для збереження проміжних підсумків у процесі функціонування або передачі даних в іншу програму. Зазвичай такі файли видаляються автоматично процесом, що їх створив.

Деякі операційні системи мають додаткові можливості під час роботи з тимчасовими файлами — можливість отримати назву тимчасового файлу (причому таку, яка буде неповторною — тобто не збігатиметься з назвою вже наявного файлу); можливість вказати особливий параметр під час створення (відкриття) файлу, який вказував би видалити файл відразу після запису.

В 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

(де ~ — посилання на домашній каталог користувача).