GNU/Linux
#linux
1
1: GNU / Linux 2
Examples 2
, 2
2
/ 4
Linux 6
8
8
8
/ , 9
/ 10
11
11
11
11
11
12
12
13
13
/ 13
13
, 14
2: GnuPG (GPG) 15
15
Examples 15
GnuPG 15
15
3: Midnight Commander 17
17
Examples 17
Midnight Commander 17
Midnight Commander 17
4: SCP 19
19
Examples 19
19
19
CWD 19
19
19
, «-r» scp 20
5: (SSH) 21
21
Examples 21
21
OpenSSH 22
22
SSH 22
ssh 23
( ) 23
6: 24
24
24
Examples 24
24
24
24
24
25
, 25
, 25
7: (chroot) 26
26
26
Examples 26
26
27
chroot 27
8: ls 28
Examples 28
ls . 28
ls 29
9: tee 30
30
30
30
30
Examples 30
stdout, 30
31
31
tee 31
10: Linux 32
Examples 32
Linux Ubuntu 32
Ubuntu> = 13.04 32
11: 34
34
Examples 34
34
IP- 35
DNS 36
DNS- 37
37
IP route 37
IP-, ip 38
- 38
12: 40
Examples 40
apt 40
pacman 40
pacman 40
yum 41
13: Linux 43
43
Examples 43
, debian 43
, RHEL / CentOS / Fedora 44
, 44
Uname - 45
: 45
46
linux os ( debian & rpm) 46
cat / etc / * release 46
GNU coreutils 46
14: Linux 48
Examples 48
48
Linux. 48
15: 50
50
Examples 50
50
/ 51
52
52
53
CPU, , ( -) 53
53
53
54
54
54
, lscpu lshw 54
16: 56
Examples 56
56
56
17: 60
60
Examples 60
60
chsh : 61
Shell 61
61
62
63
63
18: 65
Examples 65
Ubuntu 65
Systemd 65
65
( SysV) 65
65
66
66
d 66
19: «tar» 67
67
Examples 67
67
68
68
68
69
69
20: 70
70
Examples 70
LAMP Arch Linux 70
HTTP 70
PHP 71
MySQL 71
LAMP Ubuntu 72
LAMP CentoOS 72
- Apache 72
MariaDB 73
PHP 73
21: 75
75
Examples 75
75
75
75
77
ОколоYou can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: gnu-linux
It is an unofficial and free GNU/Linux ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official GNU/Linux.
The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.
Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to [email protected]
https://riptutorial.com/ru/home 1
глава 1: Начало работы с GNU / Linux
Examples
Привет, мир
Введите следующий код в свой терминал и нажмите Enter :
echo "Hello World"
Это приведет к следующему результату:
Hello World
Манипуляция файлами
Файлы и каталоги (другое имя для папок) лежат в основе Linux, поэтому возможность создавать, просматривать, перемещать и удалять их из командной строки очень важна и достаточно мощна. Эти команды манипулирования файлами позволяют выполнять те же задачи, что и графический проводник файлов.
Создайте пустой текстовый файл myFile :
touch myFile
Переименуйте myFile в myFirstFile :
mv myFile myFirstFile
Просмотр содержимого файла:
cat myFirstFile
Просмотр содержимого файла с пейджером (по одному экрану за раз):
less myFirstFile
Просмотрите первые несколько строк файла:
head myFirstFile
Просмотрите последние несколько строк файла:
https://riptutorial.com/ru/home 2
tail myFirstFile
Редактирование файла:
vi myFirstFile
Посмотрите, какие файлы находятся в вашем текущем рабочем каталоге:
ls
Создайте пустой каталог с именем myFirstDirectory :
mkdir myFirstDirectory
Создание каталога с несколькими путями: (создает два каталога, src и myFirstDirectory)
mkdir -p src/myFirstDirectory
Переместите файл в каталог:
mv myFirstFile myFirstDirectory/
Вы также можете переименовать файл:
user@linux-computer:~$ mv myFirstFile secondFileName
Измените текущий рабочий каталог на myFirstDirectory :
cd myFirstDirectory
Удалить файл:
rm myFirstFile
Переместитесь в родительский каталог (который представлен как .. ):
cd ..
Удалить пустой каталог:
rmdir myFirstDirectory
Удалите непустую папку (т. Е. Содержит файлы и / или другие каталоги):
rm -rf myFirstDirectory
https://riptutorial.com/ru/home 3
Обратите внимание, что при удалении каталогов, которые вы удаляете ./ not / , вы уничтожите всю вашу файловую систему.
Сведения о файле / каталоге
Команда ls имеет несколько параметров, которые могут использоваться вместе для отображения дополнительной информации.
Подробнее / Право
Параметр l показывает разрешения, размер и дату последнего изменения. Поэтому, если корневой каталог содержал dir, называемый test и файл someFile :
user@linux-computer:~$ ls -l
Вывести что-то вроде
-rw-r--r-- 1 user users 70 Jul 22 13:36 someFile.txt drwxrwxrwx 2 user users 4096 Jul 21 07:18 test
Разрешения находятся в формате drwxrwxrwx . Первый символ представляет тип файла d если это каталог - противном случае. Следующие три rwx - это разрешения, которые пользователь имеет над файлом, а следующие три - разрешения, которые группа имеет над файлом, а последние три - разрешения, которые все остальные имеют над файлом.
r rwx означает, что если файл можно прочитать, w представляет, может ли файл быть изменен, а x означает, что файл может быть выполнен. Если какое-либо разрешение не предоставляется a - будет вместо r , w или x .
Таким образом, user может читать и изменять someFile.txt но группа имеет права только на чтение.
Чтобы изменить права, вы можете использовать команду chmod ### fileName если у вас есть права sudo. r представлено значением 4, w представлено 2, а x представлено знаком 1. Таким образом, если вы хотите иметь возможность изменять содержимое в test каталоге
Owner rwx = 4+2+1 = 7 Group r-x = 4+0+1 = 5 Other r-x = 4+0+1 = 5
Таким образом, вся команда
chmod 755 test
Теперь, когда ls -l будет показывать что-то вроде
https://riptutorial.com/ru/home 4
drwxr-xr-x 2 user users 4096 Jul 21 07:20 test
Считываемый размер
Используется в сочетании с опцией l Опция h показывает размеры файлов, которые могут быть прочитаны человеком. Бег
user@linux-computer:~$ ls -lh
Выпустил бы:
total 4166 -rw-r--r-- 1 user users 70 Jul 22 13:36 someFile.txt drwxrwxrwx 2 user users 4.0K Jul 21 07:18 test
скрытый
Для просмотра скрытых файлов используйте параметр a . Например
user@linux-computer:~$ ls -a
Список возможных
.profile someFile.txt test
Общий размер каталога
Для просмотра размера текущего каталога используйте параметр s (опция h также может использоваться, чтобы сделать размер более читаемым).
user@linux-computer:~$ ls -s
Выходы
total 4166 someFile.txt test
Рекурсивный просмотр
Допустим, у test каталога был файл anotherFile и вы хотели его увидеть из корневой папки, вы могли бы использовать опцию R которая будет anotherFile рекурсивное дерево.
user@linux-computer:~$ ls -R
Выходы
https://riptutorial.com/ru/home 5
.: someFile.txt test ./test: anotherFile
Основные утилиты Linux
Linux имеет команду практически для любых задач, и большинство из них интуитивно понятны и легко интерпретируются.
Получение справки в Linux
команда Юзабилити
man <name> Прочтите страницу руководства <имя>.
man <section> <name>Прочтите страницу руководства <имя>, относящуюся к данному разделу.
man -k <editor>Выведите все программное обеспечение, man-страницы которого содержат ключевое слово <editor>.
man -K <keyword>Выводит все man-страницы, содержащие <keyword> внутри них.
apropos <editor>Выведите все приложения, одно из которых соответствует редактору слов. Если вы не можете вспомнить имя приложения, используйте эту команду.
helpВ оболочке Bash будет отображаться список всех доступных команд bash.
help <name>В оболочке Bash будет отображаться информация о команде <name> bash.
info <name> Просмотреть всю информацию о <имя>.
dpkg -lВыведите список всех установленных пакетов в системе на базе Debian.
dpkg -L packageNameПеречислит установленные файлы и данные о пути для данного пакета на Debian.
dpkg -l | grep -i <edit>Верните все установленные .deb пакеты с <edit> независимо от случаев.
less Возвращает описания всех доступных пакетов.
https://riptutorial.com/ru/home 6
команда Юзабилити
/var/lib/dpkg/available
whatis vim Перечислите однострочное описание vim.
<command-name> --helpОтобразите информацию об использовании <имя-инструмента>. Иногда command -h также работает, но не для всех команд.
Идентификация пользователя и кто есть кто в мире Linux
команда Юзабилити
hostname Отобразить имя хоста системы.
hostname -f Отображает полное доменное имя (FQDN) системы.
passwd Измените пароль текущего пользователя.
whoami Имя пользователя, вошедшего в систему на терминале.
who Список всех пользователей, которые вошли в систему как пользователь.
wОтображение текущего состояния системы, времени, продолжительности, списка пользователей, которые в настоящее время регистрируются в системе и другой информации о пользователе.
last Кто недавно использовал эту систему.
last root Когда в последний раз root регистрировался как пользователь.
lastb Показывает все неудачные попытки входа в систему.
chmod Изменение разрешений - чтение, запись, выполнение файла или каталога.
Информация о процессе
команда Юзабилити
top
Перечислите все процессы, отсортированные по их текущему использованию системных ресурсов. Отображает постоянно обновляемое отображение процессов (по умолчанию 3 секунды). Используйте клавишу q для выхода сверху.
ps Перечислить процессы, выполняемые в текущий сеанс оболочки
https://riptutorial.com/ru/home 7
команда Юзабилити
ps -u root Список всех процессов и команд root запущен
ps aux Перечислите все процессы всеми пользователями в текущей системе
Команды управления файлами
Linux использует некоторые соглашения для настоящих и родительских каталогов. Это может быть немного запутанным для начинающих.
Всякий раз, когда вы находитесь в терминале в Linux, вы попадаете в то, что называется текущим рабочим каталогом . Часто в командной строке будет отображаться либо полный рабочий каталог, либо только последняя часть этого каталога. Ваше приглашение может выглядеть как одно из следующих:
user@host ~/somedir $ user@host somedir $ user@host /home/user/somedir $
в котором говорится, что ваш текущий рабочий каталог /home/user/somedir .
В Linux .. представляет родительский каталог и . представляет текущий каталог.
Поэтому, если текущий каталог /home/user/somedir , то cd ../somedir не изменит рабочий каталог.
В приведенной ниже таблице перечислены некоторые из наиболее часто используемых команд управления файлами
Навигация по каталогу
команда Полезность
pwd Получить полный путь к текущему рабочему каталогу.
cd - Перейдите к последнему каталогу, в котором вы работали.
cd ~ или просто cd
Перейдите в домашний каталог текущего пользователя.
cd ..Перейдите в родительский каталог текущего каталога (помните пространство между cd и .. )
Список файлов внутри каталога
https://riptutorial.com/ru/home 8
команда Полезность
ls -lСписок файлов и каталогов в текущем каталоге в формате long (table) (
Рекомендуется использовать -l с ls для лучшей читаемости).
ls -ld dir-name Перечислите информацию о каталоге dir-name вместо его содержимого.
ls -aСписок всех файлов, включая скрытые (имена файлов, начинающиеся с . Являются скрытыми файлами в Linux).
ls -F
Добавляет символ в конце имени файла, чтобы указать его тип ( * означает исполняемый файл, / обозначает каталог, @ означает символическую ссылку, = обозначает сокет, означает именованный канал, > означает дверь).
ls -lt
Перечислите файлы, отсортированные по последнему измененному времени, с последними измененными файлами, отображаемыми вверху (помните, что опция -l предоставляет длинный формат, который имеет лучшую читаемость).
ls -lh Перечислите размеры файлов в формате для чтения.
ls -lR Показывает все подкаталоги рекурсивно.
treeБудет генерировать древовидное представление файловой системы, начиная с текущего каталога.
Файл / каталог создает, копирует и удаляет
команда Полезность
cp -p source destination
Скопирует файл из source в пункт назначения . -p означает сохранение. Он сохраняет исходные атрибуты файла при копировании, как владелец файла, метка времени, группа, разрешения и т. Д.
cp -R source_dir destination_dir Скопирует исходный каталог в указанный адрес рекурсивно.
mv file1 file2В Linux нет команды rename как таковой. Следовательно, mv перемещает / переименовывает файл1 в файл2.
rm -i filename
Просит вас перед каждым удалением файла для подтверждения. ЕСЛИ ВЫ НАХОДИТЕСЬ В НОВОМ ПОЛЬЗОВАТЕЛЕ ЛИНГОВОЙ КОМАНДЕ LINUX, ВЫ ДОЛЖНЫ ВСЕГДА ИСПОЛЬЗОВАТЬ rm -i . Вы можете указать несколько файлов.
https://riptutorial.com/ru/home 9
команда Полезность
rm -R dir-name Будет рекурсивно удалять директорий dir-name .
rm -rf dir-name
Удалит директорию dir рекурсивно, игнорируя несуществующие файлы и никогда не будет запрашивать что-либо. БУДЬТЕ ОСТОРОЖНЫ ИСПОЛЬЗОВАТЬ ЭТУ КОМАНДУ! Вы можете указать несколько каталогов.
rmdir dir-nameУдалит директорий dir-name , если он пуст. Эта команда может удалять только пустые каталоги.
mkdir dir-name Создайте каталог dir-name .
mkdir -p dir-name/dir-name
Создайте иерархию каталогов. Создавайте родительские каталоги по мере необходимости, если они не существуют. Вы можете указать несколько каталогов.
touch filenameСоздайте filename , если оно не существует, измените временную метку файла на текущее время.
Разрешения и группы файлов / каталогов
команда Полезность
chmod <specification> filename
Измените права доступа к файлу. Спецификации = u user, g group, o other, + add permission, - remove, r read, w write, x execute.
chmod -R <specification> dir-name
Измените разрешения каталога рекурсивно. Чтобы изменить разрешение каталога и все в этом каталоге, используйте эту команду.
chmod go=+r myfile Добавьте разрешение на чтение для владельца и группы.
chmod a +rwx myfileРазрешить всем пользователям читать, записывать или выполнять myfile .
chmod go -r myfile Удалите разрешение чтения из группы и других.
chown owner1 filename Измените право собственности на файл на owner1 пользователя1.
chgrp grp_owner filename
Измените принадлежность первичной группы имени filename к группе grp_owner .
Измените первичное групповое право собственности на каталог dir-name на группу grp_owner рекурсивно. Чтобы изменить
chgrp -R grp_owner dir-name
https://riptutorial.com/ru/home 10
команда Полезность
групповое владение каталогом и все в этом каталоге, используйте эту команду.
Полезные ссылки
Использование терминала
Примеры в этом документе предполагают, что вы используете POSIX-
совместимую оболочку (например, bash , sh , zsh , ksh ).
Большие порции функций GNU / Linux достигаются с помощью терминала. Большинство дистрибутивов Linux включают эмуляторы терминалов, которые позволяют пользователям взаимодействовать с оболочкой из среды рабочего стола. Оболочка - это интерпретатор командной строки, который выполняет команды, введенные пользователем. Bash (Bourne
Again SHell) является обычной оболочкой по умолчанию среди многих дистрибутивов Linux
и является оболочкой по умолчанию для macOS.
Эти ярлыки будут работать, если вы используете Bash с клавишами emacs (задано по умолчанию):
Открытый терминал
Ctrl + Alt + T или Super + T•
Движение курсора
Ctrl + A Перейдите к началу строки, на которой вы сейчас печатаете.•Ctrl + E Перейдите к концу строки, на которой вы сейчас печатаете.•Ctrl + XX Перемещение между началом строки и текущей позицией курсора.•Alt + F Переместите курсор вперед на одно слово в текущей строке.•Alt + B Переместить курсор назад на одно слово в текущей строке.•Ctrl + F Переместите курсор вперед по одному символу в текущей строке.•Ctrl + B Переместить курсор назад на один символ в текущей строке.•
Текстовые манипуляции
Ctrl + U Отрежьте линию от текущей позиции до начала строки, добавив ее в буфер обмена. Если вы находитесь в конце строки, обрезайте всю строку.
•
Ctrl + K Отрежьте линию от текущей позиции до конца строки, добавив ее в буфер обмена. Если вы находитесь в начале строки, обрезайте всю строку.
•
Ctrl + W Удалить слово перед курсором, добавив его в буфер обмена.•
https://riptutorial.com/ru/home 11
Ctrl + Y Вставить последнее сообщение из недавно сделанного буфера обмена (отменить последнее удаление в текущей позиции курсора).
•
Alt + T Переведите последние два слова перед курсором.•Alt + L Сделайте строчный регистр от курсора до конца слова.•Alt + U Сделайте верхний регистр от курсора до конца слова.•Alt + C Заканчивать до конца слова, начиная с курсора (целое слово, если курсор находится в начале слова).
•
Alt + D Удалить до конца слова, начинающегося с курсора (целое слово, если курсор находится в начале слова).
•
Alt +. Распечатывает последнее слово, записанное в предыдущей команде.•Ctrl + T Переведите последние два символа перед курсором.•
Доступ к истории
Ctrl + R Позволяет выполнять поиск с использованием ранее использованных команд.•Ctrl + G Оставьте режим поиска истории без запуска команды.•Ctrl + J Позволяет скопировать текущую согласованную команду в командную строку без ее запуска, что позволяет вам вносить изменения перед запуском команды.
•
Alt + R Отменить любые изменения в команде, которую вы вытащили из своей истории, если вы ее отредактировали.
•
Ctrl + P Показывает последнюю выполненную команду, т.е. пройдите назад по истории команд (аналогично стрелке вверх).
•
Ctrl + N Показывает следующую выполненную команду, т.е. пройдите вперед по истории команд (аналогично стрелке вниз).
•
Управление терминалом
Ctrl + L Очищает экран, аналогично команде clear.•
Ctrl + S Остановить весь вывод на экране. Это полезно при запуске команд с большим количеством длинного вывода. Но это не останавливает выполнение команды.
•
Ctrl + Q Возобновить вывод на экран после остановки с помощью Ctrl + S.•
Ctrl + C Завершите текущий процесс и верните приглашение.•Ctrl + D Выйти из текущего сеанса оболочки, аналогично команде exit или logout. В некоторых командах действует как сигнал конца файла, чтобы указать, что конец файла был достигнут.
•
Ctrl + Z приостанавливает (приостанавливает) текущий выполняемый процесс переднего плана, который возвращает приглашение оболочки. Затем вы можете использовать команду bg позволяющую этому процессу работать в фоновом режиме. Чтобы снова перенести этот процесс на передний план, используйте команду fg . Чтобы просмотреть все фоновые процессы, используйте команду jobs .
•
Вкладка « Автоматическое заполнение файлов и имен каталогов».•Вкладка•
https://riptutorial.com/ru/home 12
Tab Показывает все возможности, когда введенные символы не однозначно совпадают с именем файла или каталога.
Специальные символы
Ctrl + H То же, что и Backspace.•
Ctrl + J То же, что и Return (исторически Line Feed).•
Ctrl + M То же, что и Return (исторически Возврат каретки).•
Ctrl + I То же, что и Tab.•
Символ Ctrl + G Bell.•Ctrl + @ Null Character.•Esc Deadkey эквивалентен модификатору Alt .•
Закрыть терминалCtrl + Shift + W Чтобы закрыть вкладку терминала.•Ctrl + Shift + Q Чтобы закрыть весь терминал.•
Кроме того, вы можете переключиться на vi- привязки в bash, используя set -o vi . Используйте set -o emacs чтобы вернуться к клавишам emacs .
Поиск файлов по шаблонам в имени / содержании
Частью и задачей кого-то, использующего командную строку Linux (shell), является поиск файлов / каталогов с определенным именем или содержащий определенный текст. Для этого вам необходимо ознакомиться с двумя командами:
Поиск файлов по названию
find /var/www -name '*.css'
Это будет распечатывать полный путь / имя файла для всех файлов в /var/www которые заканчиваются на .css . Пример вывода:
/var/www/html/text-cursor.css /var/www/html/style.css
Для получения дополнительной информации:
man find
https://riptutorial.com/ru/home 13
Поиск файлов, содержащих текст
grep font /var/www/html/style.css
Это напечатает все строки, содержащие font в указанном файле. Пример вывода:
font-weight: bold; font-family: monospace;
Другой пример:
grep font /var/www/html/
Это не работает, как вы надеялись. Ты получаешь:
grep: /var/www/html/: Is a directory
Вам нужно grep рекурсивно, чтобы он работал, используя параметр -R :
grep -R font /var/www/html/
Привет! Проверьте выход этого:
/var/www/html/admin/index.php: echo '<font color=red><b>Error: no dice</b></font><br/>'; /var/www/html/admin/index.php: echo '<font color=red><b>Error: try again</b></font><br/>'; /var/www/html/style.css: font-weight: bold; /var/www/html/style.css: font-family: monospace;
Обратите внимание, что когда grep сопоставляет несколько файлов, он префикс совпадающих строк с именами файлов. Вы можете использовать опцию -h чтобы избавиться от этого, если хотите.
Для получения дополнительной информации:
man grep
Прочитайте Начало работы с GNU / Linux онлайн: https://riptutorial.com/ru/linux/topic/345/
начало-работы-с-gnu---linux
https://riptutorial.com/ru/home 14
глава 2: GnuPG (GPG)
Вступление
GnuPG - это сложная система управления ключами, которая позволяет безопасно записывать или шифровать данные. GPG - это инструмент командной строки, используемый для создания и управления ключами GnuPG.
GnuPG наиболее широко используется для подключения SSH (Secure Shell) без пароля или любых средств интерактивной аутентификации, что значительно повышает уровень безопасности.
В следующих разделах описываются способы создания, использования и обеспечения безопасности ключей GnuPG.
Examples
Быстрое создание и использование ключа GnuPG
Установите hasged (например, sudo apt-get install haveged ), чтобы ускорить процесс случайного байта. Затем:
gpg --gen-key gpg --list-keys
выходы:
pub 2048R/NNNNNNNN 2016-01-01 uid Name <[email protected]> sub 2048R/xxxxxxxx 2016-01-01
Затем опубликуйте:
gpg --keyserver pgp.mit.edu --send-keys NNNNNNNN
Затем планируйте отмену: https://www.hackdiary.com/2004/01/18/revoking-a-gpg-key/
Экспорт открытого ключа
Для того, чтобы ваша государственно-частная ключевая пара была полезной, вы должны сделать свой открытый ключ доступным для других. Убедитесь, что вы работаете с вашим открытым ключом, так как вы никогда не должны делиться своим личным ключом. Вы можете экспортировать свой открытый ключ с помощью следующей команды:
https://riptutorial.com/ru/home 15
gpg —armor —export EMAIL_ADDRESS > public_key.asc
где EMAIL_ADDRESS - адрес электронной почты, связанный с ключом
В качестве альтернативы вы можете загрузить свой открытый ключ на сервер открытого ключа, например keys.gnupg.net, чтобы другие могли его использовать. Чтобы сделать это, введите в терминал следующее:
gpg —list-keys
Затем найдите 8-значную строку (первичный идентификатор), связанный с ключом, который вы хотите экспортировать. Затем выполните команду:
gpg —send-keys PRIMARY_ID
где PRIMARY_ID - это фактический идентификатор этого ключа.
Теперь закрытый ключ был загружен на сервер ключей и доступен для общественности.
Прочитайте GnuPG (GPG) онлайн: https://riptutorial.com/ru/linux/topic/2533/gnupg--gpg-
https://riptutorial.com/ru/home 16
глава 3: Midnight Commander
Вступление
Midnight Commander или mc является консольным файловым менеджером. Этот раздел включает в себя описание его функциональных возможностей и примеров и советов о том, как использовать его для его полного потенциала.
Examples
Функциональные клавиши Midnight Commander в режиме просмотра
Ниже приведен список действий, которые могут запускаться в режиме просмотра файловой системы Midnight Commander с помощью функциональных клавиш на клавиатуре.
F1 Отображает справку
F2 Открывает меню пользователя
F3 Отображает содержимое выбранного файла
F4 Открывает выбранный файл во внутреннем редакторе файлов
F5 Копирует выбранный файл в каталог, открытый во второй панели
F6 Перемещает выбранный файл в каталог, открытый во второй панели
F7 Создает новый каталог в каталоге, открытом в текущей панели
F8 Удаляет выбранный файл или каталог
F9 Фокусируется на главном меню в верхней части экрана
F10 Выход mc
Функциональные клавиши Midnight Commander в режиме редактирования файлов
Midnight Commander имеет встроенный редактор, который запускается функциональной клавишей F4 когда над нужным файлом находится режим просмотра. Его также можно вызвать в автономном режиме, выполнив
mcedit <filename>
https://riptutorial.com/ru/home 17
Вот список действий, которые могут быть активированы в режиме редактирования.
F1 Отображает справку
F2 Сохраняет текущий файл
F3 Отмечает начало выбора текста. Переместите курсор в любом направлении, чтобы выбрать. Второй удар - конец выбора.
F4 Выводит диалог поиска и замены текста
F5 Копирует выделенный текст в позицию курсора (копирование / вставка)
F6 Перемещает выделенный текст в положение курсора (вырезать / вставить)
F7 Выводит диалоговое окно поиска текста
F8 Удаляет выделенный текст
F9 Фокусируется на главном меню в верхней части экрана
F10 Выход из редактора
Прочитайте Midnight Commander онлайн: https://riptutorial.com/ru/linux/topic/9691/midnight-commander
https://riptutorial.com/ru/home 18
глава 4: SCP
Синтаксис
scp [-rv] [-i identity_file] [[user @] host1:] file1 ... [[user @] host2:] file2•
Examples
Основное использование
# Copy remote file to local dir scp [email protected]:/remote/path/to/foobar.md /local/dest # Copy local file to remote dir scp foobar.md [email protected]:/remote/dest # Key files can be used (just like ssh) scp -i my_key.pem foobar.md [email protected]:/remote/dest
Безопасная копия
Команда scp используется для безопасного копирования файла в удаленный пункт назначения или из него. Если файл находится в текущей работе напрямую, достаточно только имя файла, требуется дополнительный полный путь, который включает удаленное имя хоста, например, remote_user@some_server.org: / путь / в / файл
Скопируйте локальный файл в свой CWD в новый каталогscp localfile.txt /home/friend/share/
Скопируйте удаленный файл в текущий рабочий каталогscp [email protected]:/home/rocky/game/data.txt ./
Скопировать файл из одного удаленного
https://riptutorial.com/ru/home 19
места в другое удаленное местоположениеscp [email protected]:/beacon/light/bitmap.conf [email protected]:/beacon/night/
Чтобы скопировать каталог и подкаталоги, используйте «-r» рекурсивный вариант для scp
scp -r [email protected]:~/project/* ./workspace/
Прочитайте SCP онлайн: https://riptutorial.com/ru/linux/topic/5960/scp
https://riptutorial.com/ru/home 20
глава 5: Безопасная оболочка (SSH)
Вступление
Защищенная оболочка используется для удаленного доступа к серверу от клиента по зашифрованному соединению. OpenSSH используется как альтернатива соединениям Telnet, которые обеспечивают удаленный доступ к оболочке, но не зашифрованы. Клиент OpenSSH по умолчанию установлен в большинстве дистрибутивов GNU / Linux и используется для подключения к серверу. В этих примерах показано, как использовать пакет SSH для приема SSH-соединений и подключения к другому хосту.
Examples
Подключение к удаленному серверу
Чтобы подключиться к серверу, мы должны использовать SSH на клиенте следующим образом:
# ssh -p port user@server-address
port - прослушивающий ssh-порт сервера (порт 22 по умолчанию).•
user - должен быть существующий пользователь на сервере с привилегиями SSH.•
адрес сервера - IP / Domain сервера.•
Для примера в реальном мире можно сделать вид, что вы создаете сайт. Компания, которую вы решили разместить на своем сайте, сообщает вам, что сервер находится на веб- сервере www.servers.com на пользовательском порту 2020 года, и ваше имя учетной записи usr1 выбрано для создания пользователя на сервере с привилегиями SSH. В этом случае используемая команда SSH была бы такой
# ssh -p 2020 [email protected]
Если имя учетной записи в удаленной системе совпадает с именем локального клиента, вы можете оставить имя пользователя выключенным. Поэтому, если вы используете usr1 для обеих систем, тогда вы просто используете web-servers.com вместо [email protected] .
Когда сервер, к которому вы хотите подключиться, напрямую не доступен для вас, вы можете попробовать использовать переключатель ProxyJump для подключения к нему через другой доступный вам сервер и можете подключиться к желаемому серверу.
# ssh -J [email protected]:2020 [email protected] -p 2222
https://riptutorial.com/ru/home 21
Это позволит вам подключиться к серверу 10.0.0.2 (запуск ssh на порту 2222) через сервер в 10.0.0.1 (запуск ssh на порту 2020). Конечно, вам понадобятся учетные записи на обоих серверах. Также обратите внимание, что переключатель -J представлен в версии 7.3 для OpenSSH.
Установка пакета OpenSSH
Оба подключения к удаленному SSH-серверу и прием SSH-соединений требуют установки openssh
Debian:
# apt-get install openssh
Arch Linux:
# pacman -S openssh
Yum:
# yum install openssh
Создание открытого и закрытого ключа
Чтобы создать ключи для клиента SSH:
ssh-keygen [-t rsa | rsa1 | dsa ] [-C <comment>] [-b bits]
Например:
ssh-keygen -t rsa -b 4096 - C [email protected]
Место по умолчанию - ~/.ssh/id_rsa для частного и ~/.ssh/id_rsa.pub для открытого ключа.
Для получения дополнительной информации, пожалуйста, посетите man.openbsd.org
Настройка сервера SSH для приема соединений
Сначала мы должны отредактировать файл конфигурации демона SSH. Хотя в разных дистрибутивах Linux это может быть расположено в разных каталогах, обычно оно хранится в /etc/ssh/sshd_config
Используйте текстовый редактор, чтобы изменить значения, установленные в этом файле, все строки, начинающиеся с #, закомментированы и должны удалить этот символ, чтобы он вступил в силу. Список рекомендаций следует как таковой.
https://riptutorial.com/ru/home 22
Port (chose a number between 0 - 65535, normaly greater than four digits) PasswordAuthentication yes AllowUsers user1 user2 ...etc
Обратите внимание, что предпочтительнее отключать логины паролей вместе и использовать SSH-ключи для повышения безопасности, как описано в этом документе.
Отключить службу ssh
Это отключит службу на стороне сервера SSH, так как это необходимо, это гарантирует, что клиенты не смогут подключиться через ssh
Ubuntu
sudo service ssh stop
Debian
sudo /etc/init.d/ssh stop
Arch Linux
sudo killall sshd
Соединение без пароля (с использованием пары ключей)
Прежде всего, вам понадобится пара ключей. Если у вас его еще нет, взгляните на раздел «Создать тему для публичного и частного ключей».
Ваша пара ключей состоит из частного ключа (id_rsa) и открытого ключа (id_rsa.pub). Все, что вам нужно сделать, это скопировать открытый ключ на удаленный хост и добавить его содержимое в файл ~/.ssh/authorized_keys .
Один простой способ сделать это:
ssh <user>@<ssh-server> 'cat >> ~/.ssh/authorized_keys' < id_rsa.pub
После того, как открытый ключ правильно помещен в домашний каталог вашего пользователя, вам просто нужно войти в систему, используя соответствующий закрытый ключ:
ssh <user>@<ssh-server> -i id_rsa
Прочитайте Безопасная оболочка (SSH) онлайн: https://riptutorial.com/ru/linux/topic/7388/
безопасная-оболочка--ssh-
https://riptutorial.com/ru/home 23
глава 6: Изменение пользователей
параметры
параметр подробности
имя пользователя
Имя пользователя. Не используйте заглавные буквы, не используйте точки, не заканчивайте их в тире, он не должен содержать двоеточие, никаких специальных символов. Не может начинаться с числа.
замечания
Вы не можете удалить зарегистрированного пользователя•Чтобы изменить любого пользователя, кроме вашего, вам нужны привилегии root•
Examples
Настройка собственного пароля
passwd
Установка пароля другого пользователя
Запустите следующую команду root:
passwd username
Добавление пользователя
Запустите следующую команду root:
useradd username
Удаление пользователя
Запустите следующую команду root:
userdel username
https://riptutorial.com/ru/home 24
Удаление пользователя и его домашней папки
Запустите следующую команду root:
userdel -r username
Листинговые группы, в которых находится текущий пользователь
groups
Более подробную информацию о числовых идентификаторах пользователей и групп можно найти с помощью команды id .
Листинговые группы, в которых находится пользователь
groups username
Более подробную информацию о числовых идентификаторах пользователей и групп можно найти с id username .
Прочитайте Изменение пользователей онлайн: https://riptutorial.com/ru/linux/topic/6260/
изменение-пользователей
https://riptutorial.com/ru/home 25
глава 7: Изменить корень (chroot)
Вступление
Change root (chroot) - это операция, которая изменяет кажущуюся корневую директорию для текущего текущего процесса и их детей. Программа, запускаемая в такой модифицированной среде, не может обращаться к файлам и командам за пределами этого дерева справочной системы.
Синтаксис
chroot [путь назначения] [оболочка или команда]•
Examples
Ручное изменение корня в каталоге
Убедитесь, что вы выполнили все требования в соответствии с требованиями1.
Установите временные файловые системы API:
cd /location/of/new/root mount -t proc proc proc/ mount --rbind /sys sys/ mount --rbind /dev dev/ mount --rbind /run run/ (optionally)
2.
Если вам нужно использовать интернет-соединение в среде chroot, скопируйте данные DNS:
cp /etc/resolv.conf etc/resolv.conf
3.
Измените корень на / location / of / new / root, указав оболочку ( /bin/bash в этом примере):
chroot /location/of/new/root /bin/bash
4.
После chrooting может потребоваться загрузить локальную конфигурацию bash:
source /etc/profile source ~/.bashrc
5.
При желании, создайте уникальное приглашение, чтобы отличать среду chroot:6.
https://riptutorial.com/ru/home 26
export PS1="(chroot) $PS1"
Когда закончите с chroot, вы можете выйти из него через:
exit
7.
Отключите временные файловые системы:
cd / umount --recursive /location/of/new/root
8.
Требования
привилегии root•
другая рабочая среда Linux, такая как загрузка Live CD или существующий дистрибутив
•
соответствие архитектуры окружения источника и места chroot (проверить текущую архитектуру среды с uname -m )
•
модули ядра, которые могут потребоваться в среде chroot должны быть загружены (например, с modprobe )
•
Причины использования chroot
Смена корня обычно выполняется для выполнения системного обслуживания в системах, где загрузка и / или регистрация невозможна.
Общие примеры:
переустановка загрузчика•восстановление изображения initramfs•
обновления или понижения пакетов•сброс забытого пароля•создание программного обеспечения в чистой корневой среде•
Прочитайте Изменить корень (chroot) онлайн: https://riptutorial.com/ru/linux/topic/10727/
изменить-корень--chroot-
https://riptutorial.com/ru/home 27
глава 8: команда ls
Examples
Команда ls с большинством используемых опций.
ls показывает файлы и каталоги в текущем рабочем каталоге. (если аргументы не переданы). (По умолчанию не отображаются скрытые файлы, которые начинаются с.)
user@ubuntu14:/usr$ ls bin games include lib lib32 local sbin share src
Для просмотра всех файлов (скрытых файлов и папок). Использовать ls -a OR ls -all
user@ubuntu14:/usr$ ls -a . .. bin games include lib lib32 local sbin share src
Чтобы различать файлы и папки и символические ссылки и другие, используйте ls -F OR ls --classify
user@ubuntu14:~$ ls -F bash_profile_course chat_apps/ Desktop/ Downloads/ foxitsoftware/ Public/ test/ bin/ ClionProjects/ Documents/ IDE/ Music/ Pictures/ Templates/ Videos/
Здесь конечные символы используются для различения файлов и папок.
Справочник "/" предложить.
«*» Предлагает исполняемые файлы.
«@» Предлагает символические ссылки.
Чтобы получить более подробную информацию о файлах и каталогах, используйте ls -l
user@ubuntu14:~/example$ ls -l total 6464 -rw-r--r-- 1 dave dave 41 Dec 24 12:19 Z.txt drwxr-xr-x 2 user group 4096 Dec 24 12:00 a_directory -rw-r--r-- 1 user group 6 Dec 24 12:01 a_file lrwxrwxrwx 1 user group 6 Dec 24 12:04 a_link -> a_file -rw-r--r-- 1 user group 6 Dec 24 12:03 a_newer_file -rw-r----- 1 user group 6586816 Dec 24 12:07 big.zip
В этом примере общий размер содержимого составляет 6460 КБ.
Затем есть запись для каждого файла / каталога в алфавитном порядке с верхним
https://riptutorial.com/ru/home 28
регистром до нижнего регистра.
Первым символом является тип (например, d - каталог, l - ссылка).
Следующие 9 символов отображают разрешения для пользователя, группы и других.
За этим следует количество жестких ссылок, затем имя и группа владельца.
Следующее поле - размер в байтах. Это можно отобразить в удобной для человека форме, добавив опцию -h например, 6586816 отображается как 6.3M
Затем следует временная метка (обычно время модификации).
Конечное поле - это имя. Примечание. Ссылки также показывают цель ссылки.
Параметры команды ls
Полный список вариантов:
ls -a список всех файлов, включая скрытый файл, начинающийся с '.'
ls --color цветной цветной список [= всегда / никогда / авто]
ls -d каталогов ls -d - с '* /'
ls -F добавить один символ из * / => @ | к enteries
Индекс индекса inode файла ls -i
ls -l список с длинным форматом - показать разрешения
ls -la list long format, включая скрытые файлы
ls -lh длинный формат с читаемым размером файла
Список ls -ls с длинным форматом с размером файла
Список ls -r в обратном порядке
ls -R list рекурсивно дерево каталогов
Размер файла списка ls -s
ls -S сортировать по размеру файла
ls -t сортировать по времени и дате
ls -X сортировать по имени расширения
Прочитайте команда ls онлайн: https://riptutorial.com/ru/linux/topic/5956/команда-ls
https://riptutorial.com/ru/home 29
глава 9: команда tee
Вступление
tee - чтение со стандартного ввода и запись на стандартный вывод и файлы.
Команда tee названа в честь T-splitter в сантехнике, которая разделяет воду на два направления и имеет форму верхнего регистра T.
tee копирует данные со стандартного ввода в каждый FILE, а также на стандартный вывод. Фактически, тройник дублирует свой вход, маршрутизируя его на несколько выходов одновременно.
Синтаксис
tee [OPTION] ... [FILE] ...•
параметры
Опции Описание
-a, --append Приложите к данным FILE. Не перезаписывать.
-i, --ignore-interrupts Игнорировать сигналы прерывания.
--Помогите Отобразите справочное сообщение и выйдите.
--версия Отобразить информацию о версии и выйти.
замечания
Если FILE указан как тире («-»), tee снова записывает на стандартный вывод.
Examples
Запись вывода в stdout, а также в файл
Следующая команда отображает вывод только на экране (stdout).
$ ls
https://riptutorial.com/ru/home 30
Следующая команда записывает вывод только в файл, а не на экран.
$ ls > file
Следующая команда (с помощью команды tee ) записывает вывод как на экран (stdout), так и в файл.
$ ls | tee file
Запишите выход из середины цепи трубопровода в файл и передайте его обратно в трубу
Вы также можете использовать команду tee для хранения вывода команды в файле и перенаправления того же вывода на другую команду.
Следующая команда будет записывать текущие записи crontab в файл crontab-backup.txt и передавать записи crontab команде sed , которая будет выполнять эту замену. После замещения он будет добавлен как новое задание cron.
$ crontab -l | tee crontab-backup.txt | sed 's/old/new/' | crontab –
записать вывод в несколько файлов
Вы можете подключить свой вывод к нескольким файлам (включая ваш терминал), используя tee следующим образом:
$ ls | tee file1 file2 file3
Запросить команду tee для добавления в файл
По умолчанию команда tee перезаписывает файл. Вы можете указать tee для добавления в файл с помощью опции –a как показано ниже.
$ ls | tee –a file
Прочитайте команда tee онлайн: https://riptutorial.com/ru/linux/topic/10588/команда-tee
https://riptutorial.com/ru/home 31
глава 10: Компиляция ядра Linux
Examples
Компиляция ядра Linux на Ubuntu
Предупреждение: убедитесь, что у вас есть не менее 15 ГБ свободного места на диске.
Компиляция в Ubuntu> = 13.04
Вариант A) Используйте Git
Используйте git, если хотите синхронизировать с последним источником ядра Ubuntu.
Подробные инструкции можно найти в руководстве Kernel Git. Репозиторий git не включает необходимые файлы управления, поэтому вы должны их создать:
fakeroot debian/rules clean
Вариант B) Загрузите исходный архив
Загрузите исходный архив - это для пользователей, которые хотят перестроить стандартные пакеты Ubuntu с дополнительными патчами. Используйте следующую команду для установки зависимостей сборки и извлечения источника (в текущий каталог):
Установите следующие пакеты:
sudo apt-get build-dep linux-image-`uname -r`
1.
Вариант C) Загрузите исходный пакет и выполните сборку
Это для пользователей, которые хотят изменить или поиграть с исходным кодом ядра Ubuntu.
Извлеките последний источник ядра из kernel.org .1.
Извлеките архив в каталог и cd в него:
tar xf linux-*.tar.xz cd linux-*
2.
Создайте интерфейс конфигурации ncurses:
make menuconfig
3.
https://riptutorial.com/ru/home 32
Чтобы принять конфигурацию по умолчанию, нажмите →, чтобы выделить < Exit > а затем Return .
4.
Для сохранения конфигурации снова нажмите Return .5.
Используйте make для создания ядра:
make
Обратите внимание, что вы можете использовать флаг -j n для параллельной сборки файлов и использования нескольких ядер.
6.
Сжатое изображение ядра можно найти в arch/[arch]/boot/bzImage , где [arch] равно uname -a .
Прочитайте Компиляция ядра Linux онлайн: https://riptutorial.com/ru/linux/topic/379/
компиляция-ядра-linux
https://riptutorial.com/ru/home 33
глава 11: конфигурация сети
Вступление
В этом документе описываются сети TCP / IP, сетевое администрирование и настройки системы. Linux может поддерживать несколько сетевых устройств. Имена устройств нумеруются и начинаются с нуля и подсчитываются вверх. Например, компьютер с двумя сетевыми адаптерами будет иметь два устройства с меткой eth0 и eth1.
Examples
Информация о интерфейсе
Ifconfig
Перечислите все интерфейсы, доступные на машине
$ ifconfig -a
Перечислите детали определенного интерфейса
Синтаксис: $ ifconfig <interface>
Пример:
$ ifconfig eth0 eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:x.x.x.x Bcast:x.x.x.x Mask:x.x.x.x inet6 addr: xxxx::xxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4426618 errors:0 dropped:1124 overruns:0 frame:0 TX packets:189171 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:382611580 (382.6 MB) TX bytes:36923665 (36.9 MB) Interrupt:16 Memory:fb5e0000-fb600000
Ethtool - запрос настроек сетевого драйвера и оборудования
Синтаксис: $ ethtool <interface>
Пример:
$ ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full
https://riptutorial.com/ru/home 34
Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: on (auto) Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: yes
ip-show / манипулировать маршрутизацией, устройствами, маршрутизацией политики и туннелями
Синтаксис: $ ip { link | ... | route | macsec } (см. man ip для полного списка объектов)
Примеры
Список сетевых интерфейсов
$ ip link show
Переименуйте интерфейс eth0 в wan
$ ip link set dev eth0 name wan
Принесите интерфейс eth0 вверх (или вниз)
$ ip link set dev eth0 up
Список адресов для интерфейсов
$ ip addr show
Добавить (или del) ip и маску (255.255.255.0)
$ ip addr add 1.2.3.4/24 brd + dev eth0
Добавление IP-адреса в интерфейс
https://riptutorial.com/ru/home 35
IP-адрес интерфейса можно получить с помощью DHCP или статического назначения
DHCP Если вы подключены к сети с запущенным DHCP-сервером, команда dhclient может получить IP-адрес для вашего интерфейса
$ dhclient <interface>
или, альтернативно, вы можете внести изменения в файл /etc/network/interfaces для интерфейса, который будет загружен при загрузке и получить IP-адрес DHCP
auto eth0 iface eth0 inet dhcp
Статическая конфигурация (постоянное изменение) с использованием файла /etc/network/interfaces
Если вы хотите статически настроить параметры интерфейса (постоянное изменение), вы можете сделать это в /etc/network/interfaces .
Пример:
auto eth0 # Bring up the interface on boot iface eth0 inet static address 10.10.70.10 netmask 255.255.0.0 gateway 10.10.1.1 dns-nameservers 10.10.1.20 dns-nameservers 10.10.1.30
Эти изменения сохраняются даже после перезагрузки системы.
Статическая конфигурация (временное изменение) с использованием утилиты ifconfig
Статический IP-адрес может быть добавлен в интерфейс с помощью утилиты ifconfig следующим образом
$ ifconfig <interface> <ip-address>/<mask> up
Пример:
$ ifconfig eth0 10.10.50.100/16 up
Локальное разрешение DNS
Файл: /etc/hosts содержит список хостов, которые должны быть локально разрешены (а не DNS)
Пример содержимого файла:
https://riptutorial.com/ru/home 36
127.0.0.1 your-node-name.your-domain.com localhost.localdomain localhost XXX.XXX.XXX.XXX node-name
Формат файла для файла hosts указан в RFC 952
Настройка DNS-серверов для разрешения имени домена
Файл: /etc/resolv.conf содержит список DNS-серверов для разрешения имен доменов
Пример содержимого файла:
nameserver 8.8.8.8 # IP address of the primary name server nameserver 8.8.4.4 # IP address of the secondary name server
В случае, если внутренний DNS-сервер вы можете проверить, правильно ли этот сервер правильно разрешает DNS-имена, используя команду dig :
$ dig google.com @your.dns.server.com +short
Просмотр и управление маршрутами
Управление таблицей маршрутизации IP с использованием routeОтобразить таблицу маршрутизации
$ route # Displays list or routes and also resolves host names $ route -n # Displays list of routes without resolving host names for faster results
Добавить / Удалить маршрут
вариант Описание
add или del Добавить или удалить маршрут
-host xxxx Добавить маршрут к одному узлу, идентифицированному по IP-адресу
-net xxxx Добавить маршрут в сеть, указанную сетевым адресом
gw xxxx Укажите сетевой шлюз
netmask xxxx Укажите сетевую маску сети
default Добавить маршрут по умолчанию
https://riptutorial.com/ru/home 37
Примеры:
добавить маршрут к хосту $ route add -host xxxx eth1•добавить маршрут в сеть $ route add -net 2.2.2.0 netmask 255.255.255.0 eth0•Кроме того, вы также можете использовать формат cidr для добавления маршрута в сетевой route add -net 2.2.2.0/24 eth0
•
добавить шлюз по умолчанию $ route add default gw 2.2.2.1 eth0•удалить маршрут $ route del -net 2.2.2.0/24•
Манипулировать таблицу IP-маршрутизации, используя ipОтобразить таблицу маршрутизации
$ ip route show # List routing table
Добавить / Удалить маршрут
вариант Описание
add или del или change или append или replace
Изменить маршрут
show или flushкоманда отображает содержимое таблиц маршрутизации или удаляет их
restore восстановить информацию о таблице маршрутизации из stdin
getэта команда получает единственный маршрут к месту назначения и печатает его содержимое точно так же, как это видит ядро
Примеры:
Установите шлюз по умолчанию на 1.2.3.254 $ ip route add default via 1.2.3.254•Добавляет маршрут по умолчанию (для всех адресов) через локальный шлюз 192.168.1.1, который может быть достигнут на устройстве eth0 $ ip route add default via 192.168.1.1 dev eth0
•
Настроить имя хоста для какой-либо другой системы в вашей сети
Вы можете настроить свою систему Linux (или macOS), чтобы привязать идентификатор <hostname> к IP-адресу другой системы в вашей сети. Вы можете настроить его:
https://riptutorial.com/ru/home 38
Systemwide. Вы должны изменить файл / etc / hosts . Вам просто нужно добавить в этот файл новую строку, содержащую:
IP-адрес удаленной системы <ip_rem> ,1.
одно или несколько пробелов и2. идентификатор <hostname> .3.
•
Для одного пользователя. Вы должны изменить файл ~ / .hosts --- вы должны создать его. Это не так просто, как для системы. Здесь вы можете увидеть объяснение.
•
Например, вы можете добавить эту строку, используя инструмент cat Unix. Предположим, что вы хотите сделать ping на ПК в локальной сети, чей IP-адрес равен 192.168.1.44, и вы хотите сослаться на этот IP-адрес только с помощью remote_pc . Затем вы должны написать в своей оболочке:
$ sudo cat 192.168.1.44 remote_pc
Затем вы можете выполнить этот пинг:
$ ping remote_pc
Прочитайте конфигурация сети онлайн: https://riptutorial.com/ru/linux/topic/8206/
конфигурация-сети
https://riptutorial.com/ru/home 39
глава 12: Менеджеры пакетов
Examples
Как обновить пакеты с помощью менеджера пакетов apt
A dvanced P ackage T ool, точно названный менеджером пакетов «apt», может обрабатывать установку и удаление программного обеспечения на Debian, Slackware и других дистрибутивах Linux. Ниже приведены некоторые простые примеры использования:
Обновить
Эта опция извлекает и сканирует файлы Packages.gz, так что доступна информация о новых и обновленных пакетах. Для этого введите следующую команду:
sudo apt-get update
Обновить
Эта опция используется для установки новейших версий всех пакетов, установленных в настоящее время в системе. Пакеты, установленные в настоящее время с новыми версиями, извлекаются и обновляются; ни при каких обстоятельствах в настоящее время не установлены удаленные пакеты или пакеты, которые еще не были установлены, извлечены и установлены. Для обновления введите следующую команду:
sudo apt-get upgrade
Dist-Upgrade Помимо выполнения функции обновления, dist-upgrade также интеллектуально обрабатывает изменения зависимостей с новыми версиями пакетов. При необходимости он попытается обновить наиболее важные пакеты за счет менее важных. Для этого введите следующую команду:
sudo apt-get dist-upgrade
Как обновить пакеты с помощью диспетчера пакетов pacman
Чтобы обновить определенную программу:
sudo pacman -S <programName>
Чтобы обновить всю систему:
sudo pacman -Syu
Как установить пакет с менеджером пакетов pacman
https://riptutorial.com/ru/home 40
Для поиска пакетов в базе данных, поисках в именах и описаниях пакетов:
pacman -Ss string1 string2 ...
Чтобы установить один пакет или список пакетов (включая зависимости), выполните следующую команду:
sudo pacman -S package_name1 package_name2 ...
источник
Как обновлять пакеты с помощью yum
Y ellowdog U pdater, M odified, один из последних реликтов Yellow Dog Linux, является менеджер пакетов используется Red Hat, Fedora и CentOS систем и их производных. Он может обрабатывать установку и удаление программного обеспечения, упакованного как rpms для этих дистрибутивов Linux. Ниже приведены некоторые простые примеры использования:
поиск
Эта команда попытается найти пакеты программного обеспечения в сконфигурированных репозиториях программного обеспечения, которые соответствуют заданным критериям поиска, и отобразить местоположение имени / версии / хранилища совпадений, которые он находит. Чтобы использовать его, введите следующую команду:
yum search <queryString>
устанавливать
Эта команда попытается найти и установить именованное программное обеспечение из сконфигурированных репозиториев программного обеспечения, рекурсивного поиска и установки любого необходимого необходимого программного обеспечения. Чтобы использовать его, введите следующую команду:
sudo yum install <packageName>
Обновить
Эта опция используется для установки новейших версий всех пакетов, установленных в настоящее время в системе. Пакеты, установленные в настоящее время с новыми версиями, извлекаются и обновляются; новые необходимые условия также извлекаются и устанавливаются по мере необходимости, а заменяемые или устаревшие пакеты удаляются. Для обновления введите следующую команду:
sudo yum update
https://riptutorial.com/ru/home 41
В отличие от apt , большинство команд yum также будут автоматически проверять наличие обновлений метаданных репозитория, если проверка не была выполнена в последнее время (или если это принудительно) и будет получать и проверять обновленные метаданные, чтобы информация о новых и обновленных пакетах была доступна до запрошенная операция выполняется.
Прочитайте Менеджеры пакетов онлайн: https://riptutorial.com/ru/linux/topic/5703/
менеджеры-пакетов
https://riptutorial.com/ru/home 42
глава 13: Определение имени и версии дистрибутива Linux
Синтаксис
uname - для печати информации о вашей операционной системе.
uname [OPTION]
•
Examples
Определите, на каком распределении на основе debian вы работаете
Просто выполните lsb_release -a .
В Debian:
$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux testing (stretch) Release: testing Codename: stretch
На Ubuntu:
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.4 LTS Release: 14.04 Codename: trusty
Если вы не установили lsb_release вы можете попробовать некоторые догадки, например, есть файл /etc/issue который часто содержит имя распространения. Например, на ubuntu:
$ cat /etc/issue Ubuntu 12.04.5 LTS \n \l
Не используйте файл /etc/debian_version потому что его содержимое не соответствует имени дистрибутива!
Обратите внимание, что это также будет работать с дистрибутивами семейства, отличными от Debian, такими как Fedora, RHEL или openSUSE, но этот lsb_release не может быть установлен.
https://riptutorial.com/ru/home 43
Определите, к какому дистрибутиву RHEL / CentOS / Fedora вы работаете
Посмотрите содержимое /etc/redhat-release
cat /etc/redhat-release
Вот результат работы с машиной Fedora 24: Fedora release 24 (Twenty Four)
Как упоминалось в ответе на основе debian, вы также можете использовать команду lsb_release -a , которая выводит это из машины Fedora 24:
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch Distributor ID: Fedora Description: Fedora release 24 (Twenty Four) Release: 24 Codename: TwentyFour
Определите, какой системный дистрибутив вы используете
Этот метод будет работать на современных версиях Arch, CentOS, CoreOS, Debian, Fedora,
Mageia, openSUSE, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Ubuntu и других. Эта широкая применимость делает ее идеальной в качестве первого подхода, с откатом от других методов, если вам нужно также идентифицировать старые системы.
Посмотрите /etc/os-release . В частности, посмотрите на переменные NAME , VERSION , ID , VERSION_ID и PRETTY_NAME .
В Fedora этот файл может выглядеть так:
NAME=Fedora VERSION="24 (Workstation Edition)" ID=fedora VERSION_ID=24 PRETTY_NAME="Fedora 24 (Workstation Edition)" ANSI_COLOR="0;34" CPE_NAME="cpe:/o:fedoraproject:fedora:24" HOME_URL="https://fedoraproject.org/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=24 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=24 PRIVACY_POLICY_URL=https://fedoraproject.org/wiki/Legal:PrivacyPolicy VARIANT="Workstation Edition" VARIANT_ID=workstation
В CentOS этот файл может выглядеть так:
https://riptutorial.com/ru/home 44
NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
Этот файл задокументирован на веб-сайте freedesktop ; в принципе, он не является специфичным для системы, но он будет существовать во всех дистрибутивах, основанных на системе.
Из оболочки bash можно /etc/os-release файл /etc/os-release а затем использовать различные переменные напрямую, например:
$ ( source /etc/os-release && echo "$PRETTY_NAME" ) Fedora 24 (Workstation Edition)
Uname - печать информации о текущей системе
Uname короткое имя для названия у Никс. Просто введите uname в консоли, чтобы получить информацию о вашей операционной системе.
uname [OPTION]
Если OPTION не указан, uname принимает параметр -s .
-a или --all - печатает всю информацию, опуская -p и -i если информация неизвестна.
Пример:
> uname -a SunOS hope 5.7 Generic_106541-08 sun4m sparc SUNW,SPARCstation-10
Все варианты:
-s , --kernel-name Распечатайте имя ядра.
-n , --nodename Распечатайте имя узла сетевого узла.
https://riptutorial.com/ru/home 45
-r , --kernel-release Распечатайте выпуск ядра.
-v , --kernel-версия Распечатайте версию ядра.
-m , --machine Распечатайте имя аппаратного оборудования.
-p , --процессор Распечатайте тип процессора или « неизвестно ».
-i , --hardware-платформа Распечатайте аппаратную платформу или « неизвестно ».
-o , --операционная система
Распечатайте операционную систему.
--Помогите Отобразите справочное сообщение и выйдите.
--версия Отобразить информацию о версии и выйти.
Обнаружение основных сведений о вашем дистрибутиве
просто выполните uname -a .
На арке:
$ uname -a Linux nokia 4.6.4-1-ARCH #1 SMP PREEMPT Mon Jul 11 19:12:32 CEST 2016 x86_64 GNU/Linuxenter code here
найдите имя linux os (оба debian & rpm) и номер выпуска
Большинство дистрибутивов Linux хранят информацию о своей версии в файле / etc / lsb-
release (debian) или / etc / redhat-release (на основе RPM). Используя нижеприведенную команду, вы должны пройти мимо большинства производных Debian и RPM, как Linux Mint и Cent-Os.
Пример на машине Ubuntu:
cat / etc / * release
DISTRIB_ID = Ubuntu DISTRIB_RELEASE = 14.04 DISTRIB_CODENAME = trusty DISTRIB_DESCRIPTION = "Ubuntu 14.04 LTS"
использование GNU coreutils
Поэтому GNU coreutils должен быть доступен для всех систем на базе Linux (пожалуйста, поправьте меня, если я ошибаюсь здесь).
https://riptutorial.com/ru/home 46
Если вы не знаете, какая система вы используете, вы не сможете напрямую перейти к одному из приведенных выше примеров, поэтому это может быть ваш первый порт захода.
`$ uname -a
В моей системе это дает мне следующее ...
`Linux Scibearspace 3.16.0-4-amd64 # 1 SMP Debian 3.16.7-ckt25-2 + deb8u3 (2016-07-02) x86_64 GNU / Linux
Здесь вы можете увидеть следующее:
Scibearspace: имя моего компьютера
Scibearspace: имя моего компьютера•
3.16.0-4-amd64: ядро и архитектура•
SMP Debian 3.16.7-CKT25-2 + deb8u3: говорит мне, что я запускаю debian с ядром 3.16•
Завершите последнюю часть. Я запускаю debian 8 (обновление 3).•
Я хотел бы приветствовать любые другие, чтобы добавить результаты для RHEL и систем SuSe.
Прочитайте Определение имени и версии дистрибутива Linux онлайн: https://riptutorial.com/ru/linux/topic/872/определение-имени-и-версии-дистрибутива-linux
https://riptutorial.com/ru/home 47
глава 14: Получение информации о запущенном ядре Linux
Examples
Вся информация
С помощью флага -a / - all выведет всю доступную информацию о ядре.
$uname -a Linux hostname 3.13.0-88-generic #135-Ubuntu SMP Wed Jun 8 21:10:42 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
В этом примере мы видим имя ядра, имя хоста, номер выпуска ядра, версию ядра, имя аппаратного оборудования, тип процессора, аппаратную платформу и имя операционной системы.
Любое из этих полей может быть запрошено индивидуально с использованием других флагов.
Получение сведений о ядре Linux.
Мы можем использовать команду uname с различными параметрами, чтобы получить полную информацию о запуске ядра.
uname -a Linux df1-ws-5084 4.4.0-64-generic # 85-Ubuntu SMP Mon Feb 20 11:50:30 UTC 2017 x86_64 x86_64 x86_64 GNU / Linux
На странице руководства здесь несколько вариантов
Использование: uname [OPTION] ... Печать определенной системной информации. Без OPTION, аналогично -s.
-a, --все распечатать всю информацию в следующем порядке, за исключением omit -p и -i, если неизвестно: -s, --kernel-name напечатать имя ядра -n, -nodename распечатать имя узла сети -r , -kernel-release распечатать версию ядра -v, -kernel-версия распечатать версию ядра -m, -machine распечатать имя аппаратного оборудования -p, -процессор распечатать тип процессора (не переносной) -i , --hardware-платформа распечатать аппаратную платформу (не переносную) -o, - операционная система распечатать операционную систему --help отобразить эту справку и выйти - версия выводить информацию о версии и выйти
Прочитайте Получение информации о запущенном ядре Linux онлайн:
https://riptutorial.com/ru/home 48
https://riptutorial.com/ru/linux/topic/6041/получение-информации-о-запущенном-ядре-linux
https://riptutorial.com/ru/home 49
глава 15: Получение информации о системе
Вступление
Сбор команд для получения связанной с системой информации.
Examples
Список оборудования
Ubuntu:
lshw - небольшой инструмент для извлечения подробной информации об аппаратной конфигурации машины. Он может сообщать точную конфигурацию памяти, версию прошивки, конфигурацию материнской платы, версию и скорость процессора, конфигурацию кеша, скорость шины и т. Д.
$ sudo lshw | less (or more) $ sudo lshw -html > myhardware.html $ sudo lshw -xml > myhardware.xml
Чтобы показать информацию о PCI
$ lspci -tv
Чтобы просмотреть информацию о USB
$ lsusb -tv
Для отображения информации BIOS
$ dmidecode -q | less
Чтобы узнать конкретную информацию о диске (диск sda в примере), вы можете использовать:
$ hdparm -i /dev/sda
Немногие дополнительные утилиты / команды помогут собрать дополнительную информацию:
https://riptutorial.com/ru/home 50
$ smartctl -A /dev/sda | grep Power_On_Hours # How long has this disk (system) been powered on in total $ hdparm -tT /dev/sda # Do a read speed test on disk sda $ badblocks -s /dev/sda # Test for unreadable blocks on disk sda
Найти информацию о модели процессора / скорости
Ubuntu:
$ cat /proc/cpuinfo
Результат выборки:
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz stepping : 11 cpu MHz : 1596.000 cache size : 4096 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority bogomips : 4800.18 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: .... .. processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz stepping : 11 cpu MHz : 1596.000 cache size : 4096 KB physical id : 0 siblings : 4 core id : 3 cpu cores : 4 apicid : 3 initial apicid : 3 fpu : yes
https://riptutorial.com/ru/home 51
fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority bogomips : 4800.30 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:
счетчик (включая ядра):
$ grep -c processor /proc/cpuinfo
Мониторинг процесса и сбор информации
В целом у вас есть два способа мониторинга процессов на хосте linux
Статический мониторингНаиболее широко используемой командой является команда ps (т. Е. Статус процесса), которая используется для предоставления информации о текущих запущенных процессах, включая идентификационные номера их процессов (PID).
Вот несколько полезных вариантов для сбора конкретной информации.
Перечислить процессы в иерархии
$ ps -e -o pid,args --forest
Перечислить процессы, отсортированные по использованию% cpu
$ ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'
Перечислить процессы, отсортированные по использованию mem (KB).
$ ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS
Список всех тем для конкретного процесса (пример «firefox-bin» в примере)
$ ps -C firefox-bin -L -o pid,tid,pcpu,state
После поиска конкретного процесса вы можете собрать информацию, относящуюся к нему, используя lsof для перечисления путей, которые открывают идентификатор процесса
https://riptutorial.com/ru/home 52
$ lsof -p $$
Или на основе процессов поиска пути, которые указали путь открытым
$ lsof ~
Интерактивный мониторингНаиболее часто используемый инструмент для динамического мониторинга:
$ top
Это основная команда по умолчанию, которая имеет огромные возможности для фильтрации и представления информации в реальном времени (по сравнению с командой ps .
Тем не менее есть более предварительные варианты, которые можно рассматривать и устанавливать как top замену
$ htop -d 5
или же
$ atop
Имея возможность записывать все действия в файл журнала (по умолчанию atop будет регистрировать всю активность каждые 600 секунд). В этот список есть несколько специализированных команд как iotop или iftop
$ sudo iotop
Статистика CPU, памяти, сети и диска (операции ввода-вывода)
Получить общую статистику по основным компонентам семейства команд stat очень полезно
ЦПУЧтобы получить статистику по процессорам, вы можете использовать команду mpstat но с некоторыми параметрами она обеспечит лучшую видимость:
$ mpstat 2 10
https://riptutorial.com/ru/home 53
объем памятиМы все знаем, что команда free для отображения количества (оставшейся) ОЗУ, но для просмотра всех статистических данных, включая операции ввода-вывода:
$ vmstat 2 10
дискЧтобы получить общую информацию о ваших дисковых операциях в режиме реального времени, вы можете использовать iostat .
$ iostat -kx 2
сетьЧтобы узнать, что происходит с вашими сетевыми сервисами, вы можете использовать netstat
$ netstat -ntlp # open TCP sockets $ netstat -nulp # open UDP sockets $ netstat -nxlp # open Unix sockets
Но вы можете найти полезный мониторинг для просмотра сетевого трафика в режиме реального времени:
$ sudo iftop
НеобязательныйЧтобы генерировать статистику в реальном времени, связанную с операциями ввода-вывода для всех компонентов, вы можете использовать dstat . Этот инструмент, который является универсальной заменой для vmstat , iostat и ifstat
Использование таких инструментов, как lscpu и lshw
С помощью таких инструментов, как lscpu, поскольку lscpu - это простой способ получить информацию о процессоре.
$ lscpu
https://riptutorial.com/ru/home 54
Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 23 Stepping: 10 CPU MHz: 1998.000 BogoMIPS: 5303.14 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 2048K NUMA node0 CPU(s): 0-3
Используя инструмент lshw
$ lshw | grep cpu df1-ws-5084 description: Computer width: 64 bits capabilities: vsyscall32 *-core description: Motherboard physical id: 0 *-memory description: System memory physical id: 0 size: 5881MiB *-cpu product: Intel(R) Pentium(R) CPU G3220 @ 3.00GHz vendor: Intel Corp. physical id: 1 bus info: cpu@0 size: 3GHz capacity: 3GHz width: 64 bits
Прочитайте Получение информации о системе онлайн: https://riptutorial.com/ru/linux/topic/8932/получение-информации-о-системе
https://riptutorial.com/ru/home 55
глава 16: Проверить пространство на диске
Examples
Проверка дискового пространства
Обычно бывает необходимо проверить состояние различных разделов / дисков на вашем сервере / компьютере, чтобы узнать, насколько они полны. Следующая команда - та, которую вы хотите запустить:
df -h
Это даст результат, похожий на следующий:
[root@mail ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 19G 1.6G 16G 9% / tmpfs 245M 0 245M 0% /dev/shm /dev/sda1 485M 47M 413M 11% /boot
В этом базовом примере мы видим, что / partition имеет только 9% .
Для более сложного примера, который также охватывает использование df для просмотра различных точек монтирования, см. Ниже:
[root@mail ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VG-root 1.9T 1.7T 89G 95% / /dev/mapper/VG-var 431G 145G 264G 36% /var devtmpfs 7.8G 204K 7.8G 1% /dev tmpfs 7.8G 4.0K 7.8G 1% /dev/shm /dev/md1 495M 126M 344M 27% /boot ku.example.com:9421 2.5T 487G 2.0T 20% /mnt/test tmpfs 500M 86M 415M 18% /var/ngx_pagespeed_cache
В этом примере у нас есть раздел / который на 95% заполнен вместе с дополнительным /var разделом, который заполнен всего на 36% .
У него есть внешний сетевой монтируемый 2T который монтируется на /mnt/test и монтируется ramdisk / tmpfs из 500M, установленного в /var/ngx_pagespeed_cache .
Изучить каталоги для использования дисков
Иногда может потребоваться выяснить, какой каталог потребляет столько дискового
https://riptutorial.com/ru/home 56
пространства, особенно когда вы используете df -h и понял, что доступное дисковое пространство низкое.
дю:
Команда du суммирует использование диска в наборе FILE, рекурсивно для каталогов.
Он часто используется с опцией -sh :
-s, --summarize display only a total for each argument -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)
Для суммирования дискового использования файлов в текущем каталоге мы используем:
du -sh *
Пример вывода:
572K Documents 208M Downloads 4,0K Music 724K Pictures 4,0K Public 4,0K Templates 4,0K Videos
Мы также можем включать скрытые файлы с использованием:
du -sh .[!.]* *
Пример вывода:
6,3M .atom 4,0K .bash_history 4,0K .bash_logout 8,0K .bashrc 350M .cache 195M .config 12K .dbus 4,0K .dmrc 44K .gconf 60K .gem 520K .gimp-2.8 28K .gnome 4,0K .ICEauthority 8,3M .local 8,0K .nano 404K .nv 36K .pki 4,0K .profile 8,0K .ssh
https://riptutorial.com/ru/home 57
0 .sudo_as_admin_successful 4,0K .Xauthority 4,0K .xsession-errors 4,0K .xsession-errors.old 572K Documents 208M Downloads 4,0K Music 724K Pictures 4,0K Public 4,0K Templates 4,0K Videos
В-третьих, вы можете добавить итоговый результат, добавив, -c, option:
du -sch .[!.]* *
Результат:
.
.
. 4,0K Templates 4,0K Videos 769M total
Самое главное, правильно использовать команду du в корневом каталоге - это спасательное действие, чтобы выяснить, какое приложение / служба или пользователь потребляют ваше дисковое пространство. Например, в случае смехотворно низкого уровня доступности дискового пространства для веб-сервера и почтового сервера причиной может быть спам-атака на вашу почтовую службу, и вы можете диагностировать ее только с помощью команды du .
Исследуйте корневой каталог для использования диска:
sudo du -sch /.[!.]* /*
Пример вывода:
16K /.VolumeIcon.icns 24K /.VolumeIcon.png 13M /bin 57M /boot 4,0K /cdrom 620K /dev 13M /etc 779M /home 0 /initrd.img 406M /lib 3,9M /lib32 4,0K /lib64 16K /lost+found 4,0K /media 4,0K /mnt
https://riptutorial.com/ru/home 58
367M /opt du: cannot access '/proc/18221/task/18221/fd/4': No such file or directory du: cannot access '/proc/18221/task/18221/fdinfo/4': No such file or directory du: cannot access '/proc/18221/fd/4': No such file or directory du: cannot access '/proc/18221/fdinfo/4': No such file or directory 0 /proc 20K /root du: cannot access '/run/user/1000/gvfs': Permission denied 9,4M /run 13M /sbin 4,0K /srv 0 /sys 72K /tmp 3,5G /usr 639M /var 0 /vmlinuz 5,8G total
Наконец, лучший метод формируется, когда вы добавляете значение порогового размера для каталогов, чтобы игнорировать небольшие. Эта команда будет показывать только папки размером более 1 ГБ, расположенные под корневым каталогом, до самой последней ветви всего дерева каталогов в вашей файловой системе:
sudo du --threshold=1G -ch /.[!.]* /*
Пример вывода:
1,4G /usr/lib 1,8G /usr/share 3,5G /usr 5,8G total
Прочитайте Проверить пространство на диске онлайн: https://riptutorial.com/ru/linux/topic/6650/проверить-пространство-на-диске
https://riptutorial.com/ru/home 59
глава 17: Ракушка
Вступление
В ответ на приглашение оболочка выполняет программу. Когда вы даете команду, оболочка ищет программу, а затем выполняет ее. Например, когда вы даете команду ls, оболочка ищет утилиту / программу с именем ls, а затем запускает ее в оболочке. Аргументы и параметры, которые вы предоставляете с помощью утилит, могут повлиять на результат, который вы получаете. Оболочка также известна как интерфейс командной строки или интерфейс командной строки.
Examples
Изменение оболочки по умолчанию
Большинство современных дистрибутивов будут поставляться с BASH ( B ourne A gain SH
ell), предварительно установленным и настроенным как оболочка по умолчанию.
Команда (фактически исполняемый двоичный код, ELF), которая отвечает за изменение оболочек в Linux, - chsh ( ch ange sh ell).
Сначала мы можем проверить, какие оболочки уже установлены и настроены на нашей машине, используя команду chsh -l , которая выведет результат, подобный этому:
[user@localhost ~]$ chsh -l /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /usr/bin/fish
В некоторых дистрибутивах Linux chsh -l недействителен. В этом случае список всех доступных оболочек можно найти в файле / etc / shells. Вы можете показать содержимое файла с помощью cat :
[user@localhost ~]$ cat /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /usr/bin/fish
https://riptutorial.com/ru/home 60
Теперь мы можем выбрать нашу новую оболочку по умолчанию, например, fish , и настроить ее с помощью chsh -s ,
[user@localhost ~]$ chsh -s /usr/bin/fish Changing shell for user. Password: Shell changed.
Теперь все, что осталось сделать, это преформировать цикл входа в систему и воспользоваться нашей новой оболочкой по умолчанию.
Если вы хотите изменить оболочку по умолчанию для другого пользователя, и у вас есть права администратора на компьютере, вы сможете это сделать, используя chsh как root . Поэтому, предполагая, что мы хотим изменить user_2 умолчанию для user_2 , мы будем использовать ту же команду, что и раньше, но с добавлением имени пользователя другого пользователя, chsh -s /usr/bin/fish user_2 .
Чтобы проверить, что такое текущая оболочка по умолчанию, мы можем просмотреть переменную окружения $SHELL , которая указывает на путь к нашей оболочке по умолчанию, поэтому после нашего изменения мы ожидаем получить такой же результат,
~ echo $SHELL /usr/bin/fish
chsh :
-s shell
Устанавливает оболочку в качестве оболочки входа.
-l , --list-shells
Распечатайте список оболочек, перечисленных в / etc / shells, и выйдите.
-h , --help
Распечатайте сообщение об использовании и выйдите из него.
-v , --version
Распечатайте информацию о версии и выйдите из нее.
Основные утилиты Shell
Настройка командной строки
https://riptutorial.com/ru/home 61
Командная строка по умолчанию может быть изменена, чтобы выглядеть по-другому и коротким. Если текущая директория длинная, командная строка становится слишком большой. Использование PS1 становится полезным в этих случаях. Короткая и настраиваемая команда довольно и элегантная. В приведенной ниже таблице PS1 используется с несколькими аргументами для отображения различных форм приглашений оболочки. Командная bruce@gotham ~ $ умолчанию выглядит примерно так: user@host ~ $ в моем случае выглядит так: bruce@gotham ~ $ . Он может изменяться в соответствии с приведенной ниже таблицей:
команда Полезность
PS1 = '\ w $' ~ $ shell как имя каталога. В этом случае корневой каталог - Root.
PS1 = '\ h $' подсказка gotham $ shell как имя хоста
PS1 = '\ u $' bruce $ shell как пользователь
PS1 = '\ t $' 22:37:31 $ shell prompt в формате 24 часа
PS1 = '@ $' 10:37 PM запрос командной строки в 12-часовом формате времени
PS1 = '! $ ' 732 отобразит номер истории команды вместо приглашения оболочки
PS1 = 'чувак' dude $ будет показывать подсказку оболочки так, как вам нравится
Некоторые основные команды оболочки
команда Полезность
Ctrl-k вырезать / убить
Ctrl-y дергать / паста
Ctrl-a будет курсор на начало строки
Ctrl-e будет курсор до конца строки
Ctrl-d удалит символ после / в курсоре
Ctrl-l очистит экран / терминал
Ctrl-u очистит все между подсказкой и курсором
Ctrl-_ отменит последнее, введенное в командной строке
будет прерывать / останавливать работу / процесс, Ctrl-c
https://riptutorial.com/ru/home 62
команда Полезность
выполняющийся на переднем плане
Ctrl-r обратный поиск в истории
~/.bash_history хранит последние 500 команд / событий, используемых в оболочке
history покажет историю команд
history | grep <key-word>
покажет все команды в истории, имеющие ключевое слово <ключевое слово> (полезно в случаях, когда вы помните часть команды, использованной в прошлом)
Создайте свой собственный псевдоним команды
Если вы устали от использования длинных команд в bash, вы можете создать свой собственный псевдоним команды.
Лучший способ сделать это - изменить (или создать, если он не существует) файл с именем .bash_aliases в вашей домашней папке. Общий синтаксис:
alias command_alias='actual_command'
где actual_command - это команда, которую вы переименовываете, а command_alias - новое имя, которое вы ему дали. Например
alias install='sudo apt-get -y install'
сопоставляет новую команду alias install с фактической командой sudo apt-get -y install . Это означает, что когда вы используете установку в терминале, это интерпретируется bash как sudo apt-get -y install .
Найдите файл в вашей системе
Используя bash, вы можете легко найти файл с помощью команды locate . Например, скажем, что вы ищете файл mykey.pem:
locate mykey.pem
Иногда файлы имеют странные имена, например, у вас может быть файл random7897_mykey_0fidw.pem . Предположим, вы ищете этот файл, но вы помните только части mykey и pem. Вы можете комбинировать команду locate с grep используя такой канал:
locate pem | grep mykey
https://riptutorial.com/ru/home 63
Который принесет все результаты, которые содержат обе эти части.
Обратите внимание, что не все системы имеют установленную утилиту locate , и многие из них не включили ее. locate выполняется быстро и эффективно, поскольку он периодически сканирует вашу систему и кэширует имена и местоположения для каждого файла на ней, но если этот сбор данных не включен, он ничего не может вам сказать. Вы можете использовать updatedb для ручного запуска сканирования файловой системы, чтобы обновить кэшированную информацию о файлах в вашей файловой системе.
Если вы не имеете рабочий locate , вы можете упасть обратно на find утилиты:
find / -name mykey.pem -print
примерно эквивалентна locate mykey.pem но при каждом запуске файла для проверки locate mykey.pem требуется сканирование вашей файловой системы, а не на использование кэшированных данных. Это, очевидно, медленнее и менее эффективно, но больше в режиме реального времени. Утилита find может делать гораздо больше, чем поиск файлов, но полное описание ее возможностей выходит за рамки этого примера.
Прочитайте Ракушка онлайн: https://riptutorial.com/ru/linux/topic/2731/ракушка
https://riptutorial.com/ru/home 64
глава 18: Сервисы
Examples
Список запущенных сервисов на Ubuntu
Чтобы получить список услуг в вашей системе, вы можете запустить:
service --status-all
Вывод service --status-all перечисляет состояние служб, контролируемых System V
+ Указывает, что служба запущена, - указывает на остановленную услугу. Вы можете увидеть это, запустив статус службы SERVICENAME для службы + и -.
Некоторые службы управляются Upstart . Вы можете проверить статус всех служб Upstart
с помощью списка sudo initctl. Любая служба, управляемая Upstart, также будет отображаться в списке, предоставляемом службой --status, - все, но будет отмечена символом?.
ref: https://askubuntu.com/questions/407075/how-to-read-service-status-all-results
Управление сервисами Systemd
Услуги листинга
systemctl Чтобы просмотреть запущенные службы•systemctl --failed Чтобы перечислить неудавшиеся службы•
Управление целевыми показателями (аналогично уровням запуска в SysV)
systemctl get-default Чтобы найти цель по умолчанию для вашей системы•systemctl set-default <target-name> Чтобы установить цель по умолчанию для вашей системы
•
Управление службами во время выполнения
systemctl start [service-name] Чтобы запустить службу•systemctl stop [service-name] Чтобы остановить службу•systemctl restart [service-name] Для перезапуска службы•systemctl reload [service-name]•
https://riptutorial.com/ru/home 65
Чтобы запросить сервис для перезагрузки его конфигурацииsystemctl status [service-name] Чтобы показать текущий статус службы•
Управление автозапуском служб
systemctl is-enabled [service-name] Чтобы показать, включена ли служба при загрузке системы
•
systemctl is-active [service-name] Чтобы показать, активна ли в данный момент служба (работает)
•
systemctl enable [service-name] Чтобы включить службу при загрузке системы•systemctl disable [service-name] Чтобы отключить службу при загрузке системы•
Маскирующие услуги
systemctl mask [service-name] Чтобы замаскировать службу (затрудняет запуск службы по ошибке)
•
systemctl unmask [service-name] Чтобы разоблачить сервис•
Перезапуск системыd
systemctl daemon-reload
Прочитайте Сервисы онлайн: https://riptutorial.com/ru/linux/topic/6516/сервисы
https://riptutorial.com/ru/home 66
глава 19: Сжатие файлов с помощью команды «tar»
параметры
Общие параметры -
-c - создать Создайте новый архив.
-x --extract Извлеките файлы из архива.
-t --list Перечислите содержимое архива.
-f -file = АРХИВ Используйте архивный файл или каталог ARCHIVE .
-v --verbose Переработанные файлы списка вербально.
Параметры сжатия
-
-a -auto-compressИспользуйте суффикс архива для определения программы сжатия.
-j -bzip2 Отфильтруйте архив через bzip2.
-J - xz --lzma Отфильтруйте архив через xz.
-z --gzip Отфильтруйте архив через gzip.
Examples
Сжатие папки
Это создает простой архив папки:
tar -cf ./my-archive.tar ./my-folder/
Подробный вывод показывает, какие файлы и каталоги добавляются в архив, используйте опцию -v:
tar -cvf ./my-archive.tar ./my-folder/
https://riptutorial.com/ru/home 67
Для архивирования папки, сжатой «gzip», вам необходимо использовать опцию -z:
tar -czf ./my-archive.tar.gz ./my-folder/
Вместо этого вы можете сжать архив с помощью 'bzip2', используя опцию -j:
tar -cjf ./my-archive.tar.bz2 ./my-folder/
Или сжимайте «xz», используя опцию -J:
tar -cJf ./my-archive.tar.xz ./my-folder/
Извлечь папку из архива
Существует пример для извлечения папки из архива в текущем местоположении:
tar -xf archive-name.tar
Если вы хотите извлечь папку из архива в конкретное место назначения:
tar -xf archive-name.tar -C ./directory/destination
Список содержимого архива
Ниже приведен пример содержимого списка:
tar -tvf archive.tar
Опция -t используется для листинга. Чтобы указать содержимое архива tar.gz, вам больше нужно использовать опцию -z :
tar -tzvf archive.tar.gz
Сжатие и исключение одной или нескольких папок
Если вы хотите извлечь папку, но вы хотите исключить одну или несколько папок во время извлечения, вы можете использовать опцию --exclude .
tar -cf archive.tar ./my-folder/ --exclude="my-folder/sub1" --exclude="my-folder/sub3"
С этим деревом папок:
my-folder/ sub1/ sub2/
https://riptutorial.com/ru/home 68
sub3/
Результатом будет:
./archive.tar my-folder/ sub2/
Газоразделительные элементы
Чтобы удалить любое количество ведущих компонентов, используйте опцию -strip-components:
--strip-components=NUMBER strip NUMBER leading components from file names on extraction
Например, чтобы разбить ведущую папку, используйте:
tar -xf --strip-components=1 archive-name.tar
Список содержимого архива
Перечислить содержимое архивного файла без его извлечения:
tar -tf archive.tar.gz Folder-In-Archive/ Folder-In-Archive/file1 Folder-In-Archive/Another-Folder/ Folder-In-Archive/Another-Folder/file2
Прочитайте Сжатие файлов с помощью команды «tar» онлайн: https://riptutorial.com/ru/linux/topic/5097/сжатие-файлов-с-помощью-команды--tar-
https://riptutorial.com/ru/home 69
глава 20: Стек ЛАМПЫ
Вступление
LAMP ( L inux A pache M ySQL P HP) состоит из операционной системы Linux в качестве среды разработки, HTTP-сервера Apache в качестве веб-сервера, системы управления реляционными базами данных MySQL (RDBMS) в качестве системы DB ( D ata B ase) и Язык программирования PHP в качестве языка программирования на стороне сервера (Back End).
LAMP используется в качестве стека технологий с открытым исходным кодом для решения проблем в области веб-разработки. Версия Windows этого стека называется WAMP ( W indows A pache M ySQL P HP)
Examples
Установка LAMP на Arch Linux
С помощью этой строки мы установим все необходимые пакеты за один шаг и последнее обновление:
pacman -Syu apache php php-apache mariadb
HTTP
редактировать
/etc/httpd/conf/httpd.conf
Измените ServerAdmin [email protected] как вам нужно.
Папка WEB-страниц по умолчанию - ServerRoot "/etc/httpd" . Каталог должен быть установлен в одну папку, поэтому измените строку
<Directory "/etc/httpd">
Эта папка должна иметь доступ к чтению и выполнению, поэтому
chmod o+x /etc/httpd
Измените AllowOverride from none (default) to All так что .htaccess будет работать.
Теперь вам нужна папка ~/public_html для каждого пользователя. (чтобы получить корневую страницу каждого пользователя в виде http: // localhost / ~ yourusername / .
https://riptutorial.com/ru/home 70
Отмените эту строку:
Include conf/extra/httpd-userdir.conf
Теперь как root вам нужно создать ~/public_html для каждого пользователя и изменить доступ к (755) каждого из них.
chmod 755 /home chmod 755 /home/username chmod 755 /home/username/public_html
Вы можете прокомментировать эту строку, если хотите использовать SSL:
LoadModule ssl_module modules/mod_ssl.so
Если вам нужно использовать виртуальные домены, раскомментируйте строку:
Include conf/extra/httpd-vhosts.conf
и в /etc/httpd/conf/extra/httpd-vhosts.conf вы должны добавить все виртуальные домены. (плюс в /etc/hosts если вы хотите протестировать эти виртуальные домены)
Измените /etc/httpd/conf/extra/httpd-default.conf и измените ServerSignature на Off и ServerToken на Prod для скрытия критических данных
PHP
Изменить: /etc/httpd/conf/httpd.conf
Комментарий: LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
В качестве последнего элемента в списке LoadModule php7_module modules/libphp7.so
Как последний элемент в списке include, добавьте Include conf/extra/php7_module.conf
Изменить /etc/php/php.ini
Uncomment extension=mysqli.so и extension=pdo_mysql.so
Измените часовой пояс, как вам нужно, например:
date.timezone = America/Argentina/Buenos_Aires, date.default_latitude = 0.0, date.default_longitude = 0.0
MySQL
https://riptutorial.com/ru/home 71
Запуск от имени пользователя root:
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
Теперь у вас есть корень MySQL Server.
Запустить демон MySQL:
systemctl enable mysqld systemctl start mysqld
Наконец, запустите:
sh /usr/bin/mysql_secure_installation
Это все, чтобы получить готовый веб-сервер для настройки по мере необходимости.
Установка LAMP на Ubuntu
Установить apache:
sudo apt-get install apache2
Установите MySql:
sudo apt-get install mysql-server
Установите PHP:
sudo apt-get install php5 libapache2-mod-php5
Система перезапуска:
sudo systemctl restart apache2
Проверьте установку PHP:
php -r 'echo "\n\nYour PHP installation is working fine.\n\n\n";'
Установка стека LAMP на CentoOS
Установка веб-сервера Apache
Первый шаг - установить веб-сервер Apache.
sudo yum -y install httpd
https://riptutorial.com/ru/home 72
После его установки включите (для запуска при запуске) и запустите службу веб-сервера Apache.
sudo systemctl enable --now httpd
Укажите браузер:
HTTP: // локальный
Вы увидите страницу веб-сервера Apache по умолчанию.
Установка сервера MariaDB
Второй шаг - установить MariaDB:
sudo yum -y install mariadb-server
Затем запустите и включите (при запуске) сервер MariaDB:
sudo systemctl enable --now mariadb
При необходимости используйте mysql_secure_installation для защиты вашей базы данных.
Этот скрипт позволит вам сделать следующее:
Изменение пароля пользователя root•
Удалить тестовые базы данных•Отключить удаленный доступ•
Установка PHP
sudo yum -y install php php-common
Затем перезапустите службу httpd Apache.
sudo systemctl restart httpd
Чтобы протестировать PHP, создайте файл index.php в / var / www / html .
Затем добавьте следующую строку в файл:
Затем укажите браузеру:
Http: //localhost/index.php
Вы должны увидеть информацию, связанную с вашим сервером. Если вы этого не сделаете, убедитесь, что php установлен правильно, выполнив следующую команду:
php --version
https://riptutorial.com/ru/home 73
Если вы получите что-то вроде:
PHP 5.4.16 (cli) (built: Nov 6 2016 00:29:02) Copyright (c) 1997-2013 The PHP Group
Затем PHP устанавливается правильно. Если это так, убедитесь, что вы перезапустили свой веб-сервер.
Прочитайте Стек ЛАМПЫ онлайн: https://riptutorial.com/ru/linux/topic/6573/стек-лампы
https://riptutorial.com/ru/home 74
глава 21: Управление услугами
замечания
Некоторые системы с systemd, такие как Ubuntu, по-прежнему позволяют использовать команду service <name> [start|stop|status] , перенаправляя ее на systemctl [start|stop|status] <name> .
Examples
Запуск и остановка сервисов
В системах, использующих сценарии инициализации стиля System-V, такие как RHEL / CentOS 6:
service <service> start
service <service> stop
В системах с использованием systemd, таких как Ubuntu (Server and Desktop)> = 15.04 и RHEL / CentOS> = 7:
systemctl <service> dnsmasq
systemctl <service> dnsmasq
Получение статуса услуги
В системах, использующих сценарии инициализации стиля System-V, такие как RHEL / CentOS 6:
service <service> status
В системах с использованием systemd, таких как Ubuntu (Server and Desktop)> = 15.04 и RHEL / CentOS> = 7.0:
systemctl status <service>
Диагностика проблемы с услугой
В системах с использованием systemd, таких как Fedora => 15, Ubuntu (сервер и рабочий стол)> = 15.04 и RHEL / CentOS> = 7:
systemctl status [servicename]
... где [servicename] - рассматриваемая услуга; например, systemctl status sshd .
Это покажет базовую информацию о состоянии и любые последние зарегистрированные
https://riptutorial.com/ru/home 75
ошибки.
Вы можете увидеть дальнейшие ошибки с помощью journalctl . Например, journalctl -xe загрузит последнюю 1000 зарегистрированных в пейджер (например, less ), прыгая до конца. Вы также можете использовать параметр journalctl -f , который будет следить за сообщениями журнала по мере их поступления.
Чтобы просмотреть журналы для определенной службы, используйте флаг -t , например:
journalctl -f -t sshd
Другие удобные опции включают -p для приоритета ( -p warnings чтобы видеть только предупреждения и выше), -b для «с момента последней загрузки» и -S для «с тех пор», - вместе с этим мы могли бы сделать
journalctl -p err -S yesterday
чтобы увидеть все элементы, зарегистрированные как ошибки со вчерашнего дня.
Если параметр journalctl недоступен или если вы следуете журналам ошибок приложений, которые не используют системный журнал, команда tail может использоваться для отображения последних нескольких строк файла. Полезным флагом для хвоста является -f (для «follow»), который заставляет хвост продолжать показывать данные по мере добавления к файлу. Чтобы просмотреть сообщения от большинства служб в системе:
tail -f /var/log/messages
Или, если услуга имеет привилегию и может регистрировать конфиденциальные данные:
tail -f /var/log/secure
Некоторые службы имеют свои собственные файлы журналов, хорошим примером является auditd , демон аудита linux, который имеет свои журналы, хранящиеся в /var/log/audit/ . Если вы не видите вывод своей службы в /var/log/messages попробуйте найти специальные журналы службы в /var/log/
Прочитайте Управление услугами онлайн: https://riptutorial.com/ru/linux/topic/4809/
управление-услугами
https://riptutorial.com/ru/home 76
кредиты
S. No
Главы Contributors
1Начало работы с GNU / Linux
7heo.tk, Ajay Sangale, annaken, Armali, caped114, colelemonz, Community, Daniel Käfer, depperm, e.dan, EsmaeelE, Jarryd, Jensd, karel, KerDam, likewhoa, Mateusz Piotrowski, Mike P, mnoronha, Mohammad, Naveen Chakravarthy, Nikhil Raj, Paradox, Rubio, Sudip Bhandari, sudo, tedm1106, Tejus Prasad, TiansHUo, Todd, user, vishram0709, Whoami, Zumo de Vidrio
2 GnuPG (GPG) Aaron Skomra, BrightOne, Paradox, v7d8dpo4
3Midnight Commander
user
4 SCP manav m-n, Riley Guerin
5Безопасная оболочка (SSH)
Anagh Hegde, BrightOne, C.W.Holeman II, EsmaeelE, Filipe, Manuel, Rajesh Rengaraj, Todd, user
6Изменение пользователей
geek1011, mattdm
7Изменить корень (chroot)
BrightOne
8 команда ls foxtrot9, parkydr, Philip Kirkbride
9 команда tee BrightOne, kuldeep mishra
10Компиляция ядра Linux
Léo Léopold Hertz , Nathan Osman
11 конфигурация сети ctafur, Kiran Vemuri, Y4Rv1K
12Менеджеры пакетов
Paradox, Philip Kirkbride, Rubio
13Определение имени и версии дистрибутива Linux
Ani Menon, DaveM, fedorqui, lardenn, lcipriani, mattdm, Neil, Nikhil Raj, Sergey Stolyarov, Teddy
Получение информации о
14 fdeslaur, S.Rohit
https://riptutorial.com/ru/home 77
запущенном ядре Linux
15Получение информации о системе
christian x, Deepak K M, Kiran Vemuri, S.Rohit, Y4Rv1K
16Проверить пространство на диске
mertyildiran, zyio
17 РакушкаAnagh Hegde, Ani Menon, Arden Shackelford, caped114, Emmanuel Mathi-Amorim, Jahid, Jensd, lardenn, oznek, Paradox, Philip Kirkbride, Quaker, Rubio, Samuel L., user
18 Сервисы Ajay Sangale, Anagh Hegde, BrightOne, Federico Ponzi, leeor
19Сжатие файлов с помощью команды «tar»
Baard Kopperud, embedded, Marsso, Not22
20 Стек ЛАМПЫArden Shackelford, EsmaeelE, FOP, Nhan, Philip Kirkbride, S.Rohit
21Управление услугами
Flamewires, mattdm
https://riptutorial.com/ru/home 78