I did my time, and I want out!
So abusive faith!
It doesn’t cut, this soul is not so vibrant.
The reckoning, the sickening.
Back at your subversion.
Pseudo-sacred sick before dawn.
Go to your deserts, go dig your graves!
Then fill your mouth with all the money you will save.
Sinking in, getting smaller again.
I’m done! It has begun, I’m not the only one!
Здравствуйте благородные Доны!So abusive faith!
It doesn’t cut, this soul is not so vibrant.
The reckoning, the sickening.
Back at your subversion.
Pseudo-sacred sick before dawn.
Go to your deserts, go dig your graves!
Then fill your mouth with all the money you will save.
Sinking in, getting smaller again.
I’m done! It has begun, I’m not the only one!
В данной статье написал шпаргалку\список самых необходимых команд для операционной системе linux которую не плохо бы хранить где-то под рукой на случай если потребуется освежить в памяти или кинуть в техническую поддержку как RTFM для мягкого массажа нужной части человека (мозга) и дальнейшей мотивации к саморазвитию.
Поскольку все мы занимаем разные должности, но к нам регулярно приходят с вопросами из разных подразделений «как мне вот это сделать что бы оно заработало как надо».
В преддверии вопроса «а можно весь этот текст в pdf скажу Да! приложил шпаргалку, упрощённая копия текущей статьи в pdf и более красивую его версию на английском тоже. Сами решите что Вам больше по душе.
Краткое содержание
Система
Железо
Пользователи
Работа с файлами
Процессы
Права файлов
Сеть
Архивация
Установка из пакетов
Установка из исходников
Поиск
Удаленное подключение
Использование диска
Переход по директориям
Система
uname Информация о системе
uname -r Информация о ядре Linux
uptime Как долго система запущена и загрузка (load average)
hostname Имя хоста
hostname -i IP адрес хоста
last reboot История перезагрузок
date Дата и время
timedatectl Вывод и изменение даты и времени
cal Вывод календаря
w Отобразить пользователей работающих в системе
whoami Отобразить свое имя пользователя
finger username Информация о пользователе
Железо
dmesg Вывод сообщений системы при загрузке
cat /proc/cpuinfo Информация о CPU
cat /proc/meminfo Информация об ОЗУ
lshw Информация об аппаратной части (железе)
lsblk Информация о блочных устройствах
free -m Свободная память: озу и swap (ключ -m вывод в MB)
lspci -tv Информация о PCI устройствах в виде дерева
lsusb -tv Информация о USB устройствах в виде дерева
dmidecode Информация об устройствах из BIOS
hdparm -i /dev/xda Информация о диске
hdparm -tT /dev/xda <:code> Скорость чтения-записи на устройство xda
badblocks -s /dev/xda Тест на нечитаемые блоки
Пользователи
id Подробности о пользователе (uid, gid, и группы)
last Последний вход в систему
who Просмотр авторизованных пользователей
groupadd "admin" Добавить группу ‘admin’
adduser "Sam" Добавить пользователя Sam
userdel "Sam" Удалить пользователя Sam
usermod Изменение данных пользователя, состава групп
Работа с файлами
ls -al Список файлов и директорий
pwd Отобразить текущую рабочую директорию
mkdir 'directory_name' Создать новую директорию
rm file_name Удалить файл
rm -f filename Принудительно удалить файл
rm -r directory_name Удалить директорию рекурсивно
rm -rf directory_name Удалить принудительно и рекурсивно
cp file1 file2 Копировать содержимое файла file1 в файл file2
cp -r dir1 dir2 Рекурсивное копирование директории dir1 в dir2. dir2 будет создана, если не существует.
mv file1 file2 Переименовать file1 в file2
ln -s /path/to/file_name link_name Создать символическую ссылку к файлу file_name
touch file_name Создать пустой файл file_name
cat > file_name Поместить STDIN в файл
more file_name Выводить содержимое файла частями
head file_name Вывод первых 10 строк файла
tail file_name Вывод последних 10 строк файла
gpg -c file_name Зашифровать файл
gpg file_name.gpg Расшифровать файл
wc Вывести число байт, слов и строк файла
xargs Выполнить команду с тем что пришло из STDOUT
Процессы
ps Вывести текущие запущенные процессы
ps aux | grep 'telnet' Поиск id процесса ‘telnet’
pmap Карта памяти процесса
top Все запущенные процессы
kill pid Завершить процесс по pid
killall proc Завершить все процессы с именем proc
pkill process-name Отправить сигнал процессу
bg Отправить приостановленный процесс в фоновое выполнение
fg Вывести из фона выполняющийся процесс
fg n Процесс n вывести из фонового выполнения
lsof Список файлов, которые используют процессы
renice 19 PID Установить самый низкий приоритет процессу
pgrep firefox find Firefox process ID
pstree Древовидное представление процессов
Права файлов или директорий
chmod octal filename Изменить права файла или директории
Примеры
chmod 777 /data/test.c Права rwx для всех, кто имеет доступ к серверу (владельца, группу, остальные)
chmod 755 /data/test.c Права rwx на владельца и r_x на группу и остальных
chmod 766 /data/test.c Права rwx для владельца, rw для групп и остальных
chown owner user-file Изменить владельца для файла
chown owner-userwner-group file_name Изменить владельца и группу-владельца для файла
chown owner-userwner-group directory Изменить владельца и группу-владельца для директории
Сеть
ip addr show Показать IP адреса всех доступных сетевых интерфейсов
ip address add 192.168.0.1/24 dev eth0 Назначить адрес 192.168.0.1 на интерфейс eth0
ifconfig Показать IP адреса всех доступных сетевых интерфейсов
ping host Команда отправляет ICMP echo запрос на соединение с хостом
whois domain Информация о доменном имени
dig domain Получить DNS информацию о домене
dig -x host Обратное разрешение имени
host google.com Разрешение адреса хоста
hostname -i Локальные адреса
wget file_name Скачать файл
netstat -pnltu Показать все порты, которые слушаются на хосте
Архивация
tar -cf home.tar home<:code> Создать архив ‘home.tar’ из файла ‘home’
tar -xf files.tar Распаковать файл ‘files.tar’
tar -zcvf home.tar.gz source-folder Создать архив из директории
gzip file Сжать файл (будет с расширением .gz)
Установка из пакетов
rpm -i pkg_name.rpm Установка из rpm пакета (CentOS, RHEL…)
rpm -e pkg_name Удалить rpm пакет (CentOS, RHEL…)
dnf install pkg_name Установить пакет с помощью dnf из репозитория. Ранее использовался YUM, но недавно YUM заменили на DNF. (CentOS, RHEL…)
apt update Обновить репозитории (Debian, Ubuntu, Mint…)
dpkg -i pkg_name Установить из deb пакета (Debian, Ubuntu, Mint…)
dpkg -r pkg_name Удалить пакет (Debian, Ubuntu, Mint…)
apt install pkg_name Установить пакет из репозитория (Debian, Ubuntu, Mint…)
apt remove pkg_name Удалить пакет (Debian, Ubuntu, Mint…)
apt upgrade Обновить пакеты в системе (Debian, Ubuntu, Mint…)
Установка из исходников (компиляция)
./configure Проверить наличие всех необходимых компонентов в системе для успешной компиляции
make Начать процесс компиляции
make install Установить скомпилированное ПО в систему
Поиск
grep 'pattern' files Поиск по паттерну в файлах
grep -r pattern dir Искать рекурсивно во всех файлах, которые находятся в директории dir
locate file Показать все местонахождения файла
find /home/ -name "index" Найти файлы с именем, которое начинается с ‘index’ в директории /home folder
find /home -size +10000k Найти файлы больше 10000k в директории /home
Удаленное подключение
ssh user@host Подключиться к удаленному хосту по ssh под пользователем user
ssh -p port_number user@host Подключиться к удаленному хосту, если используется иной (не 22) ssh порт
ssh host Подключение с параметрами по-умолчанию под текущим пользователем
telnet host Подключиться по telnet (порт 23)
Передача файлов
scp file1.txt server2/tmp Securely copy file1.txt to server2 in /tmp directory
rsync -a /home/apps /backup/ Synchronize contents in /home/apps directory with /backup directory
Использование диска
df -h Отобразить свободное место на смонтированных разделах (в байтах)
df -i Показать свободные inodes на файловой системе
fdisk -l Информация о дисках, разделах и файловых системах
du -sh Отобразить свободное место на смонтированных разделах с размерами переведенными в МБ, ГБ, ТБ
findmnt Отобразить все точки монтирования
mount /dev/sdb1 /mnt Примонтировать раздел 1 диска sdb к директории /mnt
Переход по директориям
cd .. Перейти на один уровень выше
cd Перейти в домашнюю директорию (переменная $HOME)
cd /test Перейти в директорию /test
Благодарю за внимание. Всем, кому понравилась данная статья пишите письма "до востребования". Меня зовут Себастьян Перейра, торговец чёрным деревом!