Поиск по сайту:

Учебное пособие по команде Linux mktemp для начинающих (5 примеров)


На этой странице

  1. Команда Linux mktemp
  2. Q1. Как создать временный файл с помощью mktemp?
  3. Вопрос 2. Как создать временный каталог с помощью mktemp?
  4. Вопрос 3. Как дать собственное имя вашему временному файлу/каталогу?
  5. Q4. Как добавить суффикс в конец имени файла/каталога?
  6. В5. Как просто выполнить пробный прогон с mktemp?
  7. Заключение

Создание временных файлов или каталогов — обычная задача, которую выполняют многие пользователи командной строки Linux. Но знаете ли вы, что есть специальный инструмент командной строки, названный mktemp, который позволяет вам это делать?

В этом уроке мы обсудим основы команды mktemp, используя несколько простых для понимания примеров. Но прежде чем мы это сделаем, стоит упомянуть, что все приведенные здесь примеры были протестированы на компьютере с Ubuntu 20.04 LTS и на Debian 10.

Команда Linux mktemp

Команда mktemp в Linux позволяет пользователям создавать временный файл или каталог. Ниже приведен его синтаксис:

mktemp [OPTION]... [TEMPLATE]

И вот как это объясняет справочная страница инструментов:

       Create a temporary file or directory, safely, and print its name.  TEM?
       PLATE must contain at least 3 consecutive 'X's in last  component.   If
       TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.
       Files are created u+rw, and directories  u+rwx,  minus  umask  restric?
       tions.

Ниже приведены несколько примеров в стиле вопросов и ответов, которые должны дать вам хорошее представление о том, как работает команда mktemp.

Q1. Как создать временный файл с помощью mktemp?

Простой. Просто выполните mktemp без каких-либо опций. Вы увидите, что в папке /tmp/ будет создан временный файл.

mktemp

Например, в моем случае был получен следующий вывод:

/tmp/tmp.Ko6d1aX84B

Q2. Как создать временный каталог с помощью mktemp?

Это можно сделать с помощью параметра командной строки -d.

mktemp -d

Например, в моем случае был получен следующий вывод:

/tmp/tmp.Y8pySTB9ml

Итак, вы видите, имя не отражает тот факт, что это каталог, но на самом деле это так.

Q3. Как дать собственное имя вашему временному файлу/каталогу?

Как вы уже могли заметить, mktemp дает случайное имя создаваемому временному файлу или каталогу. Однако, если вы хотите, вы можете указать собственное имя.

Инструмент предлагает шаблон, который вы можете использовать. Все, что вам нужно сделать, это указать имя, за которым следует три или более X в продолжение. Эти X заменяются на mktemp со случайными символами, так что окончательное имя файла или каталога получается уникальным.

Например, я выполнил следующую команду:

mktemp tempfileXXX

И был создан следующий файл:

tempfileEgh

Обратите внимание, что файлы, созданные таким образом, располагаются в текущем рабочем каталоге, а не в каталоге /tmp/ (что является поведением по умолчанию).

Q4. Как добавить суффикс в конец имени файла/каталога?

В предыдущем разделе мы обсуждали, как получить пользовательское имя при использовании mktemp. Но таким образом вы можете иметь только начальную часть имени по желанию. Что делать, если вы хотите, чтобы суффикс по вашему выбору, а также?

Вы будете рады узнать, что это также возможно. Вам просто нужно использовать опцию --suffix. Ниже приведен пример:

mktemp tempfileXXX --suffix=HTF

А вот имя файла, созданного вышеупомянутой командой:

tempfilecVkHTF

Таким образом, вы можете видеть, что указанный вами суффикс был добавлен к имени файла.

Q5. Как просто выполнить пробный прогон с mktemp?

Если вы просто хотите, чтобы mktemp отображал имя, а не создавал файл/каталог, это можно сделать с помощью параметра командной строки -u.

mktemp -u

Заключение

В зависимости от того, какую работу вы выполняете в командной строке Linux, команда mktemp может оказаться для вас удобным инструментом, позволяющим сэкономить время. Здесь, в этом руководстве, мы обсудили несколько параметров командной строки, которые предлагает инструмент. Чтобы узнать больше, перейдите на его справочную страницу.