Již víme, jak vytvářet soubory určité velikosti v Linuxu. Vytváření souborů s danou velikostí může být užitečné v mnoha případech. Například po nasazení nového souborového serveru můžete chtít zkontrolovat limit nahrávání, maximální velikost nahrávání a rychlost stahování souborů atd. V takových případech můžete vytvořit soubory konkrétní velikosti a otestovat je na svém souborovém serveru. Existuje také vyhrazený nástroj příkazového řádku s názvem "mktemp" je k dispozici pro vytváření dočasných souborů a adresářů. Příkaz mktemp bezpečně vytvoří dočasný soubor nebo adresář a vytiskne jeho název. Všechny soubory a adresáře budou uloženy v dočasném adresáři systému, tj. /tmp . Nemusíte je tedy ručně čistit. Jakmile restartujete systém, dočasné soubory budou pryč.
Výukový program příkazu mktemp s příklady
Mktemp je součástí GNU coreutils balík. S instalací se tedy neobtěžujte. Nyní uvidíme několik praktických příkladů.
Chcete-li vytvořit nový dočasný soubor, jednoduše spusťte:
$ mktemp
Uvidíte výstup jako níže:
/tmp/tmp.U0C3cgGFpk

Vytvořte dočasný soubor pomocí příkazu mktemp
Jak vidíte ve výstupu, nový dočasný soubor s náhodným názvem "tmp.U0C3cgGFpk" je vytvořen v adresáři /tmp. Tento soubor je pouze prázdný soubor.
Můžete také vytvořit dočasný soubor se zadanou příponou. Následující příkaz vytvoří dočasný soubor s příponou „.txt“:
$ mktemp --suffix ".txt" /tmp/tmp.sux7uKNgIA.txt
Co takhle dočasný adresář? Ano, i to je možné! Chcete-li vytvořit dočasný adresář, použijte -d možnost.
$ mktemp -d
Tím se vytvoří náhodný prázdný adresář ve složce /tmp.
Ukázkový výstup:
/tmp/tmp.PE7tDnm4uN

Vytvořte dočasný adresář pomocí příkazu mktemp
Všechny soubory budou vytvořeny pomocí u+rw oprávnění a adresáře s u+rwx , mínus omezení umask. Jinými slovy, výsledný soubor bude mít oprávnění ke čtení a zápisu pro aktuálního uživatele, ale žádná oprávnění pro skupinu nebo ostatní. A výsledný adresář bude mít oprávnění ke čtení, zápisu a spustitelnosti pro aktuálního uživatele, ale žádná oprávnění pro skupiny nebo ostatní.
Oprávnění k souboru můžete ověřit pomocí příkazu "ls":
$ ls -al /tmp/tmp.U0C3cgGFpk -rw------- 1 sk sk 0 May 14 13:20 /tmp/tmp.U0C3cgGFpk
Ověřte oprávnění k adresáři pomocí příkazu "ls":
$ ls -ld /tmp/tmp.PE7tDnm4uN drwx------ 2 sk sk 4096 May 14 13:25 /tmp/tmp.PE7tDnm4uN

Zkontrolujte oprávnění k souborům a adresářům v systému Linux
Doporučené čtení:
- Jak vytvořit adresáře z textového souboru v systému Linux
Vytvořte dočasné soubory nebo adresáře s vlastními názvy pomocí příkazu mktemp
Jak jsem již řekl, všechny soubory a adresáře jsou vytvořeny s náhodnými názvy souborů. Můžeme také vytvořit dočasný soubor nebo adresář s vlastním názvem. Chcete-li tak učinit, jednoduše přidejte alespoň 3 po sobě jdoucí 'X na konci názvu souboru, jak je uvedeno níže.
$ mktemp ostechnixXXX ostechnixq70
Podobně pro vytvoření adresáře stačí spustit:
$ mktemp -d ostechnixXXX ostechnixcBO
Vezměte prosím na vědomí, že pokud zvolíte vlastní název, soubory/adresáře budou vytvořeny v aktuálním pracovním adresáři, nikoli v umístění /tmp . V takovém případě je musíte ručně vyčistit.
Jak jste si také mohli všimnout, písmena X v názvu souboru jsou nahrazena náhodnými znaky. Můžete však přidat libovolnou příponu dle vlastního výběru.
Například chci přidat „blog“ na konec názvu souboru. Můj příkaz by tedy byl:
$ mktemp ostechnixXXX --suffix=blog ostechnixZuZblog
Nyní máme na konci názvu souboru příponu „blog“.
Pokud nechcete vytvářet žádný soubor nebo adresář, můžete jednoduše provést suchý běh, jak je uvedeno níže.
$ mktemp -u /tmp/tmp.oK4N4U6rDG
Pro nápovědu spusťte:
$ mktemp --help
Proč vlastně potřebujeme mktemp?
Možná se divíte, proč potřebujeme "mktemp", zatímco můžeme snadno vytvářet prázdné soubory pomocí příkazu "touch filename". Příkaz mktemp se používá hlavně k vytváření dočasných souborů/adresářů s náhodným názvem . Takže se nemusíme obtěžovat zjišťováním jmen. Vzhledem k tomu, že mktemp jména náhodně řadí, nedojde ke kolizi jmen. Také mktemp vytváří soubory bezpečně s oprávněním 600(rw) a adresáře s oprávněním 700(rwx), takže k němu ostatní uživatelé nemají přístup. Další podrobnosti naleznete na manuálových stránkách.
$ man mktemp