Основы работы с командной строкой bash

Все команды ниже указаны в нижнем регистре, в верхнем регистре только значения параметров.

В случае, если строковый параметр содержит пробелы или спецсимволы, каждый из них должен буть сэкранирован символом \ или весь параметр должен быть заключён в кавычки.

Стандартный синтаксис запуска команд:

cmd1 [PARAMS] [FILE1, FILE2, ...] [PATH1, PATH2, ...]

Некоторые команды позволяют подать на вход несколько файлов одновременно.
В квадратных скобках [ ] указаны необязательные параметры.

help - самая полезная комманда для новичков, выводит все основные команды, с допустимыми параметрами

man COMMAND - выводит справку по команде COMMAND

history - показывает список введёных команд

!! - при вводе заменяется на последнюю введёную команду

clear - очистить экран

exit - выйти из оболчки

Работа с каталогами

ls [PATH] - перечисление содержимого каталога PATH, если PATH пуст - содержимое текущего рабочего каталога

vdir - более подробный аналог ls

pwd - показывает текущий рабочий каталог

cd [PATH] - если PATH указан, меняет текущий рабочий каталог на PATH

mkdir -p PATH - создаёт каталог PATH

rmdir PATH - удаляет пустой катлог PATH

rm -rf PATH - удаляет каталог вместе со всем содержимым

Работа с файлами

mv SOURCE DEST - перемещает (переименовывает) файл SOURCE в DEST

rm FILE - удаляет файл FILE

touch FILE - создает новый файл FILE, или изменяет дату последней модификации файла

Просмотр содержимого

cat [FILE] - показывает содержимое файла FILE, если FILE не указан - читает стандартный ввод

more [FILE] или less [FILE] - более удобный просмотр содержимого обёмных текстовых файлов

diff FILE1 FILE2 - просмотр различий двух файлов

wc FILE - подсчёт строк, слов и символов в файле FILE

  • -l вывести количество строк
  • -m вывести количество символов
  • -w вывести количество слов
  • -L вывести длину самой длинной строки

Поиск

find PATH -name QUERY - поиск файлов по строке QUERY в катлоге PATH

grep QUERY PATH - позволяет производить поиск по содержимому файлов

  • -i без учета регистра
  • -r рекурсивно (в папке)
  • -n вывод номеров строк совпадений
  • -w поиск только строк, содержащих всё слово или фразу
  • -o вывод не всей строки а только самого совпадения
  • --exclude-dir=PATH - искючение папки PATH из поиска
  • --exclude=FILE - исключение файла FILE из поиска

Пример - производит поиск строки в папке folder/subfolder/ с учётом указанных параметров

grep -irw "Текст который ищем" folder/subfolder/

Управление процессами

ps - показывает запущенные процессы

kill PID - убивает процесс с идентификатором PID, этот идентификатор указан слева от имени процесса в выводе команды ps

jobs - показывает фоновые и усыплённые процессы

fg - разбудить последний усыплённый процесс

Прочее

; - разделитель комманд, позволяет запустить одной строкой несколько отдельных комманд

echo - печатает строку или переменную

eval - выполняет переданную строку как команду

Операторы

cmd1 && cmd2 - оператор И, cmd2 запустится только в случае успешного завершения cmd1

cmd1 || cmd2 - оператор ИЛИ, cmd2 запустится в случае неудачного завершения cmd1

Перенаправление вывода

Операторы >, < позволяют перенаправить поток вывода одной команды в другую или в файл

cmd1 > cmd2
cmd2 < cmd1

В обоих случаях происходит перенаправление потока вывода из cmd1 в cmd2

Пример:

echo "Простая строка" > file.txt

Эта команда создаст файл по имени file.txt содержащий указанную строку.

Конвеер

Pipe (конвеер) – это однонаправленный канал межпроцессного взаимодействия

cmd1 | cmd2 | ... | cmdN

Пример:

echo "Простая строка" | wc -m

Команда выведет количество символов в строке.

Пути

. - текущая директория

.. - родительская директория

~ - домашняя директория пользователя

/ - корневая системная директория

FILE - обращение к файлу FILE лежащему в рабочей директории

Примеры:

$ pwd
/home/user

$ cd Documents 
$ pwd
/home/user/Documents

$ cd .
$ pwd
/home/user/Documents

$ mkdir folder
$ cd folder
$ pwd
/home/user/Documents/folder

$ cd ..
$ pwd
/home/user/Documents

$ cd ~; 
$ pwd
/home/user

$ mkdir folder2 
$ cd folder
$ cd ../folder2
$ pwd
/home/user/Documents/folder2

Полезные сочетания клавиш

, - просмотр истории введёных комманд

Tab - автодополнение командной строки

Ctrl + ← - переход к началу предыдущего слова

Ctrl + → - переход к началу следующего слова

Home, Ctrl + A - переход к началу строки

End, Ctrl + E - переход к концу строки

Ctrl + D - закончить ввод

Ctrl + C - прерывает выполнение текущей комманды

Ctrl + Z - усыпляет текущий процесс

Ctrl + S - блокирует ввод с клавиатуры (лучше не нажимать)

Ctrl + Q - разблокировка ввода