Как выполнить cd и ls одной командой в Linux

Как выполнить cd и ls одной командой в Linux

Рубрики:

Bash, Linux

Метки:

Bash, cd, linux, ls

Пользователи Linux в своей работе часто используют команды cd и ls. Первая применяется для смены каталогов, а вторая — для просмотра их содержимого. В ОС Linux можно объединять команды в одну, чтобы выполнять несколько операций одновременно.

В этой статье мы расскажем, как выполнять cd и ls одной командой с помощью функций в Linux.

Содержание:

  1. Использование cd и ls в Linux
  2. Выполнение команд cd и ls в одной строке в Linux
  3. Написание функций для выполнения двух команд одновременно
    1. Функция 1
    2. Функция 2
  4. Выводы

Использование cd и ls в Linux

Большинство пользователей Linux сначала запускают команду cd для перехода в другой каталог, а затем — ls для просмотра его содержимого:

 

cd ls two commands

Выполнение команд cd и ls в одной строке в Linux

В операционной системе Linux можно выполнять несколько команд в одной строке, разделяя их точками с запятой. Например:

 

cd ls one command 1

Также можно разделять команды символами &&. К примеру:

 

cd ls one command 2

Читайте также: 15 примеров команды ls в Linux.

Важно: &&логический оператор «И». Это значит, что только если предыдущая команда выполнена успешно, то будет запущена последующая.

Написание функций для выполнения двух команд одновременно

Функция — набор команд, сгруппированных для реализации определенной задачи. Чтобы функции можно было вызывать по названию, их нужно создавать в системном файле ~/.bashrc. Открыть этот файл можно с помощью любого текстового редактора (например, nano):

 

Далее мы покажем Вам две функции, которые позволяют выполнить команды cd и ls одновременно.

Функция 1

Код первой функции имеет следующий вид:

 

Разберем его детальнее:

  1. cdls — название функции.
  2. cd "$@" — команда, которая используется для смены каталога. Символы $@ указывают на переменную, в которую запишется аргумент, передаваемый функции.
  3. && — логический оператор «И».
  4. ls — команда, которая выводит список содержимого каталога.

Вставьте код этой функции в конец файла ~/.bashrc.

cdls function 2

Читайте также: 10 полезных советов для написания эффективных bash скриптов в Linux.

Сохраните и закройте файл ~/.bashrc. Затем выполните следующую команду, чтобы внести изменения:

 

Теперь можете использовать эту функцию для запуска команд cd и ls одновременно. Например:

 

cdls function 2 right dir

Если в качестве аргумента Вы укажете неверный путь к каталогу, после выполнения функции Вы увидите ошибку No such file or directory.

cdls function 2 wrong dir

Функция 2

Код второй функции имеет следующий вид:

 

Давайте разберем строки этого кода:

  1. local dir="$1" — объявляется локальная переменная с именем dir, и ей присваивается значение первого аргумента, передаваемого функции.
  2. local dir="${dir:=$HOME}" — проверяется, является ли переменная dir неустановленной или пустой. Если да, то ей присваивается значение $HOME (домашний каталог пользователя).
  3. if [[ -d "$dir" ]]; then — проверяется, является ли содержимое переменной dir каталогом.
  4. cd "$dir" >/dev/null — если директория существует, то выполняется переход в указанный каталог и перенаправление вывода в /dev/null для исключения ненужной информации.
  5. ls --color=auto — после перехода в каталог, отображается список его содержимого в цветовом оформлении.
  6. else echo "bash: cdls: $dir: Directory not found" — если указанный каталог не найден, выводится сообщение об ошибке Directory not found.

Вставьте код этой функции в конец файла ~/.bashrc.

cdls function 1

Читайте также: Как использовать команду alias в Linux.

Важно: главное отличие этой функции от первой в том, что в ней проверяется наличие указанного каталога в файловой системе.

Сохраните и закройте файл ~/.bashrc. Затем запустите следующую команду, чтобы внести изменения:

 

Теперь можете использовать эту функцию для одновременного выполнения команд cd и ls. Например:

 

cdls function 1 right dir

Если в качестве аргумента Вы укажете неверный путь до каталога, после срабатывания функции Вы увидите ошибку Directory not found.

cdls function 1 wrong dir

Выводы

Объединение нескольких команд в одну помогает значительно сократить время выполнения задач. Кроме того, собственные функции позволяют настраивать функционал оболочки Bash в Linux под конкретные требования. Мы показали пример использования функций для одновременного выполнения команд cd и ls.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Bash, Linux

Метки:

Bash, cd, linux, ls

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики