Основы работы с командной строкой 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 - разблокировка ввода