Przejdź do głównej zawartości

mktemp


  • mktemp – narzędzie wiersza poleceń do tworzenia plików lub katalogów tymczasowych, których nazwy generowane są losowo, aby uniknąć kolizji i problemów bezpieczeństwa.
  • Główne zastosowania: tworzenie tymczasowych plików w skryptach, bezpieczne przechowywanie danych roboczych.
  • Dostępność: domyślnie we wszystkich systemach zgodnych z Unix/POSIX, w tym Linux, BSD i macOS.

Okno terminala
mktemp [opcje] [szablon]
  • Szablon to opcjonalny wzór nazwy z sześcioma literami X na końcu, które zostaną zastąpione losowymi znakami.
  • Jeśli nie podano szablonu, używany jest domyślny katalog tymczasowy (/tmp).

ParametrOpis
-dUtwórz katalog zamiast pliku.
-p katalogUżyj podanego katalogu jako lokalizacji dla pliku/katalogu.
-t szablonUtwórz w domyślnym katalogu tymczasowym plik/katalog z określonym szablonem.
--suffix=tekstDodaj własny sufiks do nazwy.
--helpWyświetl pomoc i zakończ.

Okno terminala
# 1) Utworzenie tymczasowego pliku w /tmp
mktemp
Okno terminala
# 2) Utworzenie tymczasowego katalogu
mktemp -d
Okno terminala
# 3) Utworzenie pliku w bieżącym katalogu z własnym wzorem nazwy
mktemp tmpfile.XXXXXX
Okno terminala
# 4) Utworzenie katalogu tymczasowego w określonej lokalizacji
mktemp -d -p /var/tmp moja_nazwa.XXXXXX

  • Używanie mktemp jest bezpieczniejsze niż tworzenie plików tymczasowych ręcznie, ponieważ zapobiega atakom typu symlink.
  • Sześć znaków X w szablonie jest obowiązkowe, aby nazwa była generowana poprawnie.
  • Tymczasowe pliki nie są automatycznie usuwane – należy o to zadbać w skryptach.

Błąd / KomunikatPrzyczynaRozwiązanie
too few X's in templateSzablon nie zawiera wystarczającej liczby X.Dodaj co najmniej sześć X na końcu szablonu.
Permission deniedBrak uprawnień do utworzenia pliku/katalogu w danej lokalizacji.Wybierz inny katalog lub użyj sudo.
invalid suffixNieprawidłowa wartość opcji --suffix.Upewnij się, że sufiks nie zawiera znaków niedozwolonych.