Базовые команды Linux для разработчика: короткое руководство
За 15–20 минут вы освоите команды Linux для навигации по папкам, чтения и поиска файлов, работы с процессами и проверки свободного места. Примеры рассчитаны на Bash и безопасную практику в отдельной папке.

За 15–20 минут вы освоите команды Linux для навигации по папкам, чтения и поиска файлов, работы с процессами и проверки свободного места. Примеры рассчитаны на Bash и безопасную практику в отдельной папке.
Перед началом
Нужен терминал на Linux-машине или сервере с Bash 5.x и стандартными утилитами GNU Coreutils 9.x. Номера версий в дистрибутивах могут отличаться: основные команды и примеры ниже не завязаны на отдельную функцию конкретного выпуска. Проверить окружение можно командами bash --version и coreutils --version; если вторая команда не найдена, посмотрите версию пакета Coreutils через менеджер пакетов вашего дистрибутива.
Для упражнений достаточно прав обычного пользователя. Не запускайте команды с sudo, пока не понимаете, зачем нужны повышенные права: ошибка в пути с ними может повредить системные файлы.
Команды, которые пригодятся каждый день
Создадим отдельную папку и будем работать только в ней. Так проще проверить команды и безопаснее экспериментировать с файлами.
- Узнайте, где находитесь. Команда
pwdвыводит полный путь к текущей папке, аlsпоказывает её содержимое. Создайте рабочую папку в домашнем каталоге и перейдите в неё:
Параметрыpwd ls -lah mkdir -p ~/linux-practice cd ~/linux-practice pwd-l,-aи-hуlsпоказывают подробности, скрытые файлы и читаемые размеры.mkdir -pсоздаёт папку и не выдаёт ошибку, если она уже есть. Проверка: последняя команда должна вывести путь, оканчивающийся на/linux-practice. - Создайте и прочитайте файл. Перенаправление
>записывает вывод команды в файл. Здесь оно создаёт ваш собственный учебный файл:printf 'Запуск проекта\nTODO: проверить тесты\n' > notes.txt cat notes.txt head -n 1 notes.txt tail -n 1 notes.txtcatвыводит файл целиком, аheadиtail— начало и конец. Проверка:catдолжен показать две строки, включаяTODO: проверить тесты. Важно: если файл уже существует,>перезапишет его содержимое. - Найдите строку или файл.
grepищет текст, аfind— файлы по заданным условиям. Ключ-nдобавляет номер строки:
Точка вgrep -n 'TODO' notes.txt find . -type f -name '*.txt'find .означает «начать поиск в текущей папке», а звёздочка в шаблоне имени соответствует любой последовательности символов. Проверка: первая команда выведет строку с номером и текстомTODO, вторая — путь./notes.txt. - Скопируйте и переименуйте файл. Перед командами убедитесь, что вы всё ещё в учебной папке: выполните
pwd. Затем создайте подпапку, скопируйте туда заметку и переименуйте копию:mkdir -p archive cp notes.txt archive/notes-copy.txt mv archive/notes-copy.txt archive/notes-final.txt ls -l archivecpоставляет исходник на месте, аmvперемещает файл или меняет его имя. Проверка: в выводеlsдолжен бытьnotes-final.txt. Не проверяйте команды удаления на чужих или системных файлах. - Посмотрите процессы и свободное место.
psпоказывает процессы пользователя,df— заполнение файловых систем, аdu— объём папки:
Точка уps -u "$USER" -o pid,comm df -h . du -sh .dfуказывает на файловую систему текущей папки. Проверка: первая команда покажет процессы с идентификаторами, две следующие — размеры и свободное место; в выводеduбудет размер вашей рабочей папки. - Проверьте права на файл. Права видны в первой колонке вывода
ls -l. На собственном файле можно добавить право на запуск для себя:ls -l notes.txt chmod u+x notes.txt ls -l notes.txtu+xозначает «добавить владельцу право выполнения». Это упражнение меняет права, но не превращает текстовую заметку в программу. Проверка: во втором выводеls -lв правах владельца появитсяx. Не ставьтеchmod 777как универсальное исправление: оно открывает доступ на запись всем пользователям. - Соедините команды через конвейер. Символ
|передаёт вывод одной команды следующей. Посчитаем найденные строки сTODO:grep -n 'TODO' notes.txt | wc -lwc -lсчитает строки. Проверка: команда выведет1. Такой приём помогает обрабатывать результаты поиска без промежуточного файла.
Перед запуском команды проверьте две вещи: в какой папке вы находитесь и какие файлы команда изменит. Для новичка это полезнее, чем запоминание десятков флагов.
Если команда не сработала
Точный текст ошибки зависит от оболочки и дистрибутива, но чаще всего проблема одна из этих:
No such file or directory— указанного файла или папки нет по этому пути. Выполнитеpwdиls, затем проверьте имя и расположение. В Linux прописные и строчные буквы различаются:Notes.txtиnotes.txt— разные имена.Permission denied— у пользователя нет нужного права на файл или папку. Посмотрите права командойls -l; не добавляйтеsudo, пока не выяснили, кому принадлежит файл и почему доступ закрыт.command not found— оболочка не нашла команду. Проверьте написание и доступность утилиты в системе. Если это программа, которую вы сами установили, проверьте, находится ли она в каталоге из переменнойPATH.- Команда
grepничего не вывела — совпадение не найдено. Это не обязательно ошибка: проверьте, что файл содержит искомый текст и вы указали правильное имя.
Что делать дальше
Повторите команды в своей папке проекта: замените notes.txt на имя файла, который хотите изучить, и начинайте поиск с небольшого подкаталога. Перед изменением файлов проверьте путь через pwd; перед запуском неизвестной команды откройте её справку командой man имя-команды или посмотрите официальную документацию. На сервере отдельно следите за свободным местом через df -h и за ростом каталогов через du.
Термин — текущая папка: каталог, с которым команда работает, если вы не указали другой путь. Его полный адрес показывает pwd; точка . в путях означает именно эту папку.
Проверка рекламы на риски: Что в макете вызовет вопросы ФАС: превосходные степени, сравнения, обещания результата, маркировка.
Спросить за 40 ₽Источники: GNU Coreutils — официальное руководство, GNU Bash — официальное руководство
Частые вопросы
Эти команды подойдут для Ubuntu, Debian и других дистрибутивов?
Что делать, если у меня другая версия Bash или Coreutils?
Почему после команды grep ничего не появилось?
Нужно ли запускать эти команды через sudo?
Какие из этих команд опасно использовать на рабочем сервере?
Что делать, если команды из примеров всё равно не сработали?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.