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.
Składnia
Dział zatytułowany „Składnia”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
).
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
-d | Utwórz katalog zamiast pliku. |
-p katalog | Użyj podanego katalogu jako lokalizacji dla pliku/katalogu. |
-t szablon | Utwórz w domyślnym katalogu tymczasowym plik/katalog z określonym szablonem. |
--suffix=tekst | Dodaj własny sufiks do nazwy. |
--help | Wyświetl pomoc i zakończ. |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# 1) Utworzenie tymczasowego pliku w /tmpmktemp
# 2) Utworzenie tymczasowego katalogumktemp -d
# 3) Utworzenie pliku w bieżącym katalogu z własnym wzorem nazwymktemp tmpfile.XXXXXX
# 4) Utworzenie katalogu tymczasowego w określonej lokalizacjimktemp -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.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
too few X's in template | Szablon nie zawiera wystarczającej liczby X . | Dodaj co najmniej sześć X na końcu szablonu. |
Permission denied | Brak uprawnień do utworzenia pliku/katalogu w danej lokalizacji. | Wybierz inny katalog lub użyj sudo . |
invalid suffix | Nieprawidłowa wartość opcji --suffix . | Upewnij się, że sufiks nie zawiera znaków niedozwolonych. |
Linki i źródła
Dział zatytułowany „Linki i źródła”- man mktemp – oficjalna dokumentacja.
- POSIX mktemp – standard POSIX.
- Bezpieczne pliki tymczasowe w Bash – porady bezpieczeństwa.