🐧 Командная строка Linux
Базовые и продвинутые команды для навигации, работы с файлами, процессами, сетью, мониторинга, пакетов и автоматизации. Подходит для рабочих процессов DevOps.
🔹 Базовые команды
Команда |
Пример |
Описание |
|---|---|---|
cat |
Показать содержимое файла или объединить несколько файлов | |
cat file.txt |
Просмотреть содержимое файла |
|
cat file1 file2 |
Объединить и вывести два файла |
|
cat file1 file2 > merged.txt |
Объединить файлы и сохранить в новый файл |
|
cd |
Сменить текущий рабочий каталог | |
cd /etc |
Перейти по абсолютному пути |
|
cd ~ |
Перейти в домашний каталог |
|
cd .. |
Подняться на один уровень вверх |
|
cd - |
Вернуться в предыдущий каталог |
|
clear |
Очистить экран терминала | |
cp |
Копировать файлы и каталоги | |
cp file1.txt file2.txt |
Копировать файл под новым именем |
|
cp -r dir1 dir2 |
Рекурсивно скопировать каталог |
|
cp -i file.txt /tmp/ |
Копировать с подтверждением перед перезаписью |
|
echo |
Вывести строку или переменную окружения | |
echo "Hello, World!" |
Вывести простую строку |
|
echo $HOME |
Показать путь к домашнему каталогу |
|
echo -e "1\t2\n3" |
Интерпретировать управляющие последовательности ( ) |
|
history |
Показать историю команд | |
id |
Показать UID, GID и группы текущего пользователя | |
ls |
Список файлов и каталогов | |
ls -l |
Длинный список с правами и владельцами |
|
ls -a |
Показать скрытые файлы |
|
ls -lh |
Размеры в удобочитаемом формате |
|
mkdir |
Создать каталоги | |
mkdir folder |
Создать один каталог |
|
mkdir -p a/b/c |
Создать вложенные каталоги |
|
mkdir dir{1,2,3} |
Создать несколько каталогов сразу |
|
mv |
Переместить или переименовать файлы/каталоги | |
mv oldname.txt newname.txt |
Переименовать файл |
|
mv file.txt /path/to/dir/ |
Переместить файл в другой каталог |
|
mv *.txt archive/ |
Переместить все файлы |
|
pwd |
Показать текущий рабочий каталог | |
pwd -P |
Показать физический путь (без симлинков) |
|
cd /tmp && pwd |
Показать путь после перехода в |
|
rm |
Удалить файлы или каталоги | |
rm file.txt |
Удалить файл |
|
rm -i file.txt |
Удалить файл с подтверждением |
|
rm -r folder/ |
Рекурсивно удалить каталог |
|
rm -rf folder/ |
Удалить без подтверждения (форсировано) |
|
rmdir |
Удалить пустой каталог | |
rmdir emptydir |
Удалить каталог |
|
touch |
Создать пустые файлы или обновить время изменения | |
touch newfile.txt |
Создать новый пустой файл, если он не существует |
|
touch a b c |
Создать несколько файлов сразу |
|
touch -c file.txt |
Обновить время, не создавая файл, если он отсутствует |
|
whereis |
Найти бинарный файл, исходники и man-страницы команды | |
whereis ls |
Найти расположения для |
|
whereis bash |
Показать пути для бинарника Bash и документации |
|
whereis -b bash |
Искать только бинарный файл |
|
which |
Показать путь к исполняемому файлу команды | |
which python3 |
Путь к |
|
which grep |
Путь к |
|
which --skip-alias ls |
Пропустить алиасы при поиске |
|
whoami |
Показать имя текущего пользователя |
🔸 Средний уровень
Команда |
Пример |
Описание |
|---|---|---|
chmod |
Изменить права доступа к файлу или каталогу | |
chmod 755 file |
Задать права в восьмеричной нотации (например, 755) |
|
chmod +x script.sh |
Добавить бит выполнения к скрипту |
|
chmod -R 644 dir/ |
Рекурсивно задать права для каталога |
|
chown |
Изменить владельца и группу файла | |
chown user file |
Изменить владельца файла |
|
chown user:group file |
Изменить владельца и группу |
|
chown -R user:group dir/ |
Рекурсивно изменить владельца и группу |
|
curl |
Передача данных с/на сервер (HTTP, HTTPS и др.) | |
curl -I https://example.com |
Отправить HEAD-запрос (только заголовки) |
|
curl -O https://example.com/file.txt |
Скачать файл, сохранив его имя |
|
curl -d "a=1&b=2" -X POST URL |
Отправить POST-запрос с данными формы |
|
df |
Показать использование дискового пространства файловых систем | |
df -h |
Размеры в удобочитаемом виде |
|
df /home |
Использование для конкретной точки монтирования |
|
df -T |
Показать типы файловых систем |
|
diff |
Сравнить файлы или каталоги | |
diff file1 file2 |
Сравнить два файла |
|
diff -u old.c new.c |
Унифицированный diff (в стиле patch) |
|
diff -r dir1 dir2 |
Рекурсивное сравнение каталогов |
|
du |
Оценить использование пространства файлами и каталогами | |
du -sh * |
Показать размер элементов в текущем каталоге |
|
du -h file.txt |
Показать размер одного файла |
|
du -sh --max-depth=1 /var |
Суммировать размеры вложенных каталогов верхнего уровня |
|
find |
Найти файлы/каталоги по имени, размеру, времени и т.п. | |
find . -name "*.log" |
Найти все |
|
find / -type f -size +100M |
Найти файлы больше 100 МБ |
|
find . -mtime -1 |
Файлы, изменённые за последний день |
|
free |
Показать объём свободной и используемой памяти | |
free -h |
В удобочитаемых единицах |
|
free -m |
Показать значения в мегабайтах |
|
watch -n 2 free -h |
Обновлять вывод каждые 2 секунды |
|
grep |
Искать текст по шаблону (регулярные выражения) | |
grep "error" logfile |
Найти строки, содержащие |
|
grep -r "error" /var/log |
Рекурсивный поиск в каталоге |
|
grep -i "fail" file |
Поиск без учёта регистра |
|
head |
Вывести первые строки файла | |
head -n 10 file |
Первые 10 строк |
|
head -n 20 file.txt |
Первые 20 строк |
|
head -c 100 file |
Первые 100 байт |
|
hostname |
Показать или установить имя хоста системы | |
hostname newname |
Временно установить имя хоста до перезагрузки |
|
hostname -I |
Показать IP-адреса |
|
kill |
Отправить сигнал процессам | |
kill -9 1234 |
Принудительно завершить процесс по PID |
|
kill -TERM 1234 |
Корректное завершение с SIGTERM |
|
pkill -f python |
Завершить процессы по шаблону |
|
ping |
Проверить сетевое соединение с помощью ICMP-запросов | |
ping 8.8.8.8 |
Пинговать адрес |
|
ping -c 4 ya.ru |
Отправить 4 пакета |
|
ping -i 2 1.1.1.1 |
Интервал в 2 секунды |
|
ps |
Показать состояние процессов | |
ps aux |
Список всех процессов |
|
ps -ef | grep nginx |
Фильтрация по имени с использованием |
|
ps -u $USER |
Процессы текущего пользователя |
|
rsync |
Быстрая инкрементальная передача файлов | |
rsync -av src/ dst/ |
Синхронизировать каталоги локально |
|
rsync -avz user@host:/src /dst |
Синхронизировать с удалённым хостом через SSH |
|
rsync --delete src/ dst/ |
Удалить файлы в назначении, отсутствующие в источнике |
|
scp |
Безопасное копирование (удалённое копирование файлов) | |
scp file user@host:/path |
Скопировать файл на удалённый хост |
|
scp user@host:/file.txt . |
Скопировать файл с удалённого хоста |
|
scp -r dir user@host:/path |
Рекурсивно скопировать каталог |
|
sort |
Сортировать строки текста | |
sort file.txt |
Алфавитная сортировка |
|
sort -r file.txt |
Обратный порядок |
|
sort -n numbers.txt |
Числовая сортировка |
|
tail |
Вывести последние строки файлов; следить за изменениями | |
tail -f logfile.log |
Следить за логом в реальном времени |
|
tail -n 20 file.txt |
Показать последние 20 строк |
|
tail -c 100 file.txt |
Показать последние 100 байт |
|
tar |
Создать, просмотреть или распаковать tar-архивы | |
tar -czf archive.tgz dir/ |
Создать сжатый архив |
|
tar -xzf archive.tgz |
Распаковать архив |
|
tar -tf archive.tgz |
Показать содержимое архива |
|
tee |
Читать из stdin и писать в stdout и файлы | |
echo "test" | tee out.txt |
Записать вывод в |
|
ls | tee list.txt |
Сохранить вывод |
|
command | tee -a log.txt |
Добавить вывод в конец |
|
top |
Показать задачи Linux (интерактивный просмотр процессов) | |
top |
Запустить top |
|
htop |
Альтернативный интерактивный просмотрщик (htop) |
|
top -o %MEM |
Сортировка по использованию памяти |
|
uptime |
Показать, как долго работает система | |
uptime -p |
Красивый вывод uptime |
|
uptime -s |
Время загрузки системы |
|
wget |
Неинтерактивный загрузчик файлов из сети | |
wget https://site.com/file.zip |
Скачать файл по URL |
|
wget -c file.zip |
Возобновить прерванную загрузку |
|
wget -O saved.txt URL |
Сохранить под другим именем |
|
wc |
Подсчитать строки, слова и байты в файлах | |
wc -l file |
Посчитать строки |
|
wc -w file |
Посчитать слова |
|
wc -m file |
Посчитать символы |
|
uniq |
Отчёт или фильтрация повторяющихся строк (рядом стоящих дубликатов) | |
uniq file.txt |
Удалить соседние дубликаты |
|
sort file | uniq |
Удалить дубликаты после сортировки |
|
sort file | uniq -c |
Посчитать количество вхождений каждой строки |
|
yes |
Выводить строку бесконечно, пока не будет прервано; полезно для скриптов | |
yes "y" | command |
Всегда отвечать “y” на запросы |
|
yes | rm -i * |
Автоматически подтверждать удаление |
|
yes no | command |
Отвечать “no” на запросы |
🔧 Продвинутые команды
Команда |
Пример |
Описание |
|---|---|---|
at |
Запланировать однократное выполнение команды в указанное время | |
at now + 1 minute |
Запустить команду через одну минуту |
|
atq |
Показать список ожидающих заданий |
|
atrm |
Удалить ожидающее задание |
|
awk |
Язык для поиска по шаблонам и обработки текста | |
awk '{print $1}' file |
Вывести первый столбец |
|
ps aux | awk '$3 > 50' |
Отфильтровать процессы по использованию CPU |
|
cat file.txt | awk '{print $2}' |
Вывести второе поле каждой строки |
|
awk '/error/ {print $0}' logfile |
Вывести строки, соответствующие шаблону |
|
crontab |
Установить, показать или удалить пользовательские cron-задания | |
crontab -e |
Редактировать crontab текущего пользователя |
|
crontab -l |
Показать cron-задания |
|
crontab -r |
Удалить crontab текущего пользователя |
|
cut |
Удалить или выбрать части строк из файлов | |
cut -d':' -f1 /etc/passwd |
Вывести имена пользователей из |
|
echo "a:b:c" | cut -d':' -f2 |
Вырезать второе поле, используя ‘:’ как разделитель |
|
cut -c1-5 filename |
Выбрать символы по позиции |
|
df |
Показать использование дискового пространства файловой системы | |
df -h |
Размеры в удобочитаемом виде |
|
df -T |
Показать типы файловых систем |
|
df /home |
Использование для домашнего каталога |
|
env |
Выполнить команду в изменённой среде или показать переменные окружения | |
env | grep PATH |
Показать записи PATH |
|
env -i bash |
Запустить чистую оболочку с пустым окружением |
|
export |
Задать переменные окружения для текущей оболочки/сессии | |
export VAR=value |
Установить переменную для этой оболочки |
|
export PATH=$PATH:/new/path |
Добавить каталог в PATH |
|
export -p |
Показать экспортированные переменные |
|
free |
Показать использование памяти | |
free -m |
Показать в мегабайтах |
|
free -h |
Размеры в удобочитаемых единицах |
|
free -s 5 |
Выводить каждые 5 секунд |
|
hostnamectl |
Запросить или изменить имя хоста и связанные настройки | |
hostnamectl status |
Показать статус имени хоста |
|
hostnamectl set-hostname newname |
Задать новое статическое имя хоста |
|
ifconfig / ip |
IP-инструменты для просмотра/управления интерфейсами и адресами | |
ifconfig |
Показать сетевые интерфейсы (устаревший способ) |
|
ip a |
Показать адреса с помощью |
|
ip link set eth0 up |
Активировать сетевой интерфейс |
|
iostat |
Показать статистику CPU и ввода/вывода | |
iostat -x 2 |
Расширенная статистика каждые 2 секунды |
|
iostat -d 5 3 |
Статистика устройств (интервал 5 секунд, 3 отчёта) |
|
iptables |
Инструмент для администрирования фильтрации пакетов IPv4 и NAT | |
iptables -L |
Показать текущие правила |
|
iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
Разрешить входящие SSH на порту 22 |
|
iptables -F |
Очистить все правила |
|
journalctl |
Просмотр журнала systemd | |
journalctl -xe |
Показать последние ошибки с контекстом |
|
journalctl -u nginx.service |
Показать логи конкретного сервиса |
|
journalctl --since "2 hours ago" |
Показать логи с указанного времени |
|
ln |
Создать ссылки между файлами | |
ln -s target link |
Создать символическую ссылку |
|
ln file.txt backup.txt |
Создать жёсткую ссылку |
|
ln -sf target link |
Принудительно пересоздать символическую ссылку |
|
sed |
Потоковый редактор для фильтрации и преобразования текста | |
sed 's/old/new/g' file |
Глобально заменить строку |
|
sed -n '1,5p' file |
Вывести только диапазон строк |
|
sed '/pattern/d' file |
Удалить строки, соответствующие шаблону |
|
systemctl |
Управление системой и сервисами systemd | |
systemctl status nginx |
Показать статус сервиса |
|
systemctl start nginx |
Запустить сервис |
|
systemctl enable nginx |
Включить сервис при загрузке |
|
tr |
Преобразовать или удалить символы | |
tr a-z A-Z |
Преобразовать буквы в верхний регистр |
|
echo "hello" | tr 'h' 'H' |
Заменить символ |
|
echo "abc123" | tr -d '0-9' |
Удалить цифры |
|
type |
Показать, как имя будет интерпретировано в оболочке | |
type ls |
Показать, как разрешается |
|
type cd |
Показать, как разрешается |
|
type python3 |
Показать, как разрешается |
|
ulimit |
Получить или задать лимиты ресурсов для процессов пользователя | |
ulimit -n |
Показать максимальное количество открытых файлов |
|
ulimit -c unlimited |
Разрешить дампы памяти |
|
ulimit -u 4096 |
Ограничить количество процессов пользователя |
|
uptime |
Показать время работы системы и среднюю загрузку | |
uptime -p |
Красивый вывод uptime |
|
uptime -s |
Показать время загрузки |
|
xargs |
Собирать и выполнять команды из стандартного ввода | |
xargs -n 1 echo |
Вывести каждый аргумент на отдельной строке |
|
echo "a b c" | xargs -n 1 |
Разделить слова на отдельные аргументы |
|
find . -name '*.txt' | xargs rm |
Найти файлы и удалить их с помощью xargs |
🌐 Сетевые команды
Команда |
Пример |
Описание |
|---|---|---|
curl |
Передача данных с/на серверы | |
curl -X POST -d "a=1" URL |
POST-запрос с данными формы |
|
curl -I URL |
Получить только заголовки |
|
curl -o file.html URL |
Скачать и сохранить в файл |
|
dig |
Утилита для DNS-запросов | |
dig openai.com |
Запрос записей A |
|
dig +short openai.com |
Краткий ответ |
|
dig @8.8.8.8 openai.com |
Использовать конкретный DNS-сервер |
|
ftp |
Клиент FTP (File Transfer Protocol) | |
ftp host |
Подключиться к FTP-серверу |
|
ftp -n host |
Подключиться без авто-входа |
|
ftp> get file.txt |
Скачать файл в FTP-сессии |
|
ip address |
Показать/управлять IP-адресами | |
ip addr show eth0 |
Показать информацию об адресе интерфейса |
|
ip addr |
Список всех адресов |
|
ip link |
Показать/управлять сетевыми устройствами | |
ip link show |
Показать сетевые интерфейсы |
|
ip link set eth0 up |
Активировать интерфейс |
|
ip route |
Показать/управлять таблицей маршрутизации IP | |
ip route list |
Показать таблицу маршрутов |
|
ip route add default via 192.168.1.1 |
Добавить маршрут по умолчанию |
|
nc |
TCP/UDP соединения и прослушка | |
nc -zv host 22 |
Сканировать порты хоста |
|
nc -l 1234 |
Слушать TCP-порт |
|
nc host 1234 < file |
Отправить файл на удалённый порт |
|
nmap |
Инструмент исследования сети и сканер портов/безопасности | |
nmap -sP 192.168.1.0/24 |
Ping-скан подсети |
|
nmap -sV 192.168.1.1 |
Определение сервисов/версий |
|
nmap -O 192.168.1.1 |
Определение ОС |
|
nslookup |
Запрос к DNS-серверам | |
nslookup google.com |
Запросить доменное имя |
|
nslookup 8.8.8.8 |
Обратный поиск по IP |
|
ssh |
Клиент удалённого входа OpenSSH | |
ssh user@host |
Подключиться к хосту |
|
ssh -p 2222 user@host |
Подключиться через нестандартный порт |
|
ssh -i ~/.ssh/id_rsa user@host |
Войти с использованием приватного ключа |
|
ss |
Инструмент для анализа сокетов | |
ss -tuln |
Список TCP/UDP портов в режиме ожидания |
|
ss -s |
Сводная статистика |
|
ss -l |
Список прослушиваемых сокетов |
|
telnet |
Интерфейс к протоколу TELNET | |
telnet host 80 |
Подключиться к хосту на порту 80 |
|
telnet example.com 443 |
Подключиться к порту 443 |
|
telnet localhost 25 |
Подключиться к локальному SMTP |
|
traceroute |
Отследить маршрут до сетевого хоста | |
traceroute 8.8.8.8 |
Проследить путь до IP |
|
traceroute -m 15 8.8.8.8 |
Ограничить максимальное количество переходов |
|
wget |
Загрузить файлы из интернета | |
wget -O file.txt URL |
Сохранить вывод в файл |
|
wget URL |
Скачать в текущий каталог |
|
wget -c URL |
Продолжить прерванную загрузку |
🔍 Поиск и управление файлами
Команда |
Пример |
Описание |
|---|---|---|
basename |
Удалить путь и суффикс из имени файла | |
basename /path/to/file |
Вывести имя файла из пути |
|
basename /path/to/file .txt |
Убрать суффикс из имени |
|
dirname |
Убрать последний компонент пути | |
dirname /path/to/file |
Показать часть пути — каталог |
|
dirname /etc/passwd |
Показать родительский каталог для |
|
du |
Оценить использование места файлами | |
du -sh folder/ |
Показать размер каталога |
|
du -h * |
Показать размеры элементов в текущем каталоге |
|
du -c folder1 folder2 |
Суммарный размер нескольких каталогов |
|
file |
Определить тип файла | |
file some.bin |
Определить тип файла |
|
file * |
Определить типы для всех файлов в каталоге |
|
file -i file.txt |
Показать MIME-тип |
|
find |
Искать файлы | |
find /path -type f -name "*.sh" |
Найти shell-скрипты по имени |
|
find . -size +10M |
Найти файлы больше 10 МБ |
|
find /tmp -mtime -1 |
Найти файлы, изменённые за последний день |
|
locate |
Найти файлы по имени с использованием базы данных | |
locate filename |
Найти имя файла |
|
locate *.conf |
Поиск с шаблоном |
|
locate -i README |
Поиск без учёта регистра |
|
realpath |
Вывести полный абсолютный путь | |
realpath file |
Разрешить путь к файлу |
|
realpath ../relative/path |
Разрешить относительный путь |
|
stat |
Показать статус файла или файловой системы | |
stat file |
Подробная информация о файле |
|
stat -c %s file |
Показать только размер файла |
|
stat -f file |
Показать статус файловой системы |
|
tree |
Показать содержимое каталогов в виде дерева | |
tree |
Вывести дерево каталогов |
|
tree -L 2 |
Ограничить глубину отображения |
|
tree -a |
Включить скрытые файлы |
📊 Мониторинг системы
Команда |
Пример |
Описание |
|---|---|---|
dmesg |
Показать или управлять кольцевым буфером ядра | |
dmesg | tail |
Показать последние сообщения ядра |
|
dmesg | grep usb |
Фильтровать только USB-сообщения |
|
free |
Показать использование памяти | |
free -h |
Удобочитаемые единицы |
|
free -m |
Показать в мегабайтах |
|
htop |
Интерактивный просмотр процессов | |
htop |
Запустить |
|
iotop |
Показать использование ввода-вывода процессами | |
iotop |
Запустить |
|
iotop -o |
Показать только процессы, использующие ввод-вывод |
|
lsof |
Список открытых файлов | |
lsof -i :80 |
Показать процессы, использующие порт 80 |
|
lsof -u username |
Показать файлы, открытые пользователем |
|
uptime |
Показать время работы системы и среднюю нагрузку | |
vmstat |
Отчёт о виртуальной памяти | |
vmstat 1 |
Обновление каждую секунду |
|
vmstat 5 3 |
Интервал 5 секунд, 3 отчёта |
|
watch |
Периодически выполнять программу, показывая вывод | |
watch -n 1 df -h |
Следить за использованием диска |
|
watch -d free -h |
Подсвечивать изменения и следить за памятью |
📦 Управление пакетами
Команда |
Пример |
Описание |
|---|---|---|
apt |
Менеджер пакетов APT (Debian/Ubuntu) | |
apt install curl |
Установить пакет |
|
apt remove curl |
Удалить пакет |
|
apt update && apt upgrade |
Обновить список пакетов и обновить систему |
|
dnf |
Dandified YUM (семейство Fedora/RHEL) | |
dnf install curl |
Установить пакет |
|
dnf upgrade |
Обновить пакеты |
|
rpm |
Менеджер пакетов RPM | |
rpm -ivh package.rpm |
Установить RPM-пакет |
|
rpm -e package |
Удалить (удалить пакет) |
|
snap |
Менеджер пакетов Snap | |
snap install app |
Установить snap |
|
snap remove app |
Удалить snap |
|
yum |
Yellowdog Updater Modified (RHEL/CentOS) | |
yum install curl |
Установить пакет |
|
yum remove curl |
Удалить пакет |
💽 Файловые системы
Команда |
Пример |
Описание |
|---|---|---|
blkid |
Найти/показать атрибуты блочных устройств | |
blkid |
Список блочных устройств и атрибутов |
|
df |
Показать использование дискового пространства | |
df -Th |
Удобочитаемые размеры по типу |
|
fsck |
Проверка и восстановление файловой системы Linux | |
fsck /dev/sda1 |
Проверить устройство |
|
lsblk |
Показать информацию о блочных устройствах | |
lsblk |
Список устройств в виде дерева |
|
mkfs |
Создать файловую систему Linux | |
mkfs.ext4 /dev/sdb1 |
Создать файловую систему ext4 |
|
mount |
Монтировать файловую систему | |
mount /dev/sdb1 /mnt |
Смонтировать устройство в |
|
mount | grep /mnt |
Показать смонтированные системы, отфильтрованные по пути |
|
parted |
Программа для работы с разделами | |
parted /dev/sdb |
Открыть диск для разметки |
|
umount |
Размонтировать файловые системы | |
umount /mnt |
Размонтировать точку монтирования |
🤖 Скрипты и автоматизация
Команда |
Пример |
Описание |
|---|---|---|
alias |
Определить или показать алиасы оболочки | |
alias ll='ls -la' |
Создать удобный алиас |
|
alias |
Показать список алиасов |
|
bash / sh |
Запуск скриптов оболочки | |
bash script.sh |
Запустить скрипт через Bash |
|
sh script.sh |
Запустить скрипт через |
|
crontab |
Пользовательские таблицы cron | |
crontab -e |
Редактировать crontab текущего пользователя |
|
read |
Запросить ввод пользователя в скриптах оболочки | |
read name |
Прочитать в переменную |
|
set |
Задать параметры/опции оболочки | |
set -e |
Завершать при первой ошибке |
|
source |
Прочитать и выполнить команды из файла в текущей оболочке | |
source ~/.bashrc |
Перезагрузить конфигурацию оболочки |
|
trap |
Перехватывать сигналы и выполнять команды | |
trap "echo 'exit'" EXIT |
Выполнить команду при выходе из оболочки |
🛠 Разработка и отладка
Команда |
Пример |
Описание |
|---|---|---|
gcc |
Компилятор GNU C | |
gcc main.c -o app |
Скомпилировать C-файл исходников |
|
gdb |
Отладчик GNU | |
gdb ./app |
Отладить скомпилированный бинарный файл |
|
git |
Распределённая система контроля версий | |
git status |
Показать статус рабочей директории |
|
git commit -m "msg" |
Сделать коммит с сообщением |
|
ltrace |
Трассировка вызовов библиотек | |
ltrace ./app |
Отслеживать вызовы библиотек бинарника |
|
make |
Утилита для сборки программ по правилам | |
make |
Собрать проект по Makefile |
|
shellcheck |
Статический анализатор shell-скриптов | |
shellcheck script.sh |
Проверить shell-скрипт |
|
strace |
Трассировка системных вызовов и сигналов | |
strace ./app |
Отслеживать системные вызовы программы |
|
valgrind |
Фреймворк для динамического анализа программ | |
valgrind ./app |
Запустить программу под Valgrind |
|
vim / nano |
Текстовые редакторы в командной строке | |
vim file.sh |
Редактировать через Vim |
|
nano file.sh |
Редактировать через Nano |
📌 Разное
Команда |
Пример |
Описание |
|---|---|---|
cal |
Показать календарь | |
cal 2025 |
Показать календарь за год |
|
cal 08 2025 |
Показать конкретный месяц |
|
date |
Показать или установить дату и время системы | |
date +%T |
Вывести текущее время (HH:MM:SS) |
|
date -d "next friday" |
Вывести дату для относительного дня |
|
factor |
Разложить число на множители | |
factor 100 |
Разложить число |
|
man |
Форматировать и показывать man-страницы | |
man tar |
Открыть man-страницу |
|
man -k copy |
Искать по ключевому слову |
|
man 5 passwd |
Открыть определённый раздел справки |
|
seq |
Вывести последовательность чисел | |
seq 1 5 |
Сосчитать от 1 до 5 |
|
seq 1 2 9 |
Считать с шагом |
|
seq -s ',' 1 5 |
Объединить числа с разделителем |
|
yes |
Выводить строку многократно до остановки | |
yes | rm -r dir |
Автоматически подтверждать рекурсивное удаление |
📚 Дополнительные ресурсы
📘 man pages — подробные руководства по командам:
man ls
man rm📙 TLDR — краткие примеры использования популярных команд:
🧠 Совет: Установите tldr для помощи в стиле шпаргалки:
sudo apt install tldr # или: npm install -g tldr
tldr tar # пример короткой сводки по команде tar🌐 Полезные ссылки
Linux man pages online — официальные справочные страницы, поиск по имени команды:
https://man7.org/linux/man-pages/
Упрощённые и создаваемые сообществом man pages — справка с практическими примерами:
https://tldr.sh/