JavaRush /Курсы /Docker SELF /Создание, удаление, копирование и перемещение файлов: mkd...

Создание, удаление, копирование и перемещение файлов: mkdir, rm, touch, cp, mv

Docker SELF
1 уровень , 6 лекция
Открыта

1. Создание папок и файлов

Работа с файлами и папками — это основа любой операционной системы, включая Linux. Вам нужно будет создавать директории для хранения данных, перемещать файлы в разные места, уничтожать ненужное (и иногда по ошибке нужное, но об этом позже), а также копировать всё это богатство по вашему желанию. Знание базовых команд для управления файлами сделает работу в Linux удобной и быстрой, а также покажет коллегам, что вы настоящий профи.

В Linux можно легко создавать папки и файлы прямо из терминала, что весьма удобно.

mkdir — создание папок (директорий)

Команда mkdir используется для создания новых директорий (папок).

Синтаксис:

mkdir [имя_папки]

Пример:

mkdir my_folder

Эта команда создаст папку my_folder в текущей директории.

Создание вложенных директорий

Иногда нужно сразу создать несколько вложенных папок. Для этого используем флаг -p:

mkdir -p parent_folder/child_folder/sub_child

Теперь у нас есть папки parent_folder, child_folder внутри неё и sub_child внутри них.

Шуточка-подсказка:

Если забудете флаг -p, Linux напомнит вам, что родительской папки не существует. Всё как в жизни: нельзя создать ребёнка без родителей!


touch — создание пустых файлов

Когда нужно быстро создать файл, используется touch.

Синтаксис:

touch [имя_файла]

Пример:

touch my_file.txt

Файл my_file.txt мгновенно появится в текущей директории. Волшебство, не иначе.

Лайфхак: одновременное создание нескольких файлов

touch file1.txt file2.txt file3.txt

Поздравляю, теперь вы многозадачны!

Интересный факт:

touch не только создаёт файлы, но и обновляет их временные метки (данные о дате создания и изменения файла), даже если они уже существуют.


2. Удаление файлов и папок

Сначала создаём, а потом (иногда со слезами на глазах) удаляем.

rm — удаление файлов

Удаление файлов в Linux происходит через команду rm.

Синтаксис:

rm [имя_файла]

Пример:

rm my_file.txt

Удаление нескольких файлов

rm file1.txt file2.txt

Никаких диалогов и предупреждений. Осторожнее с этой командой!

rm -r — удаление папок

Для удаления папок и их содержимого используется флаг -r (рекурсивность).

Пример:

rm -r my_folder

Особый случай: защита от случайных действий

Если хотите, чтобы Linux спрашивал подтверждение, добавьте флаг -i:

rm -ri my_folder
Типичная ошибка:

Никогда не запускайте rm -rf / (или rm -rf *) без понимания последствий. Это удалит всё. Как говорится, Linux вам доверяет, но потом вы можете об этом пожалеть.


3. Копирование файлов и папок

cp — копирование файлов

Копировать файлы в Linux так же просто, как на рабочем столе.

Синтаксис:

cp [источник] [назначение]

Пример:

cp my_file.txt backup_file.txt

Теперь у вас два файла: my_file.txt и его копия backup_file.txt.

Копирование нескольких файлов в папку

Представьте, что вы хотите перегнать три файла в папку backup:

cp file1.txt file2.txt file3.txt backup/

Рекурсивное копирование папок

Для копирования директорий используйте флаг -r:

cp -r my_folder backup_folder

Это создаст копию всей папки my_folder вместе с её содержимым в backup_folder.


4. Перемещение и переименование

mv — перемещение файлов и папок

Команда mv перемещает файл или папку из одного места в другое.

Синтаксис:

mv [источник] [назначение]

Пример:

mv my_file.txt /home/user/documents/

Теперь файл my_file.txt находится в папке /home/user/documents/.

Переименование с помощью mv

Вы можете использовать ту же команду для переименования файла:

mv old_name.txt new_name.txt
Полезный факт:

В Linux нет отдельной команды для переименования. Мы просто перемещаем файл с новым именем в ту же директорию.


5. Практическое задание

Задание

  1. Создайте структуру папок:
    project/
        data/
        logs/
    
  2. Создайте файлы:
    • README.md в project/.
    • data.csv в project/data/.
  3. Сделайте резервную копию папки project/ в папку backup/.
  4. Переименуйте файл README.md в README_backup.md.
  5. Удалите папку logs/.

Решение


# 1. Создание папок
mkdir -p project/data
mkdir project/logs

# 2. Создание файлов
touch project/README.md project/data/data.csv

# 3. Создание резервной копии
cp -r project/ backup/

# 4. Переименование файла
mv project/README.md project/README_backup.md

# 5. Удаление папки
rm -r project/logs

6. Разбор типичных ошибок

  • Ошибка: mkdir с существующим именем. Если папка уже существует, команда выдаст ошибку. Используйте уникальные имена.
  • Ошибка: Удаление нужных файлов. Если вы случайно удалили важный файл без резервной копии, вернуть его будет крайне сложно.
  • Ошибка с недопустимыми путями. При указании пути убедитесь, что он существует. Например, cp myfile.txt /nonexistent_path/ завершится ошибкой.

Применение в реальной жизни

Понимание управления файлами в Linux пригодится:

  • Разработчикам. Для работы с проектными файлами, резервного копирования и быстрого создания структуры каталогов.
  • Администраторам. Для создания и удаления временных файлов, автоматизации работы с журналами.
  • Студентам. Для удобной организации учебных файлов.

Простой пример: автоматическое создание структуры папок для нового проекта без необходимости использовать графический интерфейс.

mkdir -p project/{src,docs,tests}
touch project/README.md

Теперь вы знаете, как превратить командную строку в волшебную палочку для управления файлами!

1
Задача
Docker SELF, 1 уровень, 6 лекция
Недоступна
Создание папки и файла
Создание папки и файла
1
Задача
Docker SELF, 1 уровень, 6 лекция
Недоступна
Удаление файла и папки
Удаление файла и папки
1
Задача
Docker SELF, 1 уровень, 6 лекция
Недоступна
Копирование и перемещение
Копирование и перемещение
1
Задача
Docker SELF, 1 уровень, 6 лекция
Недоступна
Работа со структурой директорий
Работа со структурой директорий
Комментарии (3)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Артём Пъ Уровень 1
6 марта 2025
Знаешь, то чувство, когда написал все команды у себя в терминале правильно, проверил все - все работает. Переходишь в валидатор переписываешь каждую команду, запускаешь и.... И пропустил -r в последней строчке.. Уфь
Vladislav Уровень 62
20 февраля 2025
оч круто, что сейчас есть ревью кода в тренажерах
Azat Rashitov Уровень 31
20 февраля 2025
Есть же rename для изменения наименования