Основные команды Linux
Терминал в Линукс обладает большим списком полезных консольных команд, которые пригодятся пользователям, решил сделать шпаргалку по базовым командам для терминала, которые позволят создавать директории, удалять файлы, просматривать, редактировать и многие другие…
Файловые команды
ls – список файлов и каталогов
ls -al – форматированный список со скрытыми каталогами и файлами
cd dir – сменить директорию на dir
cd – сменить на домашний каталог
pwd – показать текущий каталог
mkdir dir – создать каталог dir
rm file – удалить file
rm -r dir – удалить каталог dir
rm -f file – удалить форсированно file
rm -rf dir – удалить форсированно каталог dir
cp file1 file2 – скопировать file1 в file2
cp -r dir1 dir2 – скопировать dir1 в dir2; создаст каталог dir2, если он не существует
mv file1 file2 – переименовать или переместить file1 в file2. если file2 существующий каталог - переместить file1 в каталог file2
ln -s file link – создать символическую ссылку link к файлу file
touch file – создать file
cat > file – направить стандартный ввод в file
more file – вывести содержимое file
head file – вывести первые 10 строк file
tail file – вывести последние 10 строк file
tail -f file – вывести содержимое file по мере роста, начинает с последних 10 строк
xdg-open ~/.vscode/extensions - открыть папку
Управление процессами
ps – вывести ваши текущие активные процессы
top – показать все запущенные процессы
kill pid – убить процесс с id pid
killall proc – убить все процессы с именем proc
bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне
fg – выносит на передний план последние задачи
fg n – вынести задачу n на передний план
Права доступа на файлы
chmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением:
4 – чтение (r)
2 – запись (w)
1 – исполнение (x)
Примеры:
chmod 777 – чтение, запись, исполнение для всех
chmod 755 – rwx для владельца, rx для группы и остальных.
Дополнительные опции: man chmod.
SSH
ssh user@host – подключится к host как user
ssh -p port user@host – подключится к host на порт port как user
ssh-copy-id user@host – добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам
Поиск
grep pattern files – искать pattern в files
grep -r pattern dir – искать рекурсивно pattern в dir
command | grep pattern – искать pattern в выводе command
locate file – найти все файлы с именем file
find -regex ./.*\.js$ - поиск всех файлов js
grep -E -o '5[HJK][1-9A-HJ-NP-Za-km-z]{49}' test.txt > goal.txt - поиск по регулярному выражению
Системная информация
date – вывести текущую дату и время
cal – вывести календарь на текущий месяц
uptime – показать текущий аптайм
w – показать пользователей онлайн
whoami – имя, под которым вы залогинены
finger user – показать информацию о user
uname -a – показать информацию о ядре
cat /proc/cpuinfo – информация ЦПУ
cat /proc/meminfo – информация о памяти
man command – показать мануал для command
df – показать инф. о использовании дисков
du – вывести “вес” текущего каталога
free – использование памяти и swap
whereis app – возможное расположение программы app
which app – какая app будет запущена по умолчанию
Архивация
tar cf file.tar files – создать tar-архив с именем file.tar содержащий files
tar xf file.tar – распаковать file.tar
tar czf file.tar.gz files – создать архив tar с сжатием Gzip
tar xzf file.tar.gz – распаковать tar с Gzip
tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 – распаковать tar с Bzip2
gzip file – сжать file и переименовать в file.gz
gzip -d file.gz – разжать file.gz в file
Сеть
ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain
dig domain – получить DNS информацию domain
dig -x host – реверсивно искать host
wget file – скачать file
wget -c file – продолжить остановленную закачку
Установка пакетов
Установка из исходников:
./configure
make
make install
dpkg -i pkg.deb – установить пакет (Debian)
rpm -Uvh pkg.rpm – установить пакет (RPM)
Клавиатурные сочетания
Ctrl+C – завершить текущую команду
Ctrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фоне
Ctrl+D – разлогиниться, тоже самое, что и exit
Ctrl+W – удалить одно слово в текущей строке
Ctrl+U – удалить строку
!! - повторить последнюю команду
exit – разлогиниться
Специальные символы
. текущая директория
.. директория на уровень выше
~ домашняя директория
* любое количество любых символов
? ровно один любой символ
Необходимый минимум команд
Итак, запоминай самые важные команды, если еще не знаешь их: * man — чуть ли не самая важная команда — она отображает справку о команде, название которой ты напишешь следом;
* ls (от слова list, список) — перечислить все файлы в текущей директории, аналог виндовой команды dir. Самые важные ключи: -a (all) — показывать скрытые файлы, -l (long) — показывать подробности, -h (human) — показывать размеры в «человеческих» единицах, а не в байтах. Можно писать все ключи сразу: ls -lha;
* cd (change directory) — сменить директорию. Дальше можно указать папку, в которую ты хочешь перейти;
* pwd (print working directory) — узнать текущий путь;
* cp (copy) — скопировать файл. Дальше нужно указать, что и куда копировать;
* mv (move) — переместить файл. Тоже указываем какой, затем — куда;
* rm (remove) — стереть файл. Если стираешь каталог, указывай опцию -r (recursive), чтобы стереть все подкаталоги внутри, подкаталоги внутри них и так далее;
* chmod и chown — поменять права на файл или владельца файла;
* cat (concatenate) — придумана, чтобы объединять файлы, но часто используется, чтобы всего лишь вывести содержимое текстового файла. Просто напиши его название после cat;
* less — если файл длинный, то его удобно прокручивать. Для этого и придумана команда less;
head и tail — с опцией -n число показывают сколько‑то строк от начала (head) или конца (tail) указанного файла;
* grep — поиск в строке по подстроке или регулярному выражению;
* find — поиск файлов;
* mkdir (make directory) — создание директории;
* touch — создание пустого файла. Просто укажи его название;
* sudo — выполнить следующую далее команду от имени суперпользователя;
* df (disk free) — посмотреть, сколько на дисках свободного места. Рекомендую писать df -h по аналогии с ls -h;
* du (disk usage) — узнать, сколько занимает каталог. Тоже есть опция -h;
* ps (processes) — посмотреть список запущенных тобой процессов и их идентификаторы;
* kill и идентификатор — завершить какой‑то процесс.
Несколько важных сетевых команд: * ping — попинговать узел;
* nslookup — узнать информацию об узле;
* traceroute — проследить путь пакетов до узла;
* netstat — информация об открытых портах и соединениях;
* whois — информация о регистрации домена.
Помимо этого, в Linux обычно есть несколько утилит, которые сильно облегчат тебе жизнь. Если их нет, то стоит их установить: * git — популярнейшая система контроля версий, как и ядро Linux, созданная Линусом Торвальдсом;
* nano — простейший текстовый редактор, работающий в терминале;
* unzip и unrar — думаю, ты догадываешься, зачем они нужны;
* curl нужен для веб‑запросов;
* wget — для скачивания больших файлов;
* htop — показывает уровень загрузки системы и список процессов.
* bashtop — дашборд обзор системы и список процессов
Важно: выйти из программ, которые не закрываются сами, обычно можно, нажав Q. Прервать работу — Ctrl-C. А чтобы выйти из vim, если ты его открыл случайно, набери последовательность :q! и нажми Enter.
В домашнем каталоге пользователя хранится несколько скрытых файлов, которые могут быть очень полезны при работе в Linux. Чтобы просмотреть скрытые файлы в текущем каталоге, используй консольную команду ls -a или поковыряйся в меню файлового менеджера: например, в Nautilus пункт «Показать скрытые файлы» прячется в меню «Вид». Обрати внимание на следующие скрытые файлы: * .bash_profile — содержит информацию о пользовательском окружении и запускаемых при авторизации пользователя программах. В некоторых дистрибутивах, основанных на Debian, данного файла по умолчанию не существует, но ты можешь создать его самостоятельно;
* .bash_login — этот файл исполняется, если отсутствует .bash_profile, и выполняет схожую функцию. Этого файла не существует по умолчанию ни в дистрибутиве Debian, ни в дистрибутиве Red Hat;
* .profile — выполняется при отсутствии .bash_profile и .bash_login;
* .bash_logout — сценарий, который выполняется автоматически при завершении работы командной оболочки;
* .bash_history — хранит информацию обо всех командах, набранных в bash;
* .ssh — каталог, в котором хранятся ключи шифрования для подключения по SSH;
* .bashrc — сценарий, который обычно настраивается другими сценариями для своих собственных нужд — например, запуска демонов или обработки каких‑либо команд.
Справочник основных команд Linux с примерами
Команды Linux: расширенный справочник команд Unix / Linux / PuTTY SSH
Основные команды Linux: справочник команд Linux
Команды Linux