Введение
В этой лабораторной работе вы изучите основы навигации и управления файлами в Kali Linux — мощной операционной системе, широко используемой для обеспечения кибербезопасности и тестирования на проникновение. Выполнив практические упражнения, вы познакомитесь с основными командами Linux, такими как pwd, ls, cd, touch, nano, cp, rm и cat. Данная работа содержит пошаговые инструкции, которые помогут вам сформировать уверенные навыки работы с файлами и директориями в среде Linux. Все действия будут выполняться внутри Docker-контейнера Kali Linux, который настраивается автоматически. При открытии терминала вы сразу попадете в оболочку (shell) контейнера и сможете приступить к практике.
Начало работы в контейнере Kali Linux
На этом первом этапе вы познакомитесь со средой контейнера Kali Linux, где будет проходить вся ваша практика. Контейнер был автоматически развернут для вас на виртуальной машине LabEx. Когда вы открываете терминал, вы напрямую подключаетесь к оболочке контейнера Kali Linux, поэтому нет необходимости запускать его или подключаться к нему вручную.
Давайте разберем базовую концепцию для новичков. Kali Linux — это специализированный дистрибутив Linux, предназначенный для задач кибербезопасности и наполненный инструментами для тестирования на проникновение. Запуск его в Docker-контейнере обеспечивает изолированную и легковесную среду для обучения, не затрагивающую основную систему. Терминал, который вы используете — это ваш шлюз для взаимодействия с этой средой с помощью команд.
Выполните следующие действия, чтобы подтвердить, что вы находитесь в нужной среде.
- Откройте терминал в среде виртуальной машины LabEx. Это можно сделать, нажав на иконку терминала на рабочем столе Xfce или воспользовавшись терминалом, встроенным в интерфейс LabEx. После открытия вы увидите приветственное сообщение, указывающее на то, что вы находитесь в оболочке контейнера Kali Linux. Приглашение командной строки, скорее всего, будет выглядеть как
root@xxxxxxxxxxxx:/#, что означает, что вы вошли в систему под пользователем root внутри контейнера.

Подтвердите свое текущее местоположение в файловой системе, введя следующую команду и нажав Enter:
pwdРезультат должен быть:
/Это означает, что вы находитесь в корневом каталоге — самом верхнем уровне иерархии файловой системы Linux. Команда
pwdрасшифровывается как "print working directory" (вывести рабочую директорию) и используется для отображения вашего текущего пути.Оставайтесь в оболочке контейнера Kali Linux для всех последующих шагов. Если вы случайно выйдете, введя
exitили нажавCtrl+D, просто снова откройте терминал в виртуальной машине LabEx, и вы автоматически переподключитесь к контейнеру.
Теперь вы подтвердили свою начальную точку в контейнере Kali Linux. На следующем этапе вы изучите содержимое вашей текущей директории.
Изучение содержимого директории с помощью ls
На этом этапе вы научитесь просматривать содержимое директории с помощью команды ls внутри контейнера Kali Linux. Эта команда необходима для понимания того, какие файлы и папки находятся в вашем текущем местоположении, прежде чем выполнять какие-либо операции.
Разберем ключевую концепцию. В Linux файловая система организована в виде древовидной структуры, где директории содержат файлы и другие директории. Команда ls выводит список содержимого директории, помогая вам увидеть доступные объекты. Вы можете использовать дополнительные опции с ls, чтобы получить более подробную информацию об элементах списка.
Поскольку вы уже находитесь в оболочке контейнера Kali Linux, выполните следующие действия для изучения корневого каталога.
Введите следующую команду и нажмите Enter, чтобы вывести список содержимого текущей директории (корневого каталога
/):lsВывод будет выглядеть примерно так:
bin boot dev etc home lib lib32 lib64 libx32 media mnt opt proc root run sbin srv sys tmp usr varЭто стандартные директории системы Linux. Например,
binсодержит исполняемые файлы, аetc— конфигурационные файлы.Чтобы увидеть больше деталей об этих директориях, используйте команду
lsс опцией-lдля вывода в длинном формате. Введите следующую команду и нажмите Enter:ls -lВ выводе появится дополнительная информация, такая как права доступа, владелец, размер и дата изменения, например:
total 72 drwxr-xr-x 2 root root 4096 Oct 10 10:00 bin drwxr-xr-x 2 root root 4096 Oct 10 10:00 boot drwxr-xr-x 13 root root 4096 Oct 10 10:00 dev drwxr-xr-x 85 root root 4096 Oct 10 10:00 etc ...Опция
-lпомогает понять свойства каждого объекта в директории.Оставайтесь в оболочке контейнера для следующих шагов. Не закрывайте терминал.
Вы успешно использовали команду ls для изучения содержимого корневого каталога. На следующем этапе вы научитесь перемещаться между директориями.
Навигация по директориям с помощью cd
На этом этапе вы научитесь перемещаться между директориями в контейнере Kali Linux с помощью команды cd. Эта команда, название которой происходит от "change directory" (сменить директорию), позволяет вам перемещаться по файловой системе для доступа к различным папкам, что является критически важным навыком при работе в Linux.
Объясним фундаментальную концепцию. Файловая система Linux похожа на дерево, где корневой каталог / находится на вершине, а остальные директории расходятся от него как ветви. Навигация с помощью cd позволяет переходить в конкретные места, где хранятся файлы или инструменты. Вы можете указать полный путь, например /home, или использовать сокращения, такие как .., чтобы подняться на один уровень выше в родительскую директорию.
Поскольку вы находитесь в оболочке контейнера Kali Linux, выполните следующие действия для практики навигации.
Подтвердите свое текущее местоположение, введя следующую команду и нажав Enter:
pwdРезультат должен быть:
/Это подтверждает, что вы находитесь в корневом каталоге.
Перейдите в директорию
/home, введя следующую команду и нажав Enter:cd /homeКоманда
cdменяет вашу текущую рабочую директорию на указанный путь, в данном случае/home.Проверьте ваше новое местоположение, введя следующую команду и нажав Enter:
pwdРезультат должен быть:
/homeВыведите список содержимого директории
/home, чтобы увидеть, что там находится. Введите следующую команду и нажмите Enter:lsВывод может быть пустым или содержать минимум объектов, так как контейнер запускается с базовой конфигурацией.
Вернитесь в корневой каталог, используя сокращение
... Введите следующую команду и нажмите Enter:cd ..Это переместит вас на один уровень вверх в родительскую директорию, которой является
/.Снова подтвердите свое местоположение, введя следующую команду и нажав Enter:
pwdРезультат должен быть:
/Оставайтесь в оболочке контейнера для следующих шагов. Не закрывайте терминал.
Теперь вы научились перемещаться по директориям с помощью команды cd. На следующем этапе вы создадите рабочую директорию и файлы для практики управления данными.
Создание и редактирование файлов с помощью mkdir, touch и nano
На этом этапе вы научитесь создавать директории и файлы, а также редактировать текстовые файлы в контейнере Kali Linux с помощью команд mkdir, touch и nano. Это важные навыки для организации и управления данными в Linux.
Рассмотрим базовые понятия. Директория — это папка, в которой могут храниться файлы и другие директории; она создается с помощью mkdir (make directory). Команда touch создает пустой файл, что полезно для создания заготовок или быстрой проверки прав доступа. Команда nano открывает простой текстовый редактор прямо в терминале, позволяя добавлять или изменять содержимое файлов. Эти инструменты являются основополагающими для многих задач в Linux.
Выполните следующие действия, чтобы создать директорию и файл в оболочке контейнера Kali Linux.
Подтвердите свое текущее местоположение, введя следующую команду и нажав Enter:
pwdРезультат должен быть:
/Если вы не в корневом каталоге, перейдите туда с помощью
cd /.Создайте новую директорию с именем
myprojectв корневом каталоге для организации ваших файлов. Введите следующую команду и нажмите Enter:mkdir /myprojectЕсли команда выполнена успешно, вывода не будет. Это создаст директорию по пути
/myproject.Перейдите в директорию
/myproject, введя следующую команду и нажав Enter:cd /myprojectПроверьте ваше местоположение, введя следующую команду и нажав Enter:
pwdРезультат должен быть:
/myprojectСоздайте пустой текстовый файл с именем
notes.txtв директории/myprojectс помощью командыtouch. Введите следующую команду и нажмите Enter:touch notes.txtПри успешном выполнении вывода не будет. Это создаст пустой файл
/myproject/notes.txt.Убедитесь, что файл был создан, просмотрев список содержимого директории. Введите следующую команду и нажмите Enter:
lsВывод должен показать:
notes.txtПоскольку
nanoможет быть не предустановлен в минимальном контейнере Kali Linux, сначала установите его. Введите следующие команды, чтобы обновить список пакетов и установитьnano. Нажимайте Enter после каждой команды:apt update apt install -y nanoПервая команда
apt updateобновляет информацию о доступных пакетах, а втораяapt install -y nanoустанавливает редакторnanoбез запроса подтверждения. Это может занять некоторое время, вы увидите процесс установки в терминале.Добавьте содержимое в
notes.txtс помощью редактораnano. Введите следующую команду и нажмите Enter:nano notes.txtКогда
nanoоткроется, вы увидите пустой экран с меню внизу. Введите следующий текст:Learning file management in Kali Linux.Используйте клавиши со стрелками для перемещения курсора, если это необходимо.
Сохраните изменения и выйдите из
nano, выполнив следующие действия:- Нажмите
Ctrl + O, чтобы записать изменения, затем нажмите Enter для подтверждения имени файла. - Нажмите
Ctrl + X, чтобы выйти из редактора. Вы вернетесь в терминал.
- Нажмите
Оставайтесь в оболочке контейнера для следующих шагов. Не закрывайте терминал.
Вы успешно создали директорию и файл, а также отредактировали содержимое с помощью mkdir, touch и nano. На следующем этапе вы научитесь копировать и удалять файлы.
Копирование и удаление файлов с помощью cp и rm
На этом этапе вы научитесь копировать и удалять файлы в контейнере Kali Linux с помощью команд cp и rm. Эти операции крайне важны для управления файлами, например, для создания резервных копий или очистки системы от ненужных данных.
Разберем эти понятия. Команда cp (сокращение от "copy") дублирует файлы или директории в другое место или под другим именем. Команда rm (сокращение от "remove") удаляет файлы или директории. Будьте осторожны с rm, так как в Linux она удаляет объекты безвозвратно — здесь нет "корзины" или простого способа восстановления.
Поскольку вы находитесь в оболочке контейнера Kali Linux, выполните следующие действия для практики в директории /myproject.
Подтвердите свое текущее местоположение, введя следующую команду и нажав Enter:
pwdРезультат должен быть:
/myprojectЕсли вы не в
/myproject, перейдите туда с помощью:cd /myprojectУбедитесь, что
notes.txtсуществует, просмотрев список содержимого. Введите следующую команду и нажмите Enter:lsВывод должен показать:
notes.txtСоздайте копию файла
notes.txtс именемnotes_backup.txtв той же директории с помощью командыcp. Введите следующую команду и нажмите Enter:cp notes.txt notes_backup.txtПри успешном выполнении вывода не будет. Это создаст дубликат
notes.txtпод именемnotes_backup.txtв папке/myproject.Убедитесь, что копия создана, просмотрев список содержимого. Введите следующую команду и нажмите Enter:
lsВывод должен показать:
notes.txt notes_backup.txtУдалите скопированный файл
notes_backup.txtс помощью командыrm. Введите следующую команду и нажмите Enter:rm notes_backup.txtПри успешном выполнении вывода не будет. Это удалит
notes_backup.txtиз/myproject.Убедитесь, что файл удален, снова просмотрев список содержимого. Введите следующую команду и нажмите Enter:
lsВывод должен показать:
notes.txtОставайтесь в оболочке контейнера для последнего шага. Не закрывайте терминал.
Теперь вы научились копировать и удалять файлы с помощью cp и rm. На финальном этапе вы научитесь просматривать содержимое файлов без открытия их в редакторе.
Просмотр содержимого файлов с помощью cat
На этом заключительном этапе вы научитесь просматривать содержимое файла в контейнере Kali Linux с помощью команды cat. Это быстрый способ вывести текст файла прямо в терминал без необходимости открывать его в редакторе.
Поясним это понятие. Команда cat (сокращение от "concatenate") используется для вывода всего содержимого файла в терминал. В отличие от редактора nano, который позволяет вносить правки, cat предоставляет режим только для чтения, что делает его идеальным для быстрой проверки небольших файлов или скриптов.
Поскольку вы находитесь в оболочке контейнера Kali Linux, выполните следующие действия для просмотра содержимого файла в /myproject.
Подтвердите свое текущее местоположение, введя следующую команду и нажав Enter:
pwdРезультат должен быть:
/myprojectЕсли вы не в
/myproject, перейдите туда с помощью:cd /myprojectУбедитесь, что
notes.txtсуществует, просмотрев список содержимого. Введите следующую команду и нажмите Enter:lsВывод должен показать:
notes.txtПросмотрите содержимое
notes.txtс помощью командыcat. Введите следующую команду и нажмите Enter:cat notes.txtВ терминале должно отобразиться содержимое файла, например:
Learning file management in Kali Linux.Если файл пуст или не существует, вы не увидите вывода или получите сообщение об ошибке.
Вы можете остаться в оболочке контейнера для дальнейшего изучения. Если вы хотите вернуться в терминал виртуальной машины LabEx, введите
exitили нажмитеCtrl+D. Повторное открытие терминала автоматически переподключит вас к контейнеру.
Вы завершили основные задачи по управлению файлами и директориями в этой лабораторной работе, научившись просматривать содержимое файлов с помощью cat.
Резюме
В этой лабораторной работе вы освоили фундаментальные навыки навигации и управления файлами в Kali Linux внутри Docker-контейнера. Вы начали с ознакомления со средой контейнера, доступ к которой осуществляется автоматически через терминал. Вы изучили основные команды, такие как pwd для проверки местоположения, ls для вывода списка содержимого и cd для перемещения по директориям. Кроме того, вы попрактиковались в создании директорий и файлов с помощью mkdir и touch, редактировании содержимого в nano, копировании и удалении файлов с помощью cp и rm, а также в просмотре содержимого файлов через cat. Эти навыки составляют прочную основу для работы в среде Linux, что крайне важно для выполнения задач по кибербезопасности в Kali Linux.


