Шпаргалка Shell
Довідник Bash / shell із пошуком і можливістю друку — навігація, файли, pipes, змінні, цикли, умови та зручні однорядкові команди. Безкоштовно.
Навігація
8pwd
Вивести робочий каталог
ls -la
Перелік усіх файлів з деталями
cd /path
Змінити каталог
cd -
Перейти до попереднього каталогу
cd ~
Перейти до домашнього каталогу
tree -L 2
Показати дерево каталогів (2 рівні)
pushd / popd
Push і pop стеку каталогів
ls -lhS
Перелік за розміром, у зручному вигляді
Файли та каталоги
10touch file.txt
Створити порожній файл
mkdir -p a/b/c
Створити вкладені каталоги
cp -r src dest
Копіювати рекурсивно
mv old new
Перемістити або перейменувати
rm -rf dir
Видалити рекурсивно (обережно!)
ln -s target link
Створити символічне посилання
cat file.txt
Вивести вміст файлу
head -n 20 / tail -n 20
Перші / останні 20 рядків
tail -f log.txt
Стежити за файлом, поки він росте
less file.txt
Гортати файл сторінками
Пошук та знаходження
8grep 'pattern' file
Шукати шаблон у файлі
grep -rin 'text' .
Рекурсивно, без регістру, з нумерацією
find . -name '*.php'
Знайти файли за іменем
find . -type f -mtime -1
Файли, змінені за останню добу
find . -size +10M
Файли більші за 10 МБ
which node
Знайти виконуваний файл
locate file.txt
Пошук за індексованою базою
grep -v 'skip' file
Інвертувати збіг (виключити рядки)
Обробка тексту
9wc -l file
Підрахувати рядки
sort file | uniq -c
Відсортувати, потім порахувати дублікати
cut -d',' -f1 file
Витягти стовпець CSV
awk '{print $1}' file
Вивести перше поле
sed 's/old/new/g' file
Підставити текст
tr 'a-z' 'A-Z'
Перекодувати символи
diff a.txt b.txt
Порівняти два файли
tee out.txt
Записати у файл і stdout
xargs -I{} cmd {}
Будувати команди з вводу
Канали та перенаправлення
9a | b
Передати вивід a у b
cmd > file
Перенаправити stdout (перезапис)
cmd >> file
Перенаправити stdout (додавання)
cmd 2> err.log
Перенаправити stderr
cmd > out 2>&1
Перенаправити обидва потоки
cmd < input.txt
Читати stdin з файлу
cmd1 && cmd2
Запустити cmd2, лише якщо cmd1 успішна
cmd1 || cmd2
Запустити cmd2, лише якщо cmd1 невдала
cmd &
Запустити у фоні
Права та власність
8chmod 755 file
Задати rwx власнику, rx іншим
chmod +x script.sh
Зробити файл виконуваним
chmod -R 644 dir
Рекурсивна зміна прав
chown user:group file
Змінити власника й групу
umask 022
Маска прав за замовчуванням
sudo cmd
Виконати команду від root
stat file
Показати метадані файлу
ls -l file
Переглянути біти прав
Процеси та система
9ps aux
Перелік запущених процесів
top / htop
Монітор процесів у реальному часі
kill -9 PID
Примусово завершити процес
pkill -f name
Завершити процеси за іменем
jobs / fg / bg
Керувати фоновими завданнями
df -h
Використання дискового простору
du -sh dir
Розмір каталогу
free -h
Використання пам'яті
uname -a
Інформація про систему та ядро
Змінні та розгортання
9NAME='value'
Задати змінну (без пробілів)
echo \"$NAME\"
Використати змінну
export PATH=\"$PATH:/x\"
Експортувати в дочірні процеси
$(command)
Підстановка команди
${VAR:-default}
За замовчуванням, якщо не задано
$1 $2 $@
Позиційні аргументи скрипта
$?
Код виходу останньої команди
read -p 'Name: ' x
Прочитати ввід користувача
echo {1..5}
Розгортання фігурних дужок
Скриптинг
9#!/usr/bin/env bash
Рядок shebang
set -euo pipefail
Безпечніший суворий режим
if [ -f file ]; then ...; fi
Умова за перевіркою файлу
[ \"$a\" = \"$b\" ]
Порівняння рядків
for f in *.txt; do ...; done
Цикл по файлах
while read line; do ...; done < file
Читати файл рядок за рядком
case \"$x\" in a) ...;; esac
Багатоваріантне розгалуження
function greet() { echo hi; }
Визначити функцію
trap cleanup EXIT
Виконати обробник при виході
Жоден запис не відповідає “:q”.
Потрібна допомога?
Виникла проблема з цим інструментом? Повідомте нас.