Быстрое изучение Bash 30 легких команд для новичков

команды Bash

Современные файловые системы – это древовидные каталоги с корневой и родительскими директориями. Движение вверх по родительским каталогам приводит к корневому. В некоторых системах встречается несколько корневых каталогов, например, всем известные диски Windows: C:\ , A:\ , etc.

Но в Unix-подобных системах все по-другому: здесь принят один корневой каталог с именем \ . А вот и основные команды Bash для перемещения по файловой системе:

При работе в файловой системе пользователь находится в каталоге, который называется текущим или рабочим. Команда pwd выводит рабочий каталог пользователя:

С ls вы сможете вывести содержимое каталога (файлы и дочерние директории):

Перейти в другой каталог поможет cd :

Используйте команду cd .. для быстрого перемещения в родительскую директорию:

используется для перемещения домой, в /home/$USER :

Три bash команды для управления

Иногда вам потребуется запускать эти команды одну за другой. Тогда на помощь приходит оператор ; :

Точка с запятой означает, что сначала перечисляется содержимое рабочего каталога с помощью ls , а затем pwd выводит местоположение каталога. Еще один полезный инструмент для создания цепочек команд – && . При использовании && команда справа не будет выполняться, если команда слева не выполнена:

Но если использовать ; , вторая команда выполняется даже после ошибки в первой:

А вот вам небольшой трюк в bash. Команда & похожа на && , но на самом деле выполняет другую функцию. Часто процессы блокируют ввод в терминал во время работы. Чтобы свернуть подобный процесс в фон, используйте & в конце команды. Тогда процесс выполняется в фоне, не блокируя ввод в окно терминала:

Скорая помощь для тех, кто забыл

Даже если вы давно пользуетесь продвинутыми командами bash, вы все еще можете забыть что-то из базиса, и это нормально. Всегда можно получить подсказку для большинства утилит. Как? Просто введите -h или –help в конце команды:

Программы и команды Linux сопровождаются справочным руководством. Введите man перед командой, чтобы вызвать руководство. Выход из man – клавиша q:

Быстрый просмотр и редактирование файлов

head выводит первые строки файла. Флаг -n указывает количество отображаемых строк:

tail выводит последние строки файла. Можно получить последние n строк или конец файла, начиная с N -й строки, с помощью tail -n + N :

Используйте cat с одним или несколькими файлами: так можно быстро посмотреть содержание.

nano – минималистичный текстовый редактор командной строки. Редактор подходит начинающим и тем, кто не любит разнообразия. На начальных этапах он покроет все ваши требования.

nedit – легкий графический редактор, который открывается в окне. Редактирование по принципу «укажи и щелкни» с перетаскиванием, есть подсветка синтаксиса. Можно использовать nedit , когда следует постоянно вносить небольшие изменения и перезапускать скрипт.

Современные редакторы предлагают функции поиска и замены, подсветки синтаксиса и так далее. vi (m) и emacs функциональней nano и nedit , но сложней в освоении.

Создаем и удаляем файлы/директории

touch нужен для изменения временных меток файлов и для создания пустого файла. Можно создать новый файл в nano :

Затем править файл и сохранить:

Или использовать touch :

mkdir создает новые каталоги:

Теперь удалим файл с помощью команды rm .

WARNING: файл невозможно восстановить!

Необходимость подтверждения вызывается флагом -i :

Удаляйте пустые каталоги с помощью rmdir . Если ls -a используется в пустом каталоге, команда выводит только ссылку на сам каталог . и ссылку на родительский каталог .. :

Команда rmdir удаляет только директории:

Чтобы удалить директорию с содержимым, используйте rm -rf :

Перемещаемся, копируем, ссылаемся

mv перемещает и переименовывает файл. Для переименования введите новое имя файла:

cp копирует файл:

Bash: история команд

В Bash доступна функция автоматического завершения команды по кнопке tab. Введите начальную часть команды и нажмите tab, чтобы терминал предложил полную строку.

Нажмите клавишу tab после ls t , и команда будет завершена автоматически.

Иногда нужно нажимать tab несколько раз:

Bash хранит историю ранее введенных команд. Чтобы выполнить поиск нажмите Ctrl + r:

Нажимаем Ctrl + r:

Вводим «mobi» и находим последнюю команду с этой строкой:

Деревья каталогов, использование диска и процессы

По умолчанию mkdir создает только один каталог. Это означает, что, например, если каталога a/b не существует, то a/b/c не может быть создан с помощью mkdir :

Но если указать флаг -p , mkdir создаст все директории, которые отсутствуют в указанном пути:

tree отображает структуру каталога в виде отформатированного дерева. По умолчанию tree печатает древовидную структуру, начиная с указанного каталога, но количество уровней ограничивается флагом -L :

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

df показывает, сколько места занимают файлы на дисках.

В приведенной выше команде -h означает не «help», а «human-readable». Некоторые команды используют этот флаг для отображения размеров в K для килобайт и G для гигабайт, вместо записи гигантского числа байтов.

du показывает использование файлового пространства каталогами. Если хочется узнать, сколько свободного места на жестком диске, используйте df , а для каталогов используйте du :

df принимает флаг –max-deep = N , который показывает директории только на N уровней в указанном каталоге:

ps показывает запущенные процессы пользователей:

Вот вам и основы Bash. Но давайте копнем чуть глубже.

Другие полезные команды bash

Меняйте пароль учетной записи с помощью passwd . Команда проверяет текущий пароль и просит ввести новый пароль дважды:

logout выполняет выход пользователя из сеанса оболочки:

exit выходит из консоли:

Запустите команду clear , чтобы переместить текущую строку терминала в верхнюю часть экрана. Используйте для очистки рабочего пространства.

Используйте * при поиске файлов. Обратите внимание на разницу между следующими командами:

Используйте * много раз в одной команде с символами и без:

Ну все! Теперь вы точно застрахованы от случаев, когда bash команда не найдена. А как вы начинали работать с bash? Поделитесь своим списком команд bash для начинающих 😉