Введение
Добро пожаловать на лабораторную работу по основам работы с файлами в Linux! В системе Linux практически всё рассматривается как файл, поэтому умение манипулировать ими является фундаментом для работы в системе. В ходе этой работы вы познакомитесь с наиболее часто используемыми командами для управления файлами и директориями, что поможет вам уверенно ориентироваться и поддерживать порядок в вашей системе Linux.
Знакомство с рабочей средой
В Linux у каждого пользователя обычно есть «домашний каталог», который обозначается символом ~. Однако в данной лабораторной среде мы начнем работу в каталоге /home/labex/project, который является нашей рабочей директорией по умолчанию.
Для начала откройте терминал на рабочем столе ИЛИ переключитесь на вкладку терминала в интерфейсе лабораторной среды.

Давайте определим наше текущее местоположение:
pwd
Команда pwd расшифровывается как "print working directory" (вывести рабочий каталог). Она показывает, где именно в файловой системе вы находитесь в данный момент. Эта команда незаменима для ориентации в структуре папок Linux. В выводе вы должны увидеть /home/labex/project.
Теперь давайте изучим связь между текущим каталогом и домашним каталогом:
echo ~
Примечание: Если вы не можете ввести символ
~в терминале рабочего стола из-за особенностей раскладки клавиатуры, попробуйте переключиться на отдельную вкладку Terminal в верхнем левом углу интерфейса виртуальной машины.
Эта команда выведет путь к вашему домашнему каталогу, который должен выглядеть как /home/labex.
Чтобы просмотреть содержимое текущего каталога, используйте:
ls
Эта команда выведет список файлов и папок в вашей текущей рабочей директории (/home/labex/project).
Давайте также проверим содержимое домашнего каталога:
ls ~
Эта команда покажет содержимое домашнего каталога, которое может отличаться от содержимого текущей рабочей директории.
Понимание разницы между текущим рабочим каталогом и домашним каталогом — важный навык для эффективной навигации в Linux.
Навигация по файловой системе
Linux использует так называемую «иерархическую файловую систему». Представьте её в виде большого дерева с ветвями. Главный ствол называется «корневым каталогом» и обозначается одиночным прямым слешем /. Все остальные папки и файлы растут из этого корня.
Давайте попрактикуемся в перемещении по этому «дереву»:
- Проверьте ваше текущее местоположение:
pwd
Должно отобразиться /home/labex/project. Если это не так, возможно, вы перешли в другое место. Используйте cd /home/labex/project, чтобы вернуться в исходную точку.
- Просмотрите содержимое текущего каталога:
ls
Команда выводит список всех файлов и папок. Сейчас каталог /home/labex/project пуст, поэтому вы ничего не увидите.
- Поднимитесь на один уровень выше, в родительский каталог:
cd ..
Символы .. означают «каталог уровнем выше». После выполнения этой команды снова введите pwd. Теперь вы должны находиться в /home/labex.
- Вернитесь в каталог проекта:
cd project
Это вернет вас обратно в /home/labex/project.
- Перейдите в домашний каталог:
cd ~
Символ ~ — это сокращение для вашего домашнего каталога. Выполните pwd, чтобы подтвердить, что вы находитесь в /home/labex.
- Вернитесь в каталог проекта, используя абсолютный путь:
cd /home/labex/project
Это называется «абсолютным путем», потому что он начинается от самого корня (/) и указывает полное местоположение.
Создание файлов и просмотр содержимого каталогов
Теперь, когда мы освоили навигацию, давайте создадим несколько файлов и изучим различные способы просмотра содержимого папок.
Сначала убедитесь, что вы находитесь в каталоге /home/labex/project:
cd /home/labex/project
- Создадим несколько файлов:
touch file1.txt
Команда touch используется для создания пустого файла. Если файл уже существует, она просто обновит метку времени файла, не меняя его содержимого. Это самый простой способ быстро создать новый пустой файл.
echo "Hello, Linux" > file2.txt
Эта команда выполняет два действия:
echoвыводит текст.- Символ
>перенаправляет этот вывод в файл с именемfile2.txt. Если файла нет, он будет создан. Если он существует, его содержимое будет полностью заменено.
echo "Hidden file" > .hiddenfile
Так создается скрытый файл. В Linux любой файл или каталог, имя которого начинается с точки (.), считается скрытым.
- Теперь создадим директорию:
mkdir testdir
Команда mkdir (сокращение от "make directory") создает новую папку с именем testdir.
- Обычный просмотр списка:
ls

Вы увидите содержимое текущего каталога: file1.txt, file2.txt и testdir.
- Подробный список:
ls -l
Опция -l (строчная буква L) выводит список в «длинном» формате. Вы увидите дополнительные сведения: права доступа, владельца, размер и дату изменения.
- Отображение скрытых файлов:
ls -a
Эта команда покажет все файлы, включая скрытый .hiddenfile, который мы создали ранее.
- Комбинирование опций:
ls -la
Здесь объединяются подробный формат (-l) и отображение всех файлов (-a).
- Просмотр содержимого конкретной директории:
ls -l testdir
Эта команда покажет содержимое папки testdir (на данный момент она должна быть пуста).
Копирование файлов и директорий
Теперь, когда у нас есть файлы для работы, научимся их копировать:
- Копирование файла:
cp file1.txt file1_copy.txt
Это создаст копию file1.txt под именем file1_copy.txt в текущем каталоге.
Проверим результат:
ls
- Копирование файла в другую директорию:
cp file2.txt testdir/
Эта команда копирует file2.txt внутрь папки testdir.
- Копирование директории:
cp -r testdir testdir_copy
Опция -r означает "recursive" (рекурсивно). Она обязательна при копировании папок, чтобы гарантировать, что всё их содержимое также будет скопировано.
- Проверим наши копии:
ls
ls testdir
ls testdir_copy

Перемещение и переименование файлов и директорий
Команда mv в Linux используется как для перемещения, так и для переименования объектов:
- Переименование файла:
mv file1.txt newname.txt
Это изменит имя file1.txt на newname.txt.
- Перемещение файла в директорию:
mv newname.txt testdir/
Файл newname.txt переместится внутрь папки testdir.
- Переименование директории:
mv testdir_copy new_testdir
Папка testdir_copy теперь будет называться new_testdir.
- Перемещение и переименование одной командой:
mv testdir/newname.txt ./original_file1.txt
Эта команда вытаскивает newname.txt из папки testdir в текущий каталог и одновременно переименовывает его в original_file1.txt.
- Проверим изменения:
ls
ls testdir

Удаление файлов и директорий
Удаление — это серьезная операция. В отличие от графических интерфейсов, в командной строке часто нет «Корзины». Удаление с помощью rm обычно безвозвратно. Всегда внимательно проверяйте команды перед нажатием Enter!
Давайте наведем порядок и удалим созданные нами объекты. Убедитесь, что вы находитесь в /home/labex/project.
pwd
ls -a
Вы должны увидеть файлы original_file1.txt, .hiddenfile, file2.txt и папки testdir, new_testdir.
-rw-rw-r-- 1 labex labex 12 May 3 08:44 .hiddenfile
-rw-rw-r-- 1 labex labex 0 May 3 08:45 file1_copy.txt
-rw-rw-r-- 1 labex labex 13 May 3 08:44 file2.txt
drwxrwxr-x 2 labex labex 23 May 3 08:45 new_testdir
-rw-rw-r-- 1 labex labex 0 May 3 08:44 original_file1.txt
drwxrwxr-x 2 labex labex 23 May 3 08:45 testdir
Удаление одного файла:
rm original_file1.txtКоманда
rm(сокращение от "remove") удаляет файлы. Проверим:lsФайл
original_file1.txtдолжен исчезнуть.Интерактивное удаление (безопасный способ):
Попробуем удалить
file2.txt, используя флаг-iдля подтверждения:rm -i file2.txtОпция
-iзаставляет систему запрашивать подтверждение перед удалением. Введитеy(от англ. yes) и нажмите Enter, чтобы подтвердить. Если ввестиnили любую другую клавишу, файл останется на месте.lsЕсли вы подтвердили действие,
file2.txtбудет удален.Удаление пустой директории:
Помните папку
new_testdir? Проверим, пуста ли она:ls new_testdirЕсли в ней нет файлов, мы можем удалить её командой
rmdir:rmdir new_testdirКоманда
rmdir(remove directory) работает только с пустыми папками.lsПопытка удаления непустой директории:
Теперь попробуем применить
rmdirк папкеtestdir, в которой всё еще лежит файлfile2.txt(скопированный на 4-м шаге):ls testdir rmdir testdirСкорее всего, вы увидите ошибку:
rmdir: failed to remove 'testdir': Directory not empty. Это нормально, так какrmdirоберегает вас от случайного удаления данных внутри папок.Удаление директории и её содержимого (рекурсивно):
Чтобы удалить папку, которая не пуста, нужно использовать
rmс опцией-r(рекурсивно):rm -r testdirЭта команда удалит саму папку
testdirи всё, что находится внутри неё. Используйте её с осторожностью.lsПапка
testdirдолжна исчезнуть.Принудительное удаление (использовать крайне осторожно):
Иногда требуется удалить файлы без лишних вопросов, даже если они защищены от записи. Для этого служит опция
-f(force — принудительно).Удалим наш скрытый файл:
rm .hiddenfile ls -aТеперь объединим
-rи-f. Командаrm -rf— чрезвычайно мощный и потенциально опасный инструмент. Она удаляет директории рекурсивно (-r) и принудительно (-f), не запрашивая подтверждений.!!! ЗОНА ПОВЫШЕННОЙ ОПАСНОСТИ !!! Будьте АБСОЛЮТНО УВЕРЕНЫ в том, что именно вы удаляете, прежде чем запускать
rm -rf. Опечатка в один символ может привести к удалению критически важных системных файлов или всех ваших личных данных. Отменить это действие невозможно. Например, командаrm -rf /попытается стереть всю вашу систему. Всегда перепроверяйте путь.Для демонстрации создадим временную папку и файл (безопасно):
mkdir temp_dir touch temp_dir/temp_file.txt ls -R temp_dirПримечание: Заметьте, что с командой
lsмы использовали-R(заглавную), в то время как сcpиrm—-r(строчную). Это не просто разница в регистре — это разные опции! Дляlsфлаг-Rозначает рекурсивный вывод (включая подкаталоги), а-r— сортировку в обратном порядке. Дляcpиrmрекурсия обозначается строчной-r. Всегда заглядывайте в руководство (man имя_команды), чтобы уточнить значение опций.Теперь удалим это принудительно:
rm -rf temp_dirПроверим:
lsПапка
temp_dirудалена.
Помните: в командной строке Linux удаленные файлы обычно исчезают навсегда. Пользуйтесь rm с умом!
Резюме
Поздравляем! Вы освоили базовые операции с файлами в Linux:
- Навигация по файловой системе с помощью
cdиpwd. - Создание файлов и папок с помощью
touchиmkdir. - Просмотр содержимого с помощью
lsи её различных опций. - Копирование объектов с помощью
cp. - Перемещение и переименование с помощью
mv. - Удаление файлов и папок с помощью
rmиrmdir.
Эти команды составляют основу управления данными в Linux. С практикой вы научитесь виртуозно управлять своими файлами прямо из командной строки.
Не забывайте проявлять осторожность, особенно с командой rm, так как она удаляет данные безвозвратно.
Продолжая изучение Linux, не стесняйтесь обращаться к справочным страницам (например, man ls), чтобы узнать больше о каждой команде и её возможностях. Удачи в исследованиях!



