Основные Linux команды

Список основных команд Linux

Команда Описание Примеры
sudo Запуск от администратора
sudo !! Эта команда запустит ранее введённую команду с правами администратора. Полезно, если вы набрали команду без sudo.
sudo su После этой команды все введённые вами команды будут исполняться от имени суперпользователя, пока вы не закроете терминал.
lsof Список открытых файлов, всеми процессами в системе. lsof -u raferti -Список всех файлов, открытых пользователем.
lsof +D <path_to_directory> — Список всех открытых файлов в каталоге.
lsof -p <pid> Перечислите все открытые файлы процессом.
Сеть
curl Позволяет скачивать файлы из интернета curl -o readme.txt https://raw.githt.com/curl/README.md -Пример скачивания файла.
curl -d «field1=val&fileld2=val1″http://poser.com/post.php -Отправка данных POST запросом.
wget Скачивание файлов, есть возможность сохранять веб страницы или даже целые веб-сайты wget http://ftp.gu.org/wget-1.5.3.tar.gz  — скачает один файл и сохранит его в текущей директории.
wget —mirror -p —convert-links -P ./<Local-Folder> аддресс_сайт — Скачать сайт.
ssh Позволяет подключится к удаленному компьютеру через терминал. ssh — протокол удаленного управления компьютером с операционной системой Linux. Настройки сервера SSH находятся в файле /etc/ssh/sshd_config ssh [опции] имя пользователя@сервер [команда]
ssh user@host
— Подключиться к серверу по SSH используйте.
ssh user@host ‘bash -s’ < script.sh
— Выполнить локальный скрипт(Выполним интерпретатор bash на удаленном сервере и передадим ему наш локальный скрипт)
ssh-keygen -t rsa
— Создание rsa ключа
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
— Отправка ключа на сервер

Теперь при попытке подключится к этому серверу пароль запрашиваться не будет, а стазу произойдет подключение.

Передача файлов по SSH
scp /адрес/локального/файла пользователь@хост:адерс/папки —
Просто укажите файл, который нужно передать, удаленный сервер и папку на сервере
scp ~/test.txt user@host:documents

Туннели SSH
ssh -L локальный_порт:удаленный_адрес:удаленный_порт пользователь@сервер
ssh -N -L 5555:127.0.0.1:3306 root@losst-1
— Сделаем удалённую базу данных доступной локально на порту 5555
Поиск
find Вы можете искать файлы не только по имени, но и по дате добавления, содержимому, а также использовать для поиска регулярные выражения. Кроме того, с найденными файлами можно сразу же выполнять необходимые действия. find [папка] [параметры] критерий шаблон [действие]
find . -name «*.jpg» — Искать файлы по имени в текущей папке.
find . -name «test» -not -name «*.php» — Поиск по нескольким критериям, с оператором исключени.
find ./test ./test2 -type f -name «*.c» — Искать в двух каталогах одновременно.
find . type f -perm 0664 — Найти файлы с определенной маской прав, например, 0664.
find / -mtime 50 — Найти все файлы модифицированные 50 дней назад.
find / -atime 50 — Поиск файлов в Linux открытых N дней назад.
find / -size +50M -size -100M — Поиск файлов от пятидесяти до ста мегабайт.
grep Поиск строки в файле\файлах\рекурсивный поиск в файлах папки
Работа с текстовыми файлами
awk Читает текстовый файл по одной строке за раз, выполняет указанные действия и выводит результат echo ‘one two three four’ | awk ‘{print $4, $2}’
>>> four two
head Выводит начальные строки (по умолчанию — 10) из одного или нескольких документов. head file-name.txt — Выведет первые 10 строк файла.
head file-name1.txt file-name2.txt
— Вывод с нескольких файлов.
tail Позволяет выводить заданное количество строк с конца файла, а также выводить новые строки в интерактивном режиме. Например, когда вы хотите посмотреть содержимое лог файла, то вам не нужно то, с чего он начинается, вам будет достаточно последних сообщений об ошибках. По умолчанию утилита выводит десять последних строк из файла. По умолчанию данные обновляются раз в секунду tail /var/log/syslog — Выводим последние десять строк файла.
tail -f /var/log/syslog
— Когда вы хотите отслеживать появление новых строк в файле, добавьте опцию -f
tail -f -s 5 /var/log/syslog
— Опции -s вы можете задать частоту обновления файла.
tail -f /var/log/syslog | grep err
— Для удобства, вы можете выбирать не все строки, а отфильтровать интересующие вас.
less Предназначена для постраничного просмотра больших текстовых файлов. Особенность less заключается в том, что команда не считывает текст полностью, а загружает его небольшими фрагментами less filename.txt

less -s textfile.txt — Пустые строки «съедают» место на экране, не принося никакой пользы. -s или —squeeze-blank-lines — удаляет лишние пустые строки.

Процесы
ps Чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита ps, которая печатает информацию о запущенных процессах. По умолчанию вывод очень длинный, поэтому используйте опцию -e, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с ключом aux выводит полную информацию о процессах.  
kill Убивает процесс.  
xkill Ещё одна команда для завершения процессов. Введите её, затем щёлкните по тому окну, которое нужно закрыть.  
Файлы и каталоги
pwd Печатает на экран текущий каталог.  
ls Просмотр содержимого папки.  
mkdir Создание новых каталогов.  
rmdir Удаляет указанную папку.  
cat Читает данные из файла или стандартного ввода и выводит их на экран.  
file Выводит информацию об указанном файле.  
touch Создает пустой файл. touch app.log — Создаст пустой файл app.log
rm Удаляет файлы.  
chown Изменяет владельца файла. Только суперпользователь может изменять владельцев. Для рекурсивного изменения используйте опцию -R.  
cp Копирование файлов и каталогов. Она не копирует каталоги по умолчанию рекурсивно (то есть все поддиректории и все файлы в поддиректориях), поэтому не забудьте добавить опцию -r (Recursive) или -a (Archive). Последняя включает режим сохранения атрибутов, владельца и временного штампа в дополнение к рекурсивному копированию.  
mv Перемещение или переименование файлов и каталогов  
rename Переименовывает файл или несколько файлов. Команду можно использовать и для массового переименования файлов по маске.  
ln Создает жёсткие или символические ссылки на файлы. Символические или программные ссылки — это что-то похожее на ярлыки в Windows. Они предоставляют удобный способ доступа к определённому файлу.  
Разное
time Время выполнения процесса. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной.  
wc Утилита командной строки Linux для подсчёта количества слов, строк, байт и символов.