Команды Bash / Терминала
Основные команды навигации, работы с файлами, поиска, прав доступа, процессов, сети и архивов
Навигация
| Команда | Параметры | Пример | Вывод | Описание |
|---|---|---|---|---|
ls
|
-la, -lh, -R |
ls -la /etc |
список файлов | Вывод содержимого каталога; -l длинный формат, -a скрытые файлы, -h размеры в читаемом виде |
cd
|
-, ~, .. |
cd ~/projects |
смена каталога | Смена каталога; cd - возврат назад, cd ~ переход в домашний каталог |
pwd
|
|
pwd |
/home/user | Вывод текущего рабочего каталога (полный путь) |
tree
|
-L n, -a |
tree -L 2 |
дерево каталогов | Вывод дерева каталогов; -L ограничивает глубину (может потребоваться установка) |
find
|
-name -type -mtime |
find . -name '*.log' |
пути к файлам | Поиск файлов и каталогов по заданным критериям |
locate
|
-i |
locate nginx.conf |
пути к файлам | Быстрый поиск файлов по индексной базе; сначала выполните updatedb |
Работа с файлами
| Команда | Параметры | Пример | Вывод | Описание |
|---|---|---|---|---|
cp
|
-r, -i, -u |
cp -r src/ dst/ |
копирует файл | Копирование файлов; -r для каталогов, -i запрос перед перезаписью |
mv
|
-i, -n |
mv old.txt new.txt |
перемещает/переименовывает | Перемещение или переименование файлов; -i запрос перед перезаписью |
rm
|
-r, -f, -i |
rm -rf dist/ |
удалено | Удаление файлов и каталогов; -r рекурсивно, -f принудительно — используйте осторожно |
mkdir
|
-p |
mkdir -p a/b/c |
новый каталог | Создание каталога; -p создаёт родительские каталоги при необходимости |
touch
|
|
touch index.html |
пустой файл | Создание пустого файла или обновление временной метки файла |
ln
|
-s |
ln -s /etc/nginx nginx |
symlink | Создание жёсткой ссылки; -s для символической ссылки (symlink) |
Просмотр файлов
| Команда | Параметры | Пример | Вывод | Описание |
|---|---|---|---|---|
cat
|
-n, -A |
cat -n file.txt |
содержимое файла | Вывод файла; -n нумерация строк, -A показывает непечатаемые символы |
head
|
-n N |
head -n 20 log.txt |
первые N строк | Вывод первых строк файла (по умолчанию 10) |
tail
|
-n N, -f |
tail -f app.log |
последние N строк | Вывод последних строк; -f следит за новым содержимым в реальном времени |
less
|
/search, q |
less large.log |
постраничный просмотр | Постраничный просмотр файла; / для поиска, q для выхода, пробел для перелистывания |
wc
|
-l, -w, -c |
wc -l file.txt |
количество | Подсчёт слов; -l строки, -w слова, -c байты/символы |
Поиск и обработка текста
| Команда | Параметры | Пример | Вывод | Описание |
|---|---|---|---|---|
grep
|
-r -i -n -v -E |
grep -rn 'error' logs/ |
совпадающие строки | Поиск текстовых шаблонов; -r рекурсивно, -i без учёта регистра, -n номера строк |
grep -v
|
|
grep -v 'debug' app.log |
несовпадающие строки | Инвертированный поиск — вывод строк, НЕ содержащих шаблон |
grep -E
|
|
grep -E 'warn|error' log |
совпадающие строки | Расширенный regex — | для ИЛИ, + для одного или более символов |
awk
|
'{print $N}' |
awk '{print $1}' f |
значение столбца | Обработка текста по шаблонам; $1 первое поле, $NF последнее поле |
sed
|
-i 's/a/b/g' |
sed -i 's/foo/bar/g' f |
изменённый текст | Потоковый редактор; s/поиск/замена/g выполняет глобальную замену |
sort
|
-n -r -k N |
sort -n numbers.txt |
отсортированный вывод | Сортировка строк; -n числовая, -r обратная, -k сортировка по столбцу N |
uniq
|
-c, -d |
sort f | uniq -c |
уникальные строки | Удаление соседних дублирующихся строк; обычно используется после sort |
Права доступа
| Команда | Параметры | Пример | Вывод | Описание |
|---|---|---|---|---|
chmod
|
755, 644, +x |
chmod +x script.sh |
права изменены | Изменение прав доступа; 755=rwxr-xr-x, 644=rw-r--r-- |
chown
|
-R user:group |
chown -R www-data:www-data /var/www |
владелец изменён | Изменение владельца и группы файла; -R рекурсивно |
ls -la
|
|
ls -la /var/www |
список прав | Вывод прав доступа, владельца, группы и размера для всех файлов |
umask
|
022, 027 |
umask 022 |
права по умолчанию | Установка маски прав по умолчанию для новых файлов (022 → 644 для файлов) |
sudo
|
-u user |
sudo systemctl restart nginx |
команда с повышенными правами | Выполнение команды от имени суперпользователя; -u для другого пользователя |
Управление процессами
| Команда | Параметры | Пример | Вывод | Описание |
|---|---|---|---|---|
ps
|
aux, -ef |
ps aux | grep nginx |
список процессов | Вывод процессов; aux=все пользователи, -ef=полный формат |
top
|
q, k, M |
top |
интерактивный монитор | Интерактивный монитор процессов; q выход, k завершить процесс, M сортировка по памяти |
htop
|
F3, F9 |
htop |
интерактивный монитор | Улучшенный top с цветовым выделением; F3 поиск, F9 завершить (может потребоваться установка) |
kill
|
-9, -15 |
kill -9 1234 |
сигнал отправлен | Отправка сигнала процессу по PID; -15 SIGTERM (мягкое завершение), -9 SIGKILL (принудительное) |
killall
|
-9, -u |
killall node |
сигнал отправлен | Завершение всех процессов по имени |
jobs
|
-l |
jobs -l |
список задач | Вывод фоновых и приостановленных задач в текущей оболочке |
bg / fg
|
%N |
fg %1 |
задача возобновлена | bg отправляет задачу в фон, fg возвращает задачу на передний план |
Сеть
| Команда | Параметры | Пример | Вывод | Описание |
|---|---|---|---|---|
curl
|
-o -L -X -H -d |
curl -O https://example.com/f |
ответ сервера | Передача данных по HTTP/FTP; -L следовать перенаправлениям, -o сохранить в файл |
wget
|
-O -r -q |
wget -q https://example.com |
сохранённый файл | Загрузка файлов; -O переименовать вывод, -r рекурсивно, -q тихий режим |
ping
|
-c N |
ping -c 4 google.com |
RTT мс | Проверка сетевого подключения; -c ограничивает количество пакетов |
ssh
|
-i -p -L |
ssh user@host -p 2222 |
удалённая оболочка | Защищённое подключение; -i файл ключа, -p порт, -L локальная переадресация порта |
scp
|
-r -P -i |
scp file user@host:~/ |
скопировано | Защищённое копирование по SSH; -r рекурсивно, -P порт (заглавная) |
netstat
|
-tuln |
netstat -tuln |
список портов | Вывод сетевых соединений; -t TCP, -u UDP, -l прослушивающие, -n числовой формат |
ss
|
-tuln |
ss -tuln |
список портов | Современная замена netstat; быстрее и детальнее |
Архивы и сжатие
| Команда | Параметры | Пример | Вывод | Описание |
|---|---|---|---|---|
tar -czf
|
-czf out.tar.gz |
tar -czf arc.tar.gz dir/ |
архив | Создание сжатого gzip tarball; c=создать, z=gzip, f=имя файла |
tar -xzf
|
-xzf file.tar.gz |
tar -xzf arc.tar.gz -C /tmp |
распаковано | Распаковка gzip tarball; x=извлечь, -C каталог назначения |
tar -tf
|
|
tar -tf archive.tar.gz |
список файлов | Вывод содержимого tarball без распаковки |
zip
|
-r, -9 |
zip -r out.zip dir/ |
zip-архив | Создание zip-архива; -r рекурсивно, -9 максимальное сжатие |
unzip
|
-d, -l |
unzip archive.zip -d out/ |
распаковано | Распаковка zip; -d каталог назначения, -l список содержимого без распаковки |
gzip / gunzip
|
-k, -d |
gzip -k file.txt |
сжато | gzip сжимает один файл; -k сохранить оригинал, gunzip для распаковки |
Окружение и оболочка
| Команда | Параметры | Пример | Вывод | Описание |
|---|---|---|---|---|
env
|
|
env | grep PATH |
переменная=значение | Вывод всех переменных окружения; фильтрация через grep |
export
|
|
export NODE_ENV=production |
переменная задана | Установка переменной окружения для текущего сеанса и дочерних процессов |
echo $VAR
|
|
echo $HOME |
значение | Вывод значения переменной; используйте ${VAR} для точного указания в строках |
which
|
|
which node |
путь | Вывод полного пути к исполняемому файлу команды |
alias
|
|
alias ll='ls -la' |
псевдоним | Создание псевдонима команды; добавьте в ~/.bashrc для постоянного использования |
source
|
|
source ~/.bashrc |
перезагружено | Выполнение файла в контексте текущей оболочки (также: . ~/.bashrc) |
history
|
!N, !! |
history | tail -20 |
список команд | История команд; !! повторяет последнюю, !N выполняет N-ю команду |
Краткий справочник Git
| Команда | Параметры | Пример | Вывод | Описание |
|---|---|---|---|---|
git init
|
|
git init my-project |
репозиторий создан | Инициализация нового репозитория Git в каталоге |
git clone
|
--depth 1 |
git clone url |
репозиторий клонирован | Клонирование удалённого репозитория; --depth 1 для поверхностного клонирования |
git status
|
-s |
git status -s |
изменения | Показ состояния рабочего дерева; -s краткий формат |
git add
|
-A, -p |
git add -p |
проиндексировано | Индексирование изменений; -A все файлы, -p интерактивный режим |
git commit
|
-m, --amend |
git commit -m 'msg' |
зафиксировано | Фиксация проиндексированных изменений; --amend изменяет последний коммит |
git push
|
-u origin |
git push -u origin main |
отправлено | Отправка в удалённый репозиторий; -u устанавливает ветку слежения |
git pull
|
--rebase |
git pull --rebase |
синхронизировано | Получение и интеграция удалённых изменений; --rebase вместо merge |
git log
|
--oneline --graph |
git log --oneline -10 |
история | Вывод истории коммитов; --oneline компактный формат, --graph визуальное дерево |
git stash
|
pop, list |
git stash pop |
восстановлено | Временное сохранение незафиксированных изменений; pop для восстановления |
git diff
|
--staged |
git diff --staged |
различия | Вывод изменений; --staged показывает проиндексированные, но ещё не зафиксированные изменения |