Базовые команды
31 статья, по видам; порядок — как в треках.
Понятия 8
-
Получение справки в терминале
Как быстро узнать ключи команды: man, --help, apropos и tldr; как читать страницу man.
3 минcmd --helpman cmdman -
Bash-скрипты: запуск, переменные, аргументы
Скрипт — текстовый файл с командами оболочки: строка #! выбирает интерпретатор, аргументы приходят в $1, $2 и "$@".
8 минset -euochmodbash -
Коды завершения: $?, && и ||
Код завершения — число от 0 до 255, которым команда сообщает итог: 0 — успех, другое число — сбой или ответ «нет».
8 минlsgrep -qmkdir -
Как устроена команда — ключи и аргументы
Строка в терминале — это имя команды, ключи (-l, --all) и аргументы; оболочка делит её на слова по пробелам.
4 минls -lls -lals --all -
Шаблоны имён glob и фигурные скобки
Шаблоны имён * ? [] {}: как оболочка раскрывает их до запуска команды и чем они отличаются от регулярок.
4 минmkdir -pcpecho -
Перенаправление вывода и конвейеры
Оболочка направляет ввод и вывод команды в файл или в другую команду: >, >>, 2>&1, /dev/null, конвейер |.
6 минcmdcmd1 -
Переменные окружения и PATH
Переменные окружения: env, export, $PATH, ~/.bashrc и профили; откуда берётся «command not found».
3 минechoenvprintenv -
Локаль и кодировка
Язык, кодировка и форматы — LANG/LC_*, генерация локалей, проблемы с UTF-8.
3 минlocalelocale -alocale-gen
Команды 23
-
cd — смена каталога
Перемещение по файловой системе: cd, cd -, cd ~, cd .., pushd/popd, CDPATH.
3 минcd dircdpushd dir -
mc — файловый менеджер в терминале4 мин
Двухпанельный файловый менеджер в терминале: навигация, копирование, редактор, SFTP.
-
shellcheck — проверка скриптов до запуска
shellcheck читает скрипт bash или sh, не выполняя его, и находит ошибки: переменные без кавычек, cd без проверки.
6 минshellcheckshellcheck -fshellcheck -S -
which / type / whereis — где команда
Найти, какой бинарь выполнится, builtin это или alias, где лежит и man к нему.
3 минtype -acommand -vwhich cmd -
alias — псевдонимы команд
Короткие имена для длинных команд; временно и навсегда через ~/.bashrc; почему alias не виден в скриптах.
3 минaliasunalias llecho -
test, [ ] и [[ ]] — проверка условий6 мин
test и [ ] проверяют файл, строку или число и отвечают кодом: 0 — да, 1 — нет; [[ ]] — их версия в bash.
-
echo — вывод текста
Печать строк и переменных; -n и -e, экранирование, когда лучше printf.
3 минechoecho -nprintf -
uptime, who, w — кто в системе и загрузка
Load average сравнивай с числом ядер (nproc), а не с абсолютным порогом — три числа без него ничего не значат.
3 минuptimenprocw -
xargs — построение аргументов из потока
Превращает строки stdin в аргументы команды; без -0 имена файлов с пробелами и переводами строк ломают разбор.
3 минfind -
printf и echo — вывод текста в скриптах
Команда printf — форматированный вывод в shell: надёжнее echo, форматы и спецсимволы.
4 минprintfprintf -v -
vim — редактирование файлов в терминале
Минимум для правки конфигов в терминале; Esc всегда возвращает в режим Normal, где буквы — команды, а не текст.
4 минi -
nano — простой консольный редактор
Дружелюбный консольный редактор — сохранить, выйти, поиск, для правки конфигов.
3 минnano filenanonano -w -
tmux — мультиплексор терминала
Держит сессию терминала на сервере после разрыва SSH; сессии живут в памяти и не переживают перезагрузку сервера.
3 минtmux newtmux lstmux attach -
screen — мультиплексор терминала
Держит сессию терминала на сервере после разрыва SSH; сессии живут в памяти и не переживают перезагрузку сервера.
3 минscreen -Sscreen -lsscreen -r -
watch — периодический повтор команды
Повторяет команду каждые N секунд на одном экране; без кавычек конвейер достанется оболочке, а не самой команде.
3 минwatch -n1watch catwatch -
at — разовое задание по времени
Выполнить команду один раз в заданное время — в отличие от регулярного cron.
3 минechoat nowat -f -
flock — защита от двойного запуска
flock держит блокировку файла, пока работает команда: второй экземпляр скрипта ждёт её или сразу выходит.
7 минflock -nflock -wflock -
date — дата и время в shell
Команда date: текущее время, форматы вывода, метки времени для файлов и логов, арифметика дат.
4 минdatedate -ddate -Iseconds -
bash — командная оболочка
Интерпретатор команд: интерактивный ввод, встроенные команды и запуск сценариев.
5 минbash --versionhelptype pwd -
hostname — имя машины и его разрешение
Читает или временно задаёт имя узла; отдельные ключи запрашивают FQDN и адреса.
3 минhostnamehostname -shostname -f -
pwd — текущий рабочий каталог
Встроенная команда Bash: показывает логический или физический путь текущего каталога.
3 минpwdpwd -Lpwd -P -
uname — сведения о ядре и системе
Показывает имя и выпуск ядра, имя узла и машинную архитектуру; не версию дистрибутива.
3 минuname -suname -runame -v -
whoami — от чьего имени выполняется команда
Показывает имя пользователя, соответствующее эффективному UID выполняющегося процесса.
3 минwhoamiid -uid -un
Ничего не найдено. Попробуй запрос короче.