Начало:
1 |
Все есть файл |
Железо:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
echo 10000000 > /proc/sys/fs/file-max - увеличить количество открываемых фалов для пользователя (будет работать до перезагрузки) /sys - система/железо/шины/устройства /proc - процессы в запущенной системе /dev - устройства cat /proc/interrupts - прерывания cat /proc/cpuinfo - процессор ls - /sys/block - информация о блочных устройствах ls /dev/ - покажет все устройства lsmod - драйверы используемые железом lspci - все что на шине pci lspcmcia - все о pcmcia (ноутбучное железо) lsusb - все о usb lshal (больше не работает) lshw - все о железе blkid - показать ID дисков |
Модули ядра:
1 2 3 4 5 |
lsmod - инфо о модулях (т.е. драйверы) modinfo - информация о конкретном модуле rmmod - удалить модуль lnsmod - установка модуля modprobe - деликатное удаление или добавление модулей |
Загрузка системы:
1 2 3 4 5 6 |
BIOS/UEFI -> MBR/GPT -> LILO/GRUB -> Linux Kernel -> init запуск системы -> первая стадия загрузки -> вторая стадия загрузки -> запуск ядра ОС -> Пользовательская среда grub - ESC grub2 - SHIFT dmesg - выводит параметры загрузки ядра и текущие события cat /var/log/dmesg - лог загрузки |
Загрузка системы init:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
init - в стиле SysV - старый файл инициализации /etc/inittab (строка id:level:initdefault) /etc/rc.d - скрипты загрузки /etc/init.d/ - демоны service start/stop/reload/restart- демоны init - управление инициализацией telinit - управление инициализации (работает везде) wall - послать сообщение пользователям halt - отключение (потом потребуется вырубить пк вручную) reboot - перезагрузка shutdown - выключение пк (питание вырубится) runlevel - уровень загрузки init - в стиле systemd - современный (продвинутое логирование и параллельная загрузка демонов) .unit - модули которыми оперирует systemd .servie - службы .mount - точки монтирования .device - устройства .socket - сокеты /usr/lib/systemd - директория с юнитами по умолчанию /etc/systemd - директория с управлением юнитами systemctl list-units - показать все сервисы systemctl list-unit-files - выведет список всех сервисов + состояние systemctl status crond - посмотреть состояние демона crond systemctl status apache2 - посмотреть состояние сервиса apache2 runlevel - покажет уровень загрузки systemctl list-units --type=target - вывести список состояний runlevel systemctl isolate reboot.targert - выполнить reboot.targert (перезагрузка) systemctl set-default -f multi-user.targert - выставить runlevel multi-user.targert systemctl unit|reboot|poweroff|service name_unit - выполнить что-то с unit journalctl - программа с работай логами systemctl journalctl UID=0 - вывести лог пользователя UID=0 (root) init - в стиле upstart - современный используется в ubuntu Service - демоны ( перезапускаются) Tasks - задачи ( не перезапускаются) /etc/init - конфиги /etc/init/rc - конфиги initctl - ультелита управления загрузками runlevel - уровень загрузки status ufw - статус сервиса ufw stop ufw - остановить сервис ufw start ufw - запуск сервиса ufw initctl chow-config - показать конфиг загрузки initctl check-config - проверка конфига pstree - узнать какой init и дерево процессов |
Ядра и runlevel
1 2 3 4 5 6 7 8 9 10 11 12 13 |
ls /boot -ядра ls /boot/grub - загрузчик runlevel - уровни выполнения 0 - выключение 1 - однопользовательский 2 - debian/ubuntu + GUI 3 - redhat/suse 4 - wildcard (все что хоти) 5 - redhat/suse GUI 6 - перезагрузка init 0 - выключить систему |
Жесткие диски и файловые системы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
fdisk - таблица разделов mkfs - создание FS mkswap - создание свопа swapon -s - посмотреть включение свопы swapon - включить своп swapoff - отключить своп /etc/fstab - конфиг точек монтирования 1 по 4 - основные разделы ( 3 основные и может быть 1 расширенный) c 5 и далее - логические ( разделы в расширенном разделе) fdisk - l - показать диски и разделы blkid - id дисков LVM fdisk t e8 - LVM pvdisplay - физические тома lvdisplay - логические тома vgdisplay - показал volume groupe pvcreate /dev/sdb1 - создаем физ тома pvcreate /dev/sdb1 - создаем физ тома vgcreate vg_NAME /dev/sdb1 /dev/sdb2 - создаем виртуальную группу vg_NAME для партиций sdb1 и sdb2 mkfs.ext4 /dev/vg_NAME/lvm2 mkfs.ext4 /dev/vg_NAME/lvm1 lvresize -L 4G /dev/vg_NAME/lvm2 |
Загрузчики
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
dd if=/dev/sda of /root/backboot.back bs=512 count=1 - сохраняем загрузочный сектор backboot.back lilo apt=get install lilo liloconfig - создать конфигурационный файл и настроить загрузку nano /etc/lilo.conf - открыть на редактирование конфиг файл лило lilo - после запуска добавится загрузка grub /boot/grub/ - файлы конфигурации /boot/grub/menu.lst - конфиг файл grub2 grub-install /dev/sda - установить загрузчик grub-install --version - версия grub cat /etc/grub/grub.cfg - конфиг редактировать не льзя nano /etc/default/grub - настройки grub2 /etc/grub.d - скрипты загрузки |
Библиотеки
1 2 3 4 5 6 7 8 9 10 11 |
статические - всегда загружаются в оперативную память для каждой программы динамические - запускаются когда нужны и могут делится между программами (т.е. 2 программы могут использовать одну библиотеку) /lib - каталог библиотек /usr/lib - каталог библиотек /etc/ld.so.conf - конфиг отвечает за расположение библиотек /etc/ld.so.conf.d/ - конфиги библиотек /etc/ld.so.cache - кеш файл используемых библиотек ldconfig - обновить кеш используемых библиотек ldd /bin/ls - покажет какие использует библиотеки программа /bin/ls export LD_LIBRARY_PATH=/opt/soft/lib после ldconfig - для подгруздки сторонних библиотек |
Работа с пакетами debian DEB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
dpkg dpkg --help - помощь dpkg -l - показать все пакеты dpkg -s firefox - статус firefox dpkg -p firefox - подробная информации dpkg -S firefox - в каких пакета встречается firefox dpkg -S /bin/ls - в каких пакетах встречается ls dpkg -I /home/name.deb - информация о пакете name.deb dpkg -i /home/name.deb - установить пакет name.deb dpkg -r name_packet - удалить пакет dpkg -s name_packet - посмотреть статус пакета name_packet dpkg-reconfigure name_packet - пере конфигурация пакетов name_packet dpkg-reconfigure tzdatda - переконфигурировать пакет tzdata (временная зона) /etc/dpkg/dpkg.cfg - конфиг /var/log/dpkg.log - логи APT apt-get apt-get --help apt-get update - обновить список репозиториев apt-get upgrade - обновить пакеты apt-get install gmail-notify - установка пакета gmail-notify apt-get remove gmail-notify - удаление пакета gmail-notify apt-get autoremove - удалить все ненужные пакеты apt-cache --help apt-cache search gmail-notify - найти программу gmail-notify apt-cache show gmail-notify - показать информацию о пакете gmail-notify apt-cache depend gmail-notify - посмотреть от кого зависит пакета gmail-notify apt-cache rdepend gmail-notify - посмотреть кто зависит gmail-notify aptitude aptitude --help nano /etc/apt/sources.list - список репозиториев restricted - частично свободные universe - управляются сообществом multivers - не свободное main - стандартные |
Работа с пакетами redhat / CentOS RPM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
RPM rpm - стандартная программа управления пакетами RedHat, CentOS rpm --help rpm -iv name_packet.rpm - установка пакета rpm -e name_packet - удалить пакет rpm -K name_packet.rpm - проверить ключ пакета rpm -Vv name_packet - проверка пакетов name_packet (выведет список файлов и т.д.)также в случаи нарушения или редактирования покажет нарушения целостности (слева будет S.5....T.) rpm -q name_packet - проверка версии name_packet rpm -qi name_packet - выведет больше информации name_packet rpm -qd name_packet - покажет где документация name_packet rpm -qa name_packet - покажет где установлены все пакеты, пакета name_packet rpm2cpio - ультелита для распаковки rpm пакетов для других систем управления пакетами rpm2cpio name_packet.rpm > name_packet.cpio - преобразуем пакет less name_packet.cpio - можем посмотреть содержимое пакета YUM yum --help yum install name_packet - установка пакета name_packet yum remove name_packet - удаление пакета name_packet /etc/yum.repos.d/ - каталог с файлами репозиториев yum upgrade - обновление пакетов yumdownloader - ультелита для скачивания пакетов в папку. yum search name_packet - поиск пакетов name_packet |
Работа в командной строке
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
/bin/bash - шелл по умолчанию /etc/profile - настройки для всех профилей /home/username/.profile - настройка профиля для пользователя username /home/username/.bashrc - настройки оснастки bash у пользователя username cat /etc/password - посмотреть какой шелл используется у пользователей cat - вывод содержимого файла в консоль cd - переход в каталог ls - вывод содержимого каталога echo - вывод текста в консоль echo Hello; ls; echo Bye - выведет Hello , выполнит команду ls, выведет Bye (для bash знак ";" новая строка ) touch - обновление времени редактирования файла или создать пустой файл file - справка по файлу whatis - справка по названию history - вывод истории команд env - вывод переменных среды pwd - текущий каталог export - задание переменной unset - отключение переменной uname - выведет Linux uname -a - покажет версию ядра и дистрибутив Создание своей переменной ABC=123 - создаем значение export ABC - добавляем переменную env - убедится что переменная добавилась echo $ABC - показать значение переменной unset ABC - отменить переменную Добавление в существующую переменную PATCH=$PATH:. - добавить к переменно patch текущий каталог (.) Каталоги ~ - домашний каталог ~- - ссылка на предыдущую рабочею папку . - ссылка на текущую папку .. - ссылка на папку, расположенную над текущей Механизмы подстановки ? - любой символ * - любое кол-во любых символов (в том числе ни одного), но не*-файлы! ** - любые файлы и каталоги, в том числе из всех подкаталогов [abc] - один из символов указанный в скобках (диапазон) (применяют при поиске) ls [1-3].txt - покажет файлы 1.txt 2.txt 3.txt {1,2,3,4} - один из символов указанный (последовательно) (применяют при создании) touch {1,2,3}.txt - создаст три файла 1.txt 2.txt 3.txt [a-f] - символ из указанного диапазона [!abc] - любые символы, кроме тех, что указаны в скобках man -k http - найти мануалы по http Работа с текстовыми патоками файлы не трогаются все выводится на экран. cat - выводит содержимое файлов и может склеивать файлы cut - выводит содержимое на экран вырезая не нужные символы expand - выводит на экран преобразует символы табуляции в пробелы unexpad - преобразует пробелы в TAB fmt - убирает переносы строки fmt -w 5 - выведет на строке не больше 5 символов head - покажет начала файла 10 строк head -n 3 - покажет первые 3 троки tail - покажет конец файла 10 строк od - конвертация файлов ( по умолчанию 8код) join - объединяет строчки файлов по общему полю less - читать файл nl - нумерует строки paste - объединяет строки файлов pr - подготавливает и показывает как будет выглядить печать sed - замена слов, букв и т.д. в файле sort - сортировка слов split - разбивание фалов (строки, байты и т.д.) tr - переводит и удаляет символы uniq - ищет дубли в файле, покажет дубли, wc - показывает кол символов, слов, строк Основные операции с файлами cp mv ls rm mkdir touch find dd gzip bzip2 xz tar cpio - двоичный архиватор ls | cpio -o > archiv.cpio - вот так архивируем cd extract | cpio -id < archiv.cpio - распаковка |