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

Объяснение команды Linux dirname для начинающих (4 примера)


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

  1. Команда Linux имя_каталога
  2. Q1. Как работает команда dirname?
  3. Вопрос 2. Может ли он обрабатывать несколько входов?
  4. Вопрос 3. Что, если имя файла также является его абсолютным именем?
  5. Q4. Как заменить новую строку на NUL в выходных строках?
  6. Заключение

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

В этом уроке мы обсудим основы имени каталога, а также то, как вы можете его использовать. Но прежде чем мы это сделаем, стоит сообщить, что все примеры/инструкции, упомянутые здесь, были протестированы на Ubuntu 22.04 LTS.

Команда имени папки Linux

Ниже приведен общий синтаксис команды dirname:

dirname [OPTION] NAME...

Вот как это описывает справочная страница инструментов:

Output each NAME with its last non-slash component and trailing slashes removed; if NAME contains 
no  /'s,  output  '.'  (meaning  the  current directory).

Следующие примеры типа вопросов и ответов дадут вам лучшее представление о том, как можно использовать этот инструмент. Чтобы перейти в новый каталог, используйте команду cd.

Q1. Как работает команда dirname?

Основное использование инструмента очень простое — просто напишите имя команды, а затем абсолютное имя файла. На выходе вы получите полное дерево каталогов, кроме имени файла.

Вот пример:

Q2. Может ли он обрабатывать несколько входов?

Да, конечно. Все, что вам нужно сделать, это передать абсолютные имена файлов одно за другим. Следующий пример должен прояснить это:

Q3. Что, если имя файла также является его абсолютным именем?

Если ввод представляет собой просто имя файла (не абсолютное, полное дерева каталогов), то на выходе создается точка (.).

Если вы еще раз взглянете на описание команды на справочной странице (упомянутое в начале), то увидите, что это поведение там явно упоминается.

Q4. Как заменить новую строку на NUL в выходных строках?

По умолчанию строки в выводе разделяются новой строкой, как видно из приведенного выше Вопроса и ответа 2. Однако, если вы хотите, вы можете вместо этого разделить выходные строки символами NUL. Для этого используйте параметр командной строки -z.

Вот скриншот этой опции командной строки в действии:

Обратите внимание, что выходные строки больше не разделяются символом новой строки.

Заключение

Команда dirname может быть не такой многофункциональной, как некоторые другие команды Linux, но не будет ошибкой сказать, что это отличный инструмент, который может сэкономить вам день при работе со сценариями оболочки. Что бы мы ни обсуждали здесь, это почти все, что предлагает инструмент. Если у вас есть какие-либо сомнения или вопросы, оставьте комментарий ниже.