Хорошие знания в оболочке Bourne Again SHell (Bash Shell) как разработчика или пользователя Linux могут значительно повысить производительность. Оболочка Bash – это швейцарский армейский нож с великолепными функциями и обманчиво простыми командами, который может предоставить гораздо более гибкие возможности для организации и оптимизации вашего рабочего процесса.
Оболочка Bash является наиболее широко используемым интерфейсом командной строки (CLI). Bash – это оболочка Unix и язык команд, который является оболочкой входа по умолчанию для большинства дистрибутивов Linux. Она предоставляет пользователям набор инструментов для управления задачами в системе Linux.
Linux – это операционная система с открытым исходным кодом, которая широко используется в технологической индустрии. Одним из ключевых преимуществ Linux является его интерфейс командной строки, который предоставляет пользователям прямой доступ к базовой системе и позволяет им выполнять команды и скрипты с помощью оболочки, такой как Bash. Команды Bash выполняют широкий спектр задач, таких как:
Преимущество использования команд Bash для навигации в Linux заключается в его гибкости и универсальности. Linux – это операционная система с открытым исходным кодом, которая предоставляет пользователям контроль над базовой системой. Это позволяет пользователям настраивать ее в соответствии со своими конкретными потребностями.
Позволяя пользователям адаптировать среду к их конкретным потребностям, Bash и Linux обеспечивают высокий уровень персонализации и эффективности. Некоторые примеры возможных настроек и конфигураций включают псевдонимы (пользовательские сочетания клавиш для часто используемых команд или групп команд), пользовательские сценарии командной оболочки для автоматизации повторяющихся задач и опции для точной настройки ваших переменных окружения для управления поведением различных приложений, запущенных в вашей системе.
Эта адаптивность распространяется и на команды Bash, которые можно настраивать с помощью скриптов bash и утилит командной строки. Linux предлагает стабильную среду для выполнения команд Bash, гарантируя их согласованное выполнение. Это особенно важно в производственных средах, где необходимы плавная автоматизация и повторяемость.
В следующих разделах мы представим самые популярные команды Bash, что они делают и как расширить их с помощью опций. Далее в этой статье вы узнаете, как создавать свои собственные пользовательские команды (псевдонимы), позволяющие создавать ярлыки для одной команды или группы команд.
Когда дело доходит до дела, если вы не знаете командной строки, вы не используете свой компьютер в полной мере.
Ознакомьтесь с остальной частью этой шпаргалки по bash, чтобы еще лучше ознакомиться с концепциями командной строки!
Краткое примечание: Все, что заключено в [ ]
, означает, что это необязательно. Некоторые команды можно использовать без параметров или указания файлов.
Команда ls вероятно, это самая распространенная команда. Часто вы работаете в каталоге, и вам нужно знать, какие файлы там расположены. Команда ls позволяет быстро просмотреть все файлы в указанном каталоге.
Синтаксис: ls [опции] [file(s)]
echo — выводит текст в окно терминала
Команда echo выводит текст в окно терминала и обычно используется в сценариях командной оболочки и пакетных файлах для вывода текста состояния на экран или в компьютерный файл. Echo также особенно полезен для отображения значений переменных среды, которые сообщают командной оболочке, как вести себя пользователю при работе в командной строке или в скриптах.
Синтаксис: echo [опции] [string(s)]
touch — создает файл
Команда touch это будет самый простой способ создания новых файлов, но его также можно использовать для изменения временных меток в файлах и/или каталогах. Вы можете создать столько файлов, сколько захотите, одной командой, не беспокоясь о перезаписи файлов с одинаковыми именами.
Синтаксис: touch [опции] file_name(s)
mkdir — Создать каталог
Команда mkdir это полезная команда, которую вы можете использовать для создания каталогов. Одновременно можно создавать любое количество каталогов, что может значительно ускорить процесс.
mkdir
[опции] directory_namegrep — поиск
Команда grep используется для поиска в тексте шаблонов, заданных пользователем. Это одна из самых полезных и мощных команд. Часто бывают ситуации, когда вам нужно найти определенную строку или шаблон в файле, но вы не знаете, с чего начать поиск, и именно здесь grep чрезвычайно полезен.
grep
[опции] шаблон [файл ]man — Распечатайте руководство или получите справку по команде
Команда man – это ваше руководство, и оно очень полезно, когда вам нужно разобраться, что делает команда. Например, если вы не знали, что делает команда rmdir, вы могли бы использовать команду man, чтобы выяснить это.
man
[опции] ключевое словоpwd — Распечатать рабочий каталог
Команда pwd используется для печати текущего каталога, в котором вы находитесь. Например, если у вас запущено несколько терминалов и вам нужно запомнить точный каталог, в котором вы работаете, тогда pwd сообщит вам.
pwd
[опции]cd — Изменить каталог
Команда cd изменит каталог, в котором вы находитесь, чтобы вы могли получать информацию, манипулировать, читать и т.д. различные файлы и каталоги в вашей системе.
cd
каталог [опций]mv — Переместить или переименовать каталог
Команда mv используется для перемещения или переименования каталогов. Без этой команды вам пришлось бы переименовывать каждый файл по отдельности, что утомительно. mv
позволяет выполнять пакетное переименование файлов, что может сэкономить вам массу времени.
mv
[опции] аргументrmdir — Удалить каталог
Команда rmdir удалит пустые каталоги. Это может помочь освободить место на вашем компьютере и упорядочить файлы и папки. Важно отметить, что есть два способа удаления каталогов: rm и rmdir. Разница между ними в том, что rmdir удаляет только пустые каталоги, тогда как rm удаляет каталоги и файлы независимо от того, содержат они данные или нет.
rmdir
[опции] directory_nameslocate — найти определенный файл или каталог
Это, безусловно, самый простой способ найти файл или каталог. Вы можете расширить область поиска, если не знаете, что именно ищете, или сузить область поиска, используя подстановочные знаки или регулярные выражения.
locate
[опции] имя_файла (ов)less
— просмотр содержимого текстового файла
Команда less позволяет просматривать файлы, не открывая редактор. Она более быстрая в использовании, и у вас нет шансов случайно изменить файл.
less
имя_файлаcompgen — показывает все доступные команды, псевдонимы и функции
Команда compgen
это удобная команда, когда вам нужно ссылаться на все доступные команды, псевдонимы и функции.
compgen
[опции]> — перенаправление стандартного вывода
Символ >
– это оператор перенаправления. Он принимает выходные данные предыдущей команды, которые вы обычно видите в терминале, и отправляет их в файл, который вы ей предоставляете. В качестве примера возьмем echo “содержимое file1” > file1 . Здесь он создает файл с именем file1 и помещает в него отраженную строку.
>
cat — чтение файла, создание файла и объединение файлов
Команда cat это одна из наиболее универсальных команд, которая выполняет три основные функции: отображает их, объединяет их копии и создает новые.
cat
[опции] [имя_файла (ов)] [-] [имя_файла (ов)]| — Pipe
Канал принимает стандартный вывод одной команды и передает его в качестве входных данных другой.
|
head — Считывает начало файла
По умолчанию команда head отображает первые 10 строк файла. Бывают случаи, когда вам может потребоваться быстро просмотреть несколько строк в файле, и head позволяет вам это сделать. Типичный пример того, когда вы хотели бы использовать head, – это когда вам нужно проанализировать журналы или текстовые файлы, которые часто меняются.
head
[опции] файлtail — чтение конца файла
По умолчанию команда tail отображает последние 10 строк файла. Бывают случаи, когда вам может потребоваться быстро просмотреть несколько строк в файле, и tail позволяет вам это сделать. Типичный пример того, когда вы хотели бы использовать tail, – это когда вам нужно проанализировать журналы или текстовые файлы, которые часто меняются.
tail
[опции] file_nameschmod — устанавливает флаг разрешений для файла или папки
Вы столкнетесь с ситуациями, когда вы или коллега попытаетесь загрузить файл или изменить документ, и вы получите сообщение об ошибке, потому что у вас нет доступа. Быстрое решение этой проблемы – использовать chmod. Разрешения могут быть установлены с помощью буквенно-цифровых символов (u, g, o), а доступ к ним может быть назначен с помощью w, r, x. И наоборот, вы также можете использовать восьмеричные числа (0-7) для изменения разрешений. Например:
chmod 777 my_file
предоставит доступ каждому.
chmod
[опции] права доступа имя_файлаexit — выход из домашнего каталога
Команда exit закроет окно терминала, завершит выполнение сценария командной оболочки или выведет вас из сеанса удаленного доступа SSH.
exit
History
— список ваших самых последних командКоманда history, когда вам нужно быстро определить предыдущие команды, которые вы использовали.
history
Clear
— очистить окно вашего терминалаЭта команда clear используется для очистки всех предыдущих команд и вывода данных с консолей и окон терминала. Это обеспечивает чистоту вашего терминала и устраняет беспорядок, чтобы вы могли сосредоточиться на последующих командах и их выводе.
clear
cp — копирование файлов и каталогов
Используйте команду cp, когда вам нужно создать резервную копию ваших файлов.
cp
[опции] current_name new_namekill — завершение остановленных процессов
Команда kill позволяет завершить процесс из командной строки. Для этого необходимо указать идентификатор процесса (PID), который необходимо завершить. Чтобы найти PID, вы можете использовать команду ps, сопровождаемую options -aux .
kill
[сигнал или опции] PIDsleep — задержка процесса на определенный промежуток времени
Команда sleep это обычная команда для управления заданиями, которая в основном используется в сценариях оболочки. Вы заметите, что в синтаксисе присутствует суффикс; суффикс используется для указания единицы измерения времени, будь то s (секунды), m (минуты) или d (дни). Единица измерения времени по умолчанию – секунды, если не указано иное.
sleep
число [суффикс]
Пользовательские команды в Bash известны как “псевдонимы”. Псевдонимы – это, по сути, сокращение или средство избежать ввода длинной последовательности команд. Они позволяют значительно сэкономить время ввода в командной строке, поэтому вам не придется запоминать сложные комбинации команд и опций. При использовании псевдонимов есть одно предостережение: убедитесь, что вы не перезаписываете ключевые слова.
alias
alias_name = “command_to_run”
Очень простой пример будет выглядеть следующим образом:
alias
c = “clear
”
Теперь каждый раз, когда вы хотите очистить экран, вместо ввода clear
вы можете просто ввести c
, и все будет готово.
Вы также можете усложнить задачу, например, если хотите настроить веб-сервер в папке:
alias
www = ‘python -m SimpleHTTPServer 8000’
Вот пример полезного псевдонима, когда вам нужно протестировать веб-сайт в разных веб-браузерах:
alias
ff4 = ‘/opt/firefox/firefox’
alias
ff13 = ‘/opt/firefox13/firefox’
alias
chrome = ‘/opt/google/chrome/chrome’
Помимо создания псевдонимов, использующих одну команду, вы также можете использовать псевдонимы для запуска нескольких команд, таких как:
alias name_goes_here = ‘activator && clean && compile && run’
Хотя вы можете использовать псевдонимы для запуска нескольких команд, рекомендуется использовать функции, поскольку они значительно более гибкие, позволяют выполнять более сложную логику и отлично подходят для написания сценариев.
Теперь, когда вы вооружены основными командами и способами их настройки с помощью этой шпаргалки по командной строке, вы можете применить их на практике.
Освоение оболочки Bash даст вам понимание всех основных концепций, необходимых для получения полного контроля над вашей системой.