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