Пакеты – это архивы с ПО, в них содержатся бинарные и конфигурационные файлы, информация об установке и исполняемые файлы.
Пакеты делятся на 2 типа:
- .deb - содержат исполняемые файлы и файлы настроек (Бинарные)
- .src - содержат исходный код и описание (С исходным кодом)
Зависимости - когда одни пакеты требуют другие.
Репозиторий в Linux - место, где хранятся пакеты данного дистрибутива(также содержит зависимости)
Формат репозиторий: <type>-<url>-<release >-<component1>-<component2>
- Type: deb, deb-src
- URL: URL репозитория
- Release: release, release-secutiry, release-updates, release-backports,
partner - Component: main, restricted, universe, multiverse
deb Index of /packages/ubuntu/ trusty nginx
Утилита add-apt-repository
Команда: add-apt-repository ppa:репозиторий/ppa
sudo add-apt-repository ppa:nginx/stable
Основные команды apt:
apt-get update — обновление индекса пакетов
apt-get upgrade — обновление пакетов
apt-get install zip — установка пакетов
apt-get download nethogs — загрузка пакетов без установки
apt-get remove package — удаление пакетов
apt-get purge package — удаление пакета и конфигов
apt-cache search atari — поиск слова в описании пакетов
apt-cache pkgnames atari — поиск пакета по началу имени
apt-cache show stella — описание пакета
apt-cache depends stella — просмотр зависимостей пакета
apt-get autoclean — чистка кэша APT
Управление процессами
Сироты
Обычно освобождение структур ядра, относящихся к процессу, выполняет процесс-
родитель после получения от потомка сигнала о завершении. Но бывают случаи,
когда родительский процесс завершается раньше дочернего.
“Сироты” - это процессы не имеющие родителя. “Сироты” автоматически
усыновляются процессом init, который и принимает сигналы об их завершении.
Если процесс-родитель или init по каким-то причинам не может принять сигнал о
завершении дочернего процесса, то процесс-потомок превращается в “зомби” и
получает статус Z.
Зомби
При завершении процесса должна удаляться его структура из списка процессов.
Иногда процесс уже завершился, но его имя еще не удалено из списка процессов. В
этом случае процесс становится зомби - его уже нет, но мы его видим в таблице
команды top.
Такое может произойти, если процесс-потомок (дочерний процесс) завершился
раньше, чем этого ожидал процесс-родитель.
Процессы-зомби не занимают процессорного времени (т. е. их выполнение
прекращается), но соответствующие им структуры ядра не освобождаются. В
некотором смысле это «мертвые» процессы.
Демоны
Так же, говоря о процессах в линуксе, можно выделить особый вид
процессов - демоны. Данный вид процессов работает в фоне (подобно
службам в Windows), без терминала и выполняет задачи для других
процессов. Данный вид процессов на серверных системах является
основным.
Команда ps
- ps aux - Показать все процессы в системе
- ps -ef - Показать все процессы с отображением отношения «предок-потомок»
- ps -l - Узнать приоритет процесса
Значение полей:
- USER — имя владельца процесса;
- PID — идентификатор процесса в системе;
- PPID — идентификатор родительского процесса;
- %CPY — доля времени центрального процессора (в процентах), выделенного данному процессу;
- %MEM — доля реальной памяти (в процентах), используемая данным процессом;
- STIME — время старта процесса;
- S или STAT — статус процесса;
- PRI — приоритет планирования;
- NI — значение псе
- TIME — сколько времени центрального процессора занял данный процесс;
- CMD или COMMAND — командная строка запуска программы, выполняемой данным процессом;
Статусы процессов:
- R — выполняемый процесс, ожидающий только момента, когда планировщик задач выделит ему очередной квант времени;
- S — процесс “спит”;
- D — процесс находится в состоянии подкачки на диске;
- T — остановленный процесс;
- Z — процесс-зомби
Команда Top
Значения полей:
- PID - идентификатор процесса
- USER - имя пользователя, который является владельцем процесса
- PR - приоритет процесса
- NI - значение “МСЕ”, влияющие на приоритет процесса 0
- VIRT - объем виртуальной памяти, используемый процессом
- RES - объем физической памяти, используемый процессом
- SHR - объем разделяемой памяти процесса
- S - указывает на статус процесса: S=sleep (ожидает событий) R=running (работает)
- Z=zombie (ожидает родительский процесс)
- %CPY - процент использования центрального процессора данным процессом
- %MEM - процент использования оперативной памяти данным процессом
- TIME+ - общее время активности процесса
- COMMAND - имя процесса
Горячие клавиши:
- Shift+N — сортировка по PID;
- Shift+A — сортировать процессы по возрасту;
- Shift+P — сортировать процессы по использованию ЦПУ;
- Shift+M — сортировать процессы по использованию памяти;
- Shift+T — сортировка по времени выполнения;
- K — завершить процесс (его PID будет запрошен);
- R — переопределить значение nice для некоторого процесса.
Сигналы
Сигналы — это средство, с помощью которого процессам можно передать сообщения о некоторых событиях в системе (приостановка процесса, запуск приостановленного процесса, завершение работы процесс и т.д)
Основные сигналы:
- 2(INT) - Interrupt. В случае выполнения простых команд, вызывает прекращение выполнения, в интерактивных программах — прекращение активного процесса
- 9(KILL) - Всегда прекращает выполнение процесса
- 15(TERM) - Software Termination. Требование закончить
- процесс (программное завершение)
- 18(CONT) - Продолжение выполнения приостановленного
- процесса
- 19(STOP) - Приостановка выполнения процесса
kill [-сигн] PID [PID] - посылает сигнал процессу; сигн - номер сигнала, по умолчанию 15
GUI
Оконный менеджер (Window manager) - программа, которая управляет отображением, может являться частью среды рабочего стола или работать отдельно
Среда рабочего стола (Desktop environment) - предоставляет полнофункциональное графическое окружение для системы, включающее набор графических приложений, утилит и компонентов рабочего стола
Основные среды рабочего стола:
- GNOME
- KDE
- Unity
- Xfce
- Cinnamon
- MATE
Команды для линуксоиды ебаной
-
Команда pwd
Используйте команду pwd, чтобы узнать путь к текущему рабочему каталогу (папке), в котором вы находитесь от корневого каталога. -
Команда cd
Для навигации по файлам и каталогам Linux используйте команду cd. Она требует либо полный путь, либо имя каталога, в зависимости от текущего рабочего каталога, в котором вы находитесь.
cd … - перейти на каталог выше
cd, - перейти прямо в домашнюю папку
cd- (с дефисом) - перейти к предыдущему каталогу -
Команда ls
Команда ls используется для просмотра содержимого каталога.
ls /path - показать содержимое каталога /path
ls -R - также выведет список всех файлов в подкаталогах
ls -a - покажет скрытые файлы
ls -al - выведет список файлов и каталогов с подробной информацией, такой как разрешения, размер, владелец и т. д. -
Команда cat
cat (сокращение от concatenate) — используется для вывода содержимого файла в командной строке (sdout).
cat file.txt - выведет в строку содержимое файла file.txt
cat> filename - создаёт новый файл
cat filename1 filename2>filename3 - объединяет два файла (1 и 2) и сохранит их содержимое в новом файле (3)
Чтобы преобразовать файл в верхний или нижний регистр cat filename | tr a-z A-Z >output.txt -
Команда cp
Используйте команду cp для копирования файлов из текущего каталога в другой каталог.
cp scenery.jpg /home/username/Pictures создаст копию scenery.jpg (из текущего каталога) в каталог Pictures. -
Команда mv
Основное предназначение команды mv — перемещение файлов, хотя её также можно использовать для их переименования.
mv file.txt /home/username/Documents - переместит file.txt в /home/username/Documents
mv starojeimia.ext novojeimia.ext - переименует starojeimia.ext в novojeimia.ext -
Команда mkdir
Используйте команду mkdir, чтобы создать новый каталог. Если вы введёте mkdir Music, команда создаст каталог с именем Music.
Чтобы создать новый каталог внутри другого каталога, используйте эту базовую команду Linux mkdir Music/Newfile - создание каталога внутри другого каталога(Newfile в Music)
mkdir -p Music/2020/Newfile - создаст новый каталог 2020 (создаст каталог между двумя существующими каталогами) -
Команда rmdir
Если вам нужно удалить каталог, используйте команду rmdir. Однако rmdir позволяет удалять только пустые директории. -
Команда rm
Команда rm используется для удаления файлов. Если вы хотите удалить каталог со всем его содержимым, в качестве альтернативы rmdir используйте rm с опцией -r. -
Команда touch
Команда touch позволяет создать новый пустой файл через командную строку Linux. -
Команда locate
Используйте эту команду, чтобы найти нужный вам файл. Она работает, как команда поиска в Windows. Более того, аргумента -i сделает команду нечувствительной к регистру, благодаря чему вы сможете искать файлы, даже если вы не помните их точные названия. -
Команда find
Подобно команде locate, find также выполняет поиск файлов и каталогов. Разница в том, что команда find используется для поиска файлов в текущем каталоге. -
Команда grep
С её помощью совершается поиск по всему тексту в текущем файле.
grep ubuntu notepad.txt - будет искать слово ubuntu в файле notepad.txt. Строки, содержащие искомое слово, будут отображаться полностью. -
Команда sudo
Сокращенно от «SuperUser Do», эта команда позволяет выполнять задачи, требующие прав администратора или root. -
Команда df
Используйте команду df, чтобы получить отчёт об использовании дискового пространства в системе в процентах и килобайтах. Если вы хотите просмотреть отчёт в мегабайтах, введите df -m -
Команда du
Если вы хотите проверить, сколько места занимает файл или каталог, воспользуйтесь командой du (Disk Usage). Однако вместо размера в обычном формате, в сводке вы увидите количество блоков диск. Если вы хотите посмотреть информацию в байтах, килобайтах и мегабайтах, добавьте аргумент -h в командную строку. -
Команда head
Команда head используется для просмотра первых строк любого текстового файла. По умолчанию она покажет первые десять строк, но вы можете изменить это число. Например, если вы хотите показывать только первые пять строк, введите head -n 5 filename.ext -
Команда tail
Эта команда имеет функцию, аналогичную команде head, но вместо отображения первых строк tail выводит последние десять строк текстового файла. Например, tail -n filename.ext -
Команда diff
Команда сравнивает содержимое двух файлов построчно. После анализа файлов будут выведены строки, которые не совпадают.
diff file1.ext file2.ext - file1.ext сравнит с file2.ext -
Команда tar
tar Linux — встроенный архиватор.
Синтаксис команд для создания и распаковки архива практически не отличается (в том числе с утилитами сжатия bzip2 или gzip). Так, чтобы создать новый архив, в терминале используется следующая конструкция:
tar опции архив.tar файлы_для_архивации
Для его распаковки:
tar опции архив.tar
С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы file1, file2 и file3:
tar --totals --create --verbose --file archive.tar file1 file2 file3
Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:
tar --totals -cvf archive.tar file1 file2 file3
Следующая команда выводит содержимое архива, не распаковывая его:
tar -tf archive.tar
Распаковывает архив test.tar с выводом файлов на экран:
tar -xvf archive.tar
-
Команда chmod
Система полномочий в Linux имеет очень важное значение, поскольку благодаря ей можно разделять привилегии между пользователями, ограничить доступ к нежелательным файлам или возможностям.
chmod опции права /путь/к/файлу
-
r - чтение
-
w - запись
-
x - выполнение
-
s - выполнение от имени суперпользователя (дополнительный)
-
u - владелец файла
-
g - группа файла
-
o - все остальные пользователи
u+x - разрешить выполнение для владельца
ugo+x - разрешить выполнение для всех
ug+w - разрешить запись для владельца и группы
o-x - запретить выполнение для остальных пользователей
ugo+rwx - разрешить все для всех
- 0 - никаких прав
- 1 - только выполнение
- 2 - только запись
- 3 - выполнение и запись
- 4 - только чтение
- 5 - чтение и выполнение
- 6 - чтение и запись
- 7 - чтение запись и выполнение
744 - разрешить все для владельца, а остальным только чтение
755 - все для владельца, остальным только чтение и выполнение
764 - все для владельца, чтение и запись для группы, и только чтение для остальных
777 - всем разрешено все
-
Команда chown
В Linux все файлы принадлежат конкретному пользователю. Команда chown позволяет изменить или перенести владельца файла на указанное имя пользователя. Например, chown linuxuser2 file.ext сделает linuxuser2 владельцем file.ext -
Команда jobs
Команда jobs отображает все текущие задачи вместе с их статусами. Задача — это процесс, запущенный в фоновом режиме. -
Команда kill
Если у вас есть не отвечающая программа, вы можете завершить её вручную, используя команду kill.
kill [опция сигнала] PID
Если вы не знаете PID, просто запустите команду ps ux
2 основных сигнала:
SIGTERM (15) — просит программу прекратить работу и даёт ей некоторое время, чтобы сохранить весь прогресс. Если вы не указали сигнал при вводе команды kill, этот сигнал будет использоваться по умолчанию.
SIGKILL (9) — принудительно останавливает программы. Несохранённый прогресс будет потерян. -
Команда ping
Используйте команду ping для проверки состояния подключения к серверу. -
Команда wget
Командная строка Linux очень полезна — вы можете загружать файлы из интернета. Сделать это можно с помощью команды wget. Для этого просто введите wget и ссылку для скачивания. -
Команда uname
Команда uname, сокращение от Unix Name, выведет подробную информацию о вашей системе Linux. -
Команда top
Являясь эквивалентом диспетчера задач в Windows, команда top выводит список запущенных процессов, а также информацию о том, сколько ЦП использует каждый процесс. -
Команда history
Регулярно пользуясь Linux, вы заметите, что запускаете сотни команд каждый день. Команда history позволяет просмотреть команды, которые вы вводили ранее. -
Команда man
Неуверены в функциях некоторых команд Linux? Не беспокойтесь, вы можете легко научиться использовать их прямо из оболочки Linux с помощью команды man. Например, man tail покажет инструкцию к команде tail. -
Команда echo
Эта команда выводит текст в stdout (стандартный вывод). Оператор >> дописывает stdout в файл. Также есть оператор >, который создаст файл, если он не существует и выведет туда текст или перезапишет существующий файл.
Например, если вы хотите добавить текст «Здравствуйте, меня зовут Джон» в файл с именем name.txt, введите echo Здравствуйте, меня зовут Джон >> name.txt. -
Команда zip, unzip
Используйте команду zip для сжатия ваших файлов в zip-архив, а команду unzip для извлечения zip-файлов из zip-архива. -
Команда hostname
Если вы хотите узнать имя вашего хоста/сети, просто введите hostname. Добавление -I в конце выведет IP-адрес вашей сети. -
Команда useradd, userdel
useradd используется для создания нового пользователя, в то время как passwd добавляет пароль к учётной записи этого пользователя. Чтобы добавить нового пользователя с именем Джон, введите useradd John. А затем, чтобы добавить пароль, напишите passwd 123456789.
Чтобы удалить пользователя Джон введите userdel John