Любой придворный админ должен уметь настроить и затюнить систему. Еще лучше — быть Юлием Цезарем и делать несколько дел одновременно. Не уверены, что мультизадачность пойдет вам на пользу, но пособие «Как стать Юлием в Ubuntu?» на всякий случай написали.
Основные команды
$ uname -a — общая информация о системе
$ uptime — показывает аптайм системы (работа без перезагрузок), количество юзеров и среднюю загрузку за 90 секунд и за 15 минут
$ cd — смена текущей директории (например, cd /var/log — перейти в /var/log)
$ ls -la — выдаёт список содержимого в папке, которой вы находитесь (в текущей директории)
$ du — оценивает используемое файлами пространство.
$ mkdir — создание каталога/папки/директории (например, mkdir -p ./d1/d2/d3 — создать структуру вложенных каталогов)
$ shutdown -h now — ребут
$ df -h — показывает дисковое пространство
$ df -Th | grep «^/dev» — просмотр файловой системы (работает только на физических дисках)
$ cat filename — вывести содержимое файла filename в терминале
$ kill — Команда kill отправляет сигнал указанным процессам или группам процессов, заставляя их действовать в соответствии с сигналом. Чтобы завершить или завершить процесс с помощью команды kill, сначала необходимо найти идентификационный номер процесса (PID). Для этого подойдут команды: top, ps, pidof и pgrep.
Создание пользователей, выдача прав, доступы к файлам
$ useradd -c «User Pavel» -g admin -d /home/pavel-s /bin/bash pavel — Этой командой мы создаем юзера Pavel, домашним каталогом будет создана директория /home/pavel, а в качестве системной оболочки будет назначен /bin/bash. Включаем этого пользователя в группу Admin с комментарием «User Pavel»
$ chown Pavel /file — Назначаем пользователя Pavel владельцем файла file.
$ chmod 755 /somefile — Для управления правами используется команда chmod. При использовании chmod вы можете устанавливать разрешения для пользователя (user), группы (group) и других (other)
Диагностика системы
$ top — показывает динамику нагрузки процессора и оперативной памяти.
$ htop — более продвинутая версия top. Показывает все системные процессы в привязке к памяти. Также показывает время непрерывной работы, использование процессоров и памяти. Описание столбцов можно посмотреть здесь.
$ badblocks -v /dev/hda1 — проверяем раздел hda1 на наличие bad-блоков
$ fsck /dev/hda1 — проверяем и восстанавливаем целостность linux-файловой системы раздела hda1
$ dump -0aj -f /tmp/home0.bak /home — создать полную резервную копию директории /home в файл /tmp/home0.bak
$ lsof — утилита, которая предназначена для вывода информации о том, какие файлы используются теми или иными процессами.
GREP (regex)
$ ls | grep Documents — Ищем конкретную папку или один файл делаем вывод ls в grep через вертикальную черту (|). если команда grep ничего не вернула, значит искомого файла/папки не существует в данной директории.
$ ls | grep ‘My Documents’ — поиск словосочетания в кавычки (можно двойные)
$ grep -e ‘Class 1’ -e Todd Students.txt — поиск по нескольким параметра через ключа -e перед каждым аргументом. Системой читается как «или-или».
$ grep -r pattern /directory/to/search — запускает рекурсивный поиск через ключ -r. Команда выведет все файлы, где найдено совпадение с указанным шаблоном, а также путь к ним. По умолчанию поиск ведется по текущей директории и поддиректориях.
Сеть
$ mtr -b google.com — ping и tracerout в одном лице (данная команда выводит и ИП и имена хостов, чтобы задать кол-во пакетов нужно прописать -c 10)
$ ip link show отобразить состояние всех интерфейсов
$ nestat -i — вывод сведений о сетевых соединениях и таблицах маршрутизации всех интерфейсов
$ netstat -tup — Конкретная команда — выводит листинг всех установленных соединений по протоколам TCP и UDP без разрешения имён в ip-адреса а так-же PID’ы и имена процессов, обслуживающих данные соединения.
$ tcpdump tcp port 80 — Отобразить весь трафик на TCP-порт 80 (обычно — HTTP)
$ tcpdump -i eth0 — слушать трафик конкретного интерфейса
$ tcpdump -i eth0 -c 10 host 8.8.8.8 чтобы захватить пакеты, идущие от системы с адресом 8.8.8.8 и уходящие к этой же системе, можно воспользоваться такой командой:
$ dhclient eth0 — включить DHCP на сетевом интерфейсе eth0
$ ethtool eth0 — Вывод статистики по сетевому интерфейсу eth0
$ ifconfig — конфигурирует сетевые интерфейсы
$ ifconfig eth0 — показать конфигурацию сетевого интерфейса eth0
$ dhclient eth0 — активировать интерфейс eth0 в dhcp-режиме.
$ route -n — вывести локальную таблицу маршрутизации
$ nslookup www.example.com — Ресолвить (преобразовать/разрешить) доменное имя www.example.com в ip-адрес и наоборот
$ host -n -t mx google.com — узнать записи MX для домена
$ iftop — утилита для мониторинга сетевой активности в Linux в режиме реального времени. S
$ sudo iftop -i wlp2s0 — мониторинга использования сети на беспроводном интерфейсе
$ nc -z -v 10.10.8.8 20-80 — сканировать открытые порты в диапазоне 20-80, вы должны использовать следующую команду:
$ nc -l 5555 > file_name — netcat можно использовать для передачи данных с одного хоста на другой путем создания базовой модели клиент / сервер
$ nc receiving.host.com 5555 < file_name — от отправляющего хоста подключитесь к принимающему хосту и отправьте файл:
$ tcpdump —list-interfaces — вывести список доступных системе сетевых интерфейсов
$ tcpdump -i eth1 — захвата пакетов, проходящих через определенный интерфейс. Если не указать имя, тогда tcpdump подберет первый обнаруженный сетевой интерфейс.
$ tcpdump -i eth1 -c 5 port 80 – Фильтр портов
$ tcpdump host 10.0.2.15 — Фильтр хостов
$ tcpdump -i eth1 icmp – фильтр по протоколу. Фильтры можно комбинировать с помощью операторов: AND, OR, NOT