Пользователи Linux в своей работе часто используют команды cd
и ls
. Первая применяется для смены каталогов, а вторая — для просмотра их содержимого. В ОС Linux можно объединять команды в одну, чтобы выполнять несколько операций одновременно.
В этой статье мы расскажем, как выполнять cd
и ls
одной командой с помощью функций в Linux.
Содержание:
- Использование cd и ls в Linux
- Выполнение команд cd и ls в одной строке в Linux
- Написание функций для выполнения двух команд одновременно
- Выводы
Использование cd и ls в Linux
Большинство пользователей Linux сначала запускают команду cd
для перехода в другой каталог, а затем — ls
для просмотра его содержимого:
Выполнение команд cd и ls в одной строке в Linux
В операционной системе Linux можно выполнять несколько команд в одной строке, разделяя их точками с запятой. Например:
Также можно разделять команды символами &&
. К примеру:
Читайте также: 15 примеров команды ls в Linux.
Важно: &&
— логический оператор «И». Это значит, что только если предыдущая команда выполнена успешно, то будет запущена последующая.
Написание функций для выполнения двух команд одновременно
Функция — набор команд, сгруппированных для реализации определенной задачи. Чтобы функции можно было вызывать по названию, их нужно создавать в системном файле ~/.bashrc
. Открыть этот файл можно с помощью любого текстового редактора (например, nano):
Далее мы покажем Вам две функции, которые позволяют выполнить команды cd
и ls
одновременно.
Функция 1
Код первой функции имеет следующий вид:
Разберем его детальнее:
cdls
— название функции.cd "$@"
— команда, которая используется для смены каталога. Символы$@
указывают на переменную, в которую запишется аргумент, передаваемый функции.&&
— логический оператор «И».ls
— команда, которая выводит список содержимого каталога.
Вставьте код этой функции в конец файла ~/.bashrc
.
Читайте также: 10 полезных советов для написания эффективных bash скриптов в Linux.
Сохраните и закройте файл ~/.bashrc
. Затем выполните следующую команду, чтобы внести изменения:
Теперь можете использовать эту функцию для запуска команд cd
и ls
одновременно. Например:
Если в качестве аргумента Вы укажете неверный путь к каталогу, после выполнения функции Вы увидите ошибку No such file or directory.
Функция 2
Код второй функции имеет следующий вид:
Давайте разберем строки этого кода:
local dir="$1"
— объявляется локальная переменная с именемdir
, и ей присваивается значение первого аргумента, передаваемого функции.local dir="${dir:=$HOME}"
— проверяется, является ли переменнаяdir
неустановленной или пустой. Если да, то ей присваивается значение$HOME
(домашний каталог пользователя).if [[ -d "$dir" ]]; then
— проверяется, является ли содержимое переменнойdir
каталогом.cd "$dir" >/dev/null
— если директория существует, то выполняется переход в указанный каталог и перенаправление вывода в/dev/null
для исключения ненужной информации.ls --color=auto
— после перехода в каталог, отображается список его содержимого в цветовом оформлении.else echo "bash: cdls: $dir: Directory not found"
— если указанный каталог не найден, выводится сообщение об ошибке Directory not found.
Вставьте код этой функции в конец файла ~/.bashrc
.
Читайте также: Как использовать команду alias в Linux.
Важно: главное отличие этой функции от первой в том, что в ней проверяется наличие указанного каталога в файловой системе.
Сохраните и закройте файл ~/.bashrc
. Затем запустите следующую команду, чтобы внести изменения:
Теперь можете использовать эту функцию для одновременного выполнения команд cd
и ls
. Например:
Если в качестве аргумента Вы укажете неверный путь до каталога, после срабатывания функции Вы увидите ошибку Directory not found.
Выводы
Объединение нескольких команд в одну помогает значительно сократить время выполнения задач. Кроме того, собственные функции позволяют настраивать функционал оболочки Bash в Linux под конкретные требования. Мы показали пример использования функций для одновременного выполнения команд cd
и ls
.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.