Перейти к содержимому
TelegramGitHub

Файлы и папки: mkdir, cp, mv, rm

Эти команды заменяют проводник Windows и Finder на macOS.

Окно терминала
mkdir reports # создать папку
mkdir -p raw/sales/2024 # создать папку вместе со всеми папками выше
touch notes.txt # создать пустой файл
echo "привет" > hello.txt # создать файл с текстом

echo печатает текст. Знак > отправляет этот текст не на экран, а в файл. Подробнее о > — в уроке grep и конвейеры.

Окно терминала
cp data/customers.csv backup.csv # скопировать файл с новым именем
cp data/customers.csv reports/ # скопировать в папку
cp -r data data_backup # скопировать папку целиком

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

Окно терминала
mv backup.csv old_backup.csv # переименовать
mv old_backup.csv reports/ # переместить в папку

Отдельной команды «переименовать» нет. Переименование — это перенос файла под новым именем в ту же папку.

Окно терминала
rm notes.txt # удалить файл
rmdir reports # удалить пустую папку
rm -r data_backup # удалить папку со всем содержимым

rmdir удаляет только пустую папку. Поэтому он безопасный: если внутри что-то есть, он откажется.

Все задания — в папке ~/cli-practice.

Создайте папку work/reports одной командой. Папки work ещё нет.

Проверка: ls work показывает reports.

Решение
Окно терминала
cd ~/cli-practice
mkdir -p work/reports
ls work

Скопируйте data/customers.csv в папку work. Потом переименуйте копию в clients.csv.

Проверка: ls work показывает clients.csv reports. Файл data/customers.csv остался на месте.

Решение
Окно терминала
cp data/customers.csv work/
mv work/customers.csv work/clients.csv
ls work

Создайте файл work/reports/todo.txt с текстом проверить продажи за март. Выведите его содержимое на экран.

Проверка: на экране строка проверить продажи за март.

Решение
Окно терминала
echo "проверить продажи за март" > work/reports/todo.txt
cat work/reports/todo.txt

cat печатает файл целиком. Подробнее — в следующем уроке.

Попробуйте удалить папку work командой rmdir. Что произошло? Потом удалите её так, чтобы удалилось всё содержимое.

Проверка: rmdir пишет ошибку Directory not empty. После второй команды ls больше не показывает work.

Решение
Окно терминала
rmdir work
rm -r work
ls

Дальше: Чтение файлов.