В этом ролике мы расскажем вам про джентльменский набор команд консоли – перечень самых используемых утилит, при помощи которых вы сможете чувствовать себя уверенным при работе в терминале, даже если ранее он вызывал у вас лишь страх и смущение. Мы расскажем вам о навигации в консоли, о манипуляции файлами и директориями, получении информации об их содержимом и т.д.
Расшифровка видео
Начало
0:00
Приветствуем вас всех на канале Easy it
0:02
Peas канале где вам помогают прокачаться
0:04
в сфере IT в сегодняшнем ролике мы
0:06
разберём джентльменский набор консольных
0:09
команд которые будет полезно знать
0:10
любому начинающему
0:12
разработчику вводная информация для тех
0:15
кто ранее не работал с консолью при
0:17
открытии терминала вы будете видеть
0:20
примерно такое Тёмное окно с подобной
0:22
надписью она называется приглашением
0:25
командной строки Она состоит из имени
0:28
пользователя разделителя виде собаки
0:30
имени компьютера и текущей рабочей
0:33
директории по умолчанию при открытии
0:36
терминала это директория пользователи
0:38
текущая Рабочая директория – это та
0:41
директория относительно которой будут
0:42
вызываться все команды и рассчитываться
0:45
относительные пути консольных команд
Состав джентльменского набора
0:47
существует много но в состав
0:48
джентльменское отбора были отобраны
0:50
только наиболее необходимые команды с
0:53
наиболее полезными опциями которые вы
0:55
будете часто использовать в процессе
0:57
своей работы все приведённые команды мы
1:00
с вами сейчас кратко разберём Первая
cd
1:02
команда – Это команда
1:05
CD команда изменяет ш текучую рабочую
1:08
директорию позволяя спускаться
1:09
подниматься по дереву директории
1:11
относительно текущей рабочей директории
1:13
либо перемещаться по абсолютному пути
1:16
параметром команды CD является путь
1:18
относительно текущей директории В
1:21
терминалах работает автодополнение
1:22
поэтому при нажатии клавиши можно
1:25
получить
1:26
подсказку Также можно перемещаться
1:31
пу пример таким
1:35
образом также существует возможность
1:38
перемещаться по специальным указателям
1:41
на текущую директорию и на родительскую
1:44
директорию для того чтобы вернуться в
1:47
домашнюю директорию можно вызвать CD без
1:50
параметров либо же передать в качестве
1:52
параметров значок Тильда и уже
1:54
относительно него вводить имена
1:57
последующих
1:58
директорий далее идёт команда LS L она
ls
2:02
выводит в консоль список всех объектов
2:04
находящихся в указанной директории Если
2:07
вызывать команду без каких-либо
2:08
аргументов будет использована текущая
2:11
Рабочая директория команда обладает
2:14
большим множеством опций но наиболее
2:16
полезными из них являются следующие
2:19
опции посмотрим на работу команды LS
2:22
Если вызывать её без аргументов мы
2:24
получим Список объектов текущей
2:26
директории если передать ей кабуд
2:30
например указатель на родительскую
2:32
директорию мы получим список всех
2:34
находящихся в ней объектов также мы
2:36
можем использовать опцию один для чати
2:40
объектов
2:41
столбик
2:42
опцию или для печати скрытых объектов в
2:47
данной папке скрытых объектов находятся
2:49
только специальные указатели на текущую
2:51
родительскую директорию также опции
2:54
можно совмещать
2:58
и опция которая печатает подробную
3:02
информацию о хранящихся объектах
3:04
информация об объекте состоит из его
3:07
имени времени дата последнего изменения
3:10
размера в байтах имени владельца и его
3:14
группы числа жёстких ссылок и строки
3:17
описывающие типы параметры доступа для
3:20
данного объекта жёсткая ссылка является
3:23
объектом операционной системы которая
3:25
ссылается на файлы при удалении файла
3:27
его данные не будут удалены из памяти
3:29
пока не будут удалены все жёсткие ссылки
3:31
на него из-за этого их можно
3:34
рассматривать как дополнительные имена
3:36
для данных на которые ссылается ссылка
3:40
точкой двоеточия являются специальными
3:43
системными объектами которые
3:44
рассматриваются как жёсткие ссылки на
3:46
директории они присутствуют в каждой
3:49
новой директории обеспечивают навигацию
3:51
в файловой системе Поэтому в списке
3:53
подробной информации от команды LS мы
3:55
будем видеть что каждая директория имеет
3:57
как минимум две жёсткие ссылки строка
4:00
описывающая тип системного объекта и
4:02
права доступа к нему состоит из
4:05
нескольких частей первый символ
4:07
обозначает тип системного объекта
4:09
остальная строка является символьным
4:11
представлением трёх чисел отвечающих за
4:13
доступ к объекту первые три символы
4:16
составляют собой три биты числа которые
4:19
обозначают права доступа владельца
4:22
объекта следующие Три символа отвечают
4:25
за право доступа к для группы владельца
4:28
объекта и последние Три символа для всех
4:31
остальных R отвечает за чтение в за
4:34
изменение X за исполнение соответственно
4:37
часть строки отвечающая за права доступа
4:40
может быть представлена в виде числа 755
4:43
она обозначает что владелец объекта
4:45
имеет все права на него группа владельца
4:48
и все остальные пользователи могут его
4:51
читать исполнять но не могут его
4:55
изменять команда пвд печатает консоль
pwd
4:58
полный ПК текучей рабочий директории Она
5:00
имеет две опции logical чата логический
5:03
путь с учётом символических ссылок и
5:06
physical чата путь без учёта
5:08
символических ссылок и на большинстве юк
5:11
систем он используется по умолчанию
5:13
символическая ссылка – это специальный
5:15
файл содержащий текстовую ссылку на
5:17
другой файл или директорию может хранить
5:20
Как абсолютные так и относительные пути
5:22
также имеет свой собственный системный
5:24
тип объекта используется для создания
5:26
срез к нужным файлам или директория при
5:29
удалении фай или директории на которые
5:31
она ссылается становится висячей или
5:34
битой директории Где я сейчас нахожусь
5:37
есть символические ссылки на две
5:40
папки мы можем перейти по символической
5:44
ссылке при помощи команды
5:46
CD и напечатать путь к текущей
5:49
директории при помощью pvd на подсистеме
5:51
Linux для Windows pvd используют по
5:54
умолчанию логические пути для получения
5:56
физического пути придётся использовать
5:59
флаг
mkdir
6:01
далее мы переходим к командам для работы
6:03
с файлами и директория и первой такой
6:05
командой будет команда дир она создаёт
6:07
директории с заданными именами и
6:09
принимает минимум один аргумент имя
6:12
директории текущей директории существует
6:15
только папка Go workspace создадим ещё
6:18
одну папку при помощи команды
6:21
дир папка создана успешно Также можно
6:25
создать сразу несколько папок при помощи
6:27
команды
6:28
mkd и можно создавать папки в других
6:33
директория следующим
6:40
образом Вот Мы создали пап бар в
6:43
директории команда она удаляет пустые
rmdir
6:47
директории в качестве аргумента список
6:49
масок имн директории минимум одну маска
6:52
является шаблоном ини обета кожа сные
6:58
сиво символов знак вопрос ровно один
7:01
любой символ В текущей рабочей
7:04
директории мы имеем следующие папки мы
7:07
можем удалить при помощи команды
7:10
дир все пустые папки мы можем
7:14
перечислить папки ба баз и они будут
7:17
удалены потому что они пустые мы не
7:19
сможем удалить папку P потому что в ней
7:22
имеется другая папка и поэтому она не
7:24
пустая создадим ещё несколько
7:28
папок
7:32
и смотрим на то какр удаляет их при
7:35
помощи
7:40
масок было удалено только две папки 1 и
7:44
3 потому что только они соответствуют
7:46
следующим
touch
7:48
маскам команда создаёт один или
7:51
несколько файлов с заданными именами Она
7:53
имеет ряд опций для работы с временем
7:56
модификации доступа к файлу они не были
7:59
включены в джентльменский набор из-за
8:01
своей
8:02
специфики в данный момент мы находимся в
8:04
директории и в ней не имеется никаких
8:07
файлов создадим какой-нибудь файл при
8:09
помощи команды
8:11
[музыка]
8:13
tch файл был успешно создан также при
8:16
помощи команды tch мы можем создать
8:18
несколько файлов следующим
8:21
[музыка]
Консольный редактор
8:24
образом Следующий пункт не относится к
8:26
какой-либо конкретной команде
8:29
подчеркивает определённый навык а именно
8:31
умение редактировать какой-либо файл из
8:33
консоли на большинстве систем по
8:36
умолчанию имеются консольные редакторы
8:38
NAN и или Vim знать их вдоль поперёк
8:41
необязательно Но вам пригодятся базовые
8:43
навыки по работе с ним также у всех
8:46
новичков которые первый раз запускают
8:48
редактор wm возникает вопрос как из него
8:50
выйти пото что это достаточно
8:52
нетривиальная задача ниже переведён
8:54
список команд который позволит вам выйти
8:56
из
8:57
редактора как упоминалось
8:59
кон ректо удобны для того чтобы внести
9:02
быстро правки в какой-либо файл Допустим
9:05
мы хотим поправить файл ATX мы его
9:08
открываем видим там какую-то хрень
9:11
быстро её удаляем вносим новую
9:15
[музыка]
9:16
хрень сохраняем это правки осуществлены
9:20
также редактор ви убн тем что у него
9:23
есть встроенный проводник файлов
9:27
вызывается команда с помощью него мы
9:30
можем переходить по различным
9:33
[музыка]
9:36
директория также создавать новые
9:47
файлы выбрать консольный редактор и
9:49
ознакомиться с его набором команд вам
9:52
предлагается самостоятельно команда
rm
9:55
используется для удаления объектов он
9:57
принимает в качестве аргумента список
9:59
масок минимум одну имеет ряд полезных
10:02
опций наиболее полезные из них – это г R
10:05
при передаче директории он удаляет её
10:08
вместе со всем её содержимым флаг F
10:11
предотвращает возможные уточняющие
10:13
вопросы и флаг V сообщает о каждом
10:16
удалённом объекте в данной директории у
10:19
нас имеются следующие файлы Допустим мы
10:22
хотим удалить
10:24
файл
10:27
пишем фай также как можно удалять
10:31
объекты при помощи масок посмотрим на
10:35
удаление папки совм её содержимым удалим
10:40
папку
10:43
пишем и указываем
10:47
директорию она была успешно удалена со
10:49
всем её
cp
10:51
содержимым команда C используется для
10:53
копирования файлов и директорий
10:56
принимает
10:58
ие им ректори куда будут помещены копии
11:02
В текущей директории в данный момент
11:04
Имеется два файла одна
11:07
папка папка пустая Допустим мы хотим
11:10
копировать один из скриптов папку для
11:13
этого мы вводим команду CP пишем
11:20
scripts мы копировали
11:23
scripts с помы можем копировать неско
11:27
фав это по
11:37
маске команда MV используется для
mv
11:40
перемещения переименования файлов и
11:42
директорий данный текущий директории мы
11:45
имеем два файла и одну папку которую мы
11:48
прежде копировали эти два
11:51
файла очистим данную
11:53
[музыка]
11:55
папку таким образом она теперь пустая
11:58
далее переименую один из файлов при
12:00
помощи команды MV переименуй файл Script
12:04
JS в Index
12:08
JS ныне файл переименован
12:27
переместимся
12:30
Таким образом мы
12:35
переименовывает как двигаться дальше
12:37
стоит разобрать то как программы
12:39
печатают сообщения в консоль программа
12:42
выводит сообщения о своей работе в std
12:44
Out стандартный поток вывода это особый
12:46
объект операционной системы откуда
12:48
пользователь видит сообщение из
12:50
терминала также программа выводит
12:52
сообщение об ошибках в stdr стандартный
12:54
поток ошибок откуда пользователь также
12:56
может видеть сообщение с терминала
12:59
выводы сообщений по умолчанию можно
Операторы перенаправления потоков
13:01
изменить при помощи операторов
13:03
перенаправления оператор знака больше
13:06
перенаправляет стандартный поток вывода
13:07
в указанный
13:09
файл оператор 2 больше перенаправляет
13:12
стандартный поток ошибок в указанный
13:14
файл оператор состоящий из двух знаков
13:16
больше аналогичен первому но добавляет
13:19
вывод к существующему содержимому вместо
13:22
его затирания последний оператор
13:24
перенаправляет стандартный поток ошибок
13:26
в стандартный поток вывода
echo
13:29
операторы перенаправления можно
13:31
использовать любыми программами но
13:33
особенно полезны они будут при работе со
13:36
следующими двумя командами Первая
13:38
команда – это Эхо она печатает
13:40
переданное сообщение выводя его в
13:42
стандартный поток вывода также она
13:45
особенно полезна для проверки значений
13:47
переменных окружения Т конкани то есть
cat
13:50
объединяет содержимое указанных файлов и
13:53
выводит в результат стандартный поток
13:55
вывода также мы будем использовать
clear
13:57
команду Clear она очищает экран
14:00
терминала от сообщений это полезно чтобы
14:02
убрать результаты предыдущих команд
14:04
чтобы они больше нам не Мешались команда
14:07
Эхо позволяет нам печатать любое
14:09
сообщение в стандартный поток вывода
14:11
соответственно когда мы передаём ей
14:13
параметр ха он печатает его к нам в
14:15
терминал особенно полезна эта команда
14:18
для инспектирования значений переменных
14:20
окружения например с помощью неё мы
14:22
можем посмотреть значение переменное
14:25
окружение лишний текст можно стереть с
14:27
терминалом упом ранее команды Clear
14:30
также эха часто применяется с
14:32
упомянутыми операторами перенаправления
14:34
потоков то есть мы можем перенаправить
14:36
сообщение
14:39
файл H txt заметьте сообщение не было
14:42
напечатано в терминал потому что
14:44
стандартный поток вывода был
14:45
перенаправлен файл про инспектировать
14:48
его содержимое мы можем при помощи
14:50
команды Cat показанный оператор
14:52
перенаправление переписывает файлы
14:55
Поэтому если мы захотим отправить новое
14:57
сообщение в
15:00
TT мы потеряем старые данные для того
15:04
чтобы добавить их к существующему файлу
15:06
без
15:08
перезаписывает использовать оператор
15:10
состоящий из двух знаков более таким
15:14
образом содержит теперь два сообщения
15:16
посмотрим работу вывода сообщения об
15:19
ошибках при помощи
15:21
команды если вызвать е не передав
15:23
аргументов она Верт намб можем
15:27
переправить
15:30
Error txt при помощи оператора д больше
15:35
более мы не видим ошибку и
15:38
проинспектировал при помощи команды Cat
15:40
также команда Cat может выводить на
15:42
экран объединённое содержимое нескольких
15:44
файлов мы можем передать ей маску зто
15:48
txt и она ведёт нам объединённое
15:51
содержание обоих файлов для демонстрации
15:54
работы последнего оператора
15:56
перенаправления создадим папку
16:00
а затем попробуем создать эту же папку
16:03
вместе с
16:05
другой используем флаг verbos V для того
16:09
чтобы эмдер выводил сообщения о
16:11
созданных
16:12
папках указываем папку F и папку бар
16:16
пере направляем результаты об успешной
16:18
работе fil Out
16:21
txt и с
16:23
помощью данного оператора пере
16:26
направляем поток ошибок в тот же файл
16:29
теперь когда мы инспектирует
16:32
что туда были записаны как сообщения
16:35
стандартного потока вывода и
16:37
стандартного потока ошибок команда
chmod
16:41
позволяет нам изменять биты доступа для
16:44
указанных объектов это можно делать
16:46
указывая численное представление вектора
16:49
доступа о котором рассказывалось ранее
16:52
либо при помощи опции плюс минус ра с
16:56
оден символами владельца объекта его
16:59
группу другие группы и всех
17:02
пользователей
17:03
соответственно посмотрим на работу
17:05
команды на примере файлов из данной
17:10
директории напечатаем их с подробной
17:12
информацией чтобы увидеть их текущие
17:15
правила доступа Допустим мы хотим
17:17
установить для файла H txt такие права
17:21
чтобы его мог читать и изменять только
17:24
владелец объекта Но с ним ничего не
17:26
могли делать все остальные польз
17:29
для этого мы можем вызвать команду и
17:31
указать число 600 и фай txt теперь когда
17:36
мы вводим эту команду можно видеть
17:39
результат работы команды И что мы
17:42
действительно изменили правила доступа
17:44
для этого файла также биты доступа можно
17:47
изменять при помощи
17:51
символов
17:54
соответственно символ Владе обета символ
17:59
группы владельца символ для всех других
18:01
групп и символ для всех других
18:03
пользователей Например я хочу чтобы файл
18:06
RT был исполняемым и причём только для
18:09
владельца объекта я ввожу П x Что
18:14
значит добавить бит исполнения для файла
18:20
rtt теперь файл является исполняемым
18:23
только для пользователя Гру теперь
18:26
допустим я хочу забрать права это файла
18:29
у группы владельца объекта и всех
18:31
остальных групп для этого я ввожу
18:33
команду
18:35
мину
18:38
V
18:41
rtt мы успешно забрали эти права у
18:45
данных групп на этот файл Также можно
18:48
установить значение определённых битов
18:51
при помощи символ равно Допустим мы
18:53
хотим изменить все txt файлы в данной
18:55
директории сделать так чтобы все
18:59
читать или изменять для этого мы вводим
19:03
команду
19:06
ра и указываем все те
19:10
файла все не упомянутые биты
19:13
отбрасываются и устанавливаются в
19:16
ноль команда позволяет порционно
less
19:19
просматривать большой результат
19:21
выполнения какой-либо команды допустим я
19:24
получить список всех
19:27
из для это ввожу команду
19:31
lsb И получаю список всех утилит но я
19:35
получаю его с конца и так его смотреть
19:37
не очень удобно Для того чтобы сделать
19:41
это более удобным я буду использовать
19:44
команду помощи оператора па оператор пай
19:47
используется для того чтобы
19:48
перенаправить стандартный поток вывода
19:51
предыдущей
19:52
команды стандартный поток ввода данных
19:55
следующей команды таким обм получаю
19:58
список тех команд порционно я могу
20:02
просматривать его при помощи стрелочек
20:04
вниз и
20:06
вверх если мне надо будет выйти из этого
20:09
режима мне надо будет лишь нажать кнопку
20:11
Q следующей полезной команд будет
ps aux
20:14
команда PS а точнее её под коман PS Она
20:19
позволяет просматривать подробную
20:20
информацию о всех запущенных процессах в
20:23
рамках
20:24
джентльменское уметь находить се помощью
20:27
нужного процесса Она часто используется
20:30
в связке с греб следующие утилиты
grep
20:32
который мы также будем рассматривать
20:34
греб фильтрует переданные текст при
20:36
помощи заданного регулярного выражения
20:38
разбор синтаксиса регулярных выражений
20:41
не входит в джентльменский набор и его
20:43
можете изучить самостоятельно чаще всего
20:46
он также используется в связке с другими
20:49
командами
20:50
оператором если мы введём команду PS
20:53
просто так мы получим большой список
20:55
текущих процессов в рамках
20:58
набо нам надо уметь находить Пит
21:00
интересующих нас
21:02
процессов выделим процессы связанные с
21:05
текущим
21:06
пользователем для этого мы вводим
21:09
команду
21:12
P и имя текущего пользователя Мы видим
21:16
что из всех процессов в данный момент с
21:18
текущим пользователем связана Только эта
21:21
запись команда или е альтернатива
kill/pkill
21:24
завершат выполнение заданного процесса
21:28
опции мину де она сразу убивает процесс
21:30
не давая ему провести завершение своей
21:32
работы бывает порой полезно для
21:34
устранения зависших процессов Кил
21:36
принимает в качестве аргумента список
21:38
пидов процессов в время как Кил
21:41
принимает в качестве аргумента маски
21:43
имён процессов в данный момент у меня
21:45
открыто два сеанса консоли в первом мы
21:48
вызовем команду СП которая будет спать
21:51
120 секунд перейдём во второй сеанс и
21:54
уже при помощи известной нам связки PS
21:58
АК с
22:00
Командо найдём процесс
22:05
слип мы нашли процесс слип и мы видим
22:08
его Пит передав этот Пит команде мы
22:12
сможем убить этот
22:14
процесс вернувшись к первому консольно
22:16
диалогу Мы видим что процесс слип был
22:19
Термини также этот процесс можно
22:22
прервать без использования
22:24
команды сразу обратившись кома
22:28
ей маску процессов в данном случае я
22:31
передаю ей имя процесса
22:34
СП процесс также успешно
22:37
прерывается команда суда позволяет
sudo
22:39
исполнить другую команду от имени и с
22:41
привилегиями другого пользователя по
22:44
умолчанию привилегиями суперпользователя
22:47
требуется для внесения изменений в
22:49
системные каталоги и в ряде других
22:51
случаев команда является основным
tar
22:54
инструментом архивирования файло
22:56
в управляется своими опциями часть
22:59
которых Вы можете видеть на экране для
23:02
демонстрации работы команды tar мы
23:04
попробуем заархивировать папку
23:07
Bar для того чтобы создать архив при
23:10
помощи команды tar необходимо указать
23:12
опцию C чтобы использовать архиватор
23:15
gzip получить архив в формате tgz
23:19
необходимо использовать опцию Z для того
23:22
чтобы произвела печать всех архивируемых
23:25
файлов требуется указать опцию
23:29
наконец для указания имени архива
23:31
требуется опция F далее мы указываем имя
23:34
архива заём его просто My
23:41
Archive гз и передадим ему папку бара
23:45
получили список всех заархивированный
23:47
файлов и видим что у нас появился архив
23:51
по имени My tgz чтобы его
23:54
разархивировать допустим в
23:56
папке мы
23:58
используем команду tar X для
24:02
разархивирование V для списка
24:07
разархивирование имени
24:10
архива указываем имя
24:14
архива И теперь у нас в папке Full
24:21
разархивировать мощным инструментом с
24:23
большим множеством опций И вам
24:25
предлагается их рассмотреть
24:26
самостоятельно
24:29
Вот мы и закончили обзор джентльменское
24:31
набора консольных команд теперь Вы
24:33
будете более уверено чувствовать себя
24:34
при работе в терминале а также получили
24:37
важный навык который сделает вас более
24:39
ценным в глазах
24:40
работодателя Подписывайтесь на наш канал
24:43
YouTube а также на наши ресурсы
24:45
ВКонтакте и Telegram там мы выкладываем
24:47
множество интересных статей которые
24:49
помогут вам быстрее получить свои первые
24:51
офер в it