Linux
April 26, 2023
Linux CLI
Пользователи
Id
– Подробная информация о пользователе (uid, gid и группа).last
– Список информации о последних входах в систему, включая время, имя пользователя, ip-адрес и длительность сеанса.who
– Просмотр авторизованных пользователейgroupadd “testgroup”
– Создает группу с именем “testgroup”.adduser NewUser
– Добавляет пользователя с именем “NewUser”.userdel NewUser
– Удаляет пользователя с именем “NewUser”.usermod NewUser
– изменяет информацию о пользователе “NewUser”.
Навигация по каталогам
cd /.
– Переход в основной каталогcd
– Переход в домашний каталог (переменная $HOME)cd /root
– Переход в каталог /rootcd ..
– Переход на один уровень нижеcd /root/.ssh
– Переход в скрытую папку .ssh
Работа с файлами
ls -al
– Показывает файлы и каталоги в текущей папкеpwd
– Отображает текущий рабочий каталогmkdir NewFolder
– Создает новый каталог с именем “NewFolder”.rm NewFile
– Удаляет файл с именем “NewFile”-f
- Принудительное удаление файла-r
- Рекурсивно удаляет каталог-rf
- Принудительное удаление каталогаcp oldfile1 newfile2
– Копирует содержимое oldfile1 в newfile2cp -r olddir1 newdir2
– Рекурсивно копирует каталог “olddir1” в “newdir2”. Dir2 будет создан, если он не существует.mv oldfile1 newfile2
– Переименовывает “oldfile1” в “newfile2”.ln -s /etc/log/file logfile
– Создает ярлык на файлtouch newfile
– Создает пустой файл с именем newfilemore newfile
– Выводит содержимое newfile по частямhead newfile
– Выводит первые 10 строк файла newfiletail newfile
– Вывод последних 10 строк newfilegpg -c newfile
– Шифрует newfile в формат gpg с помощью пароля и сохраняет его в том же каталоге.gpg newfile.gpg
– Расшифровывает gpg файлwc newfile
– Выводит количество байт, слов и строк нового файла.
Права доступа к файлам/каталогам
chmod 777 /root/ssh
– устанавливает права rwx(чтение, запись, выполнение) на файл ssh для всех, кто имеет доступ к серверу (владелец, группа, другие)chmod 755 /root/ssh
– Настраивает разрешения rwx для владельца и r_x для группы и других.chmod 766 /root/ssh
– Устанавливает права rwx для владельца и rw для группы и других.chown newuser newfile
– Меняет владельца newfile на newuserchown newuser:newgroup newfile
– Изменяет владельца и группу-владельца для newfile на newuser и newgroupchown newuser:newgroup newfolder
– Меняет владельца и группу-владельца каталога newfolder на newuser и newgroupstat -c “%U %G” newfile
– отображает владельцев пользователей и групп newfile
Поиск
grep searchargument newfile
– Поиск аргумента searchargument в newfilegrep -r searchargument newfolder
– рекурсивно просматривает все файлы в папке newfolder на наличие поискового аргументаlocate newfile
– Показывает все местоположения нового файлаfind /etc/ -name “searchargument”
– Находит файлы с именем, начинающимся с searchargument, в каталоге /etcfind /etc/ -size +50000k
– Найти файлы размером более 50000k в каталоге /etc.
Архивирование
tar -cf archive.tar newfile
– Создать архив ‘archive.tar’ из файла ‘newfile’tar -xf archive.tar
– Распаковать файл ‘archive.tar’tar -zcvf archive.tar.gz /var/log/
– Создать архив из каталога /var/loggzip newfile
– Сжать новый файл (он будет иметь расширение .gz).
Установка программ из пакетов
rpm -i pkg_program.rpm
– Устанавливает пакет rpm (CentOS, RHEL…)rpm -e pkg_name
– Удаляет пакет rpm (CentOS, RHEL…)dnf install pkg_name
– Устанавливает пакет с помощью dnf из репозитория. Ранее использовался YUM, но недавно YUM был заменен на DNF. (CentOS, RHEL…)dpkg -i pkg_name
– Установка из deb-пакета (Debian, Ubuntu, Mint…)dpkg -r pkg_name
– Удаляет deb-пакет (Debian, Ubuntu, Mint…)apt install pkg_name
– Устанавливает пакет из репозитория (Debian, Ubuntu, Mint…)apt remove pkg_name
– Удаляет пакет (Debian, Ubuntu, Mint…)apt upgrade && apt update
– Обновление пакетов в системе (Debian, Ubuntu, Mint…) и последующее обновление репозиториев.
Процессы
ps
– Выводит текущие запущенные процессыps aux | grep ‘bash’
– Найти идентификатор процесса ‘bash’pmap -x 11
– Сопоставить процесс с PID = 11 в памяти процессаhtop
– Показывает все запущенные процессыkill pid
– Завершить процесс по pidkillall process
– Завершить все процессы с именем “process”pkill process-name
– Послать сигнал процессуbg
– Отправить приостановленный процесс на фоновое выполнениеfg
– Вывести запущенный процесс из фонаfg process
– Вывести процесс с именем “process” из фонового режимаlsof
– Показать списки файлов, которые используют процессыrenice 19 PID
– Устанавливает самый низкий приоритет процессаpgrep bash
– найти идентификатор процесса bashpstree
– Показывает древовидное представление процессов
Система
uname
– Показать информацию о системеuname -r
– Показывает информацию о ядре Linuxuptime
– Продолжительность работы системы и средняя загрузкаhostname
– Показывает имя хостаhostname -i
– Показывает IP-адрес хостаlast reboot
– Показывает историю перезагрузокdate
– Показывает дату и времяtimedatectl
– Выводит и изменяет дату и времяcal
– Выводит календарьw
– Отображает пользователей, работающих в системеwhoami
– Отображает ваше имя пользователя
Аппаратное обеспечение
dmesg
– Отображает системные сообщения при загрузке системыcat /proc/cpuinfo
– Показывает информацию о процессореcat /proc/meminfo
– Показывает информацию об оперативной памятиlshw
– Показывает информацию об устройствахlsblk
– Показать информацию о жестком дискеfree -m
– Освобождает память: RAM и swap (переключатель -m в MB)lspci -tv
– Показывает информацию об устройствах PCI в виде дереваlsusb -tv
– Отображает USB-устройства в древовидном виде.dmidecode
– Показывает информацию об устройствах BIOShdparm -i /dev/xda
– Показывает информацию о дискеhdparm -tT /dev/xda
– Показывает скорость чтения и записи xdabadblocks -s /dev/xda
– Показывает тест на наличие битых секторов.
Использование диска
df -h
– Показывает свободное пространство на смонтированных разделах (в байтах)df -i
– Показывает свободные inodes в файловой системеfdisk -l
– Показывает информацию о диске, разделах и файловой системеdu -sh
– Отображает нераспределенное пространство на смонтированных разделах в MB, GB, TBfindmnt
– Отображает все точки монтированияmount /dev/sdb1 /mnt
– Монтирует раздел 1 диска sdb в /mnt
Сеть
ip addr show
– Показывает IP-адреса всех доступных сетевых интерфейсовip address add 192.168.0.1/24 dev eth0
– Присваивает адрес 192.168.0.1 интерфейсу eth0ifconfig
– Показывает IP-адреса всех доступных сетевых интерфейсовping 192.168.0.1
– Отправляет запрос по протоколу ICMP для подключения к узлу 192.168.0.1.whois domain
– Показывает информацию о доменном имениdig domain
– Получает информацию DNS о доменеdig -x 192.168.0.1
– Инвертирует разрешение именhost serverspace.us
– Отклик хостаhostname -I
– Показывает локальные адресаwget имя_файла(ссылка на файл)
– Загружает файлnetstat -pnltu
– Показывает все порты, прослушиваемые на хосте (требуетсяapt-get install net-tools
)scp user@10.1.4.4:/home/log.txt /backup
- передача файлов, откуда-куда.
Межсетевой экран
ufw status verbose
- проверка правил и текущего состояния UFWufw allow ssh
илиufw allow 3128/tcp
- открытие порта
Удаленное подключение
ssh root@host
– Подключение к удаленному хосту по ssh от имени rootssh -p port_number user@host
– Подключается к удаленному хосту, если используется порт ssh, отличный от 22.ssh host
– Использует соединение по умолчанию в качестве текущего пользователяtelnet host
– Использует соединение telnet (порт 23).
Supervisor
Основные команды
supervisorctl
- интерактивный режимsupervisorctl reread
- оповестить о новых файлахsupervisorctl update
- активировать новые конфигурации
Пример файла конфигурации script.conf
[program:long_script] command=python3 app.py autostart=true autorestart=true stderr_logfile=/var/log/long.err.log stdout_logfile=/var/log/long.out.log