Операции с файлами (cp, mv, rm, mkdir)
Тема дорожной карты · Linux & Unix Fundamentals
Операции с файлами (cp, mv, rm, mkdir) являются фундаментальными командами командной строки Linux, которые позволяют пользователям управлять файлами и каталогами. Эти команды используются для копирования, перемещения, удаления и создания файловых структур, что делает их неотъемлемой частью повседневной работы системного администратора и разработчика.
cp копирует файлы (cp -a сохраняет атрибуты для бэкапов, cp -r для каталогов), mv переименовывает и перемещает в пределах одной файловой системы (по сути операция над метаданными, между разными монтированиями превращается в полное копирование), rm удаляет (корзины нет — rm -rf необратим), mkdir -p идемпотентно создаёт дерево. Кавычьте пути и используйте --, чтобы отделить флаги от пользовательских имён. Для крупных или удалённых копий лучше rsync -aHAX --info=progress2 — он умеет возобновляться, сохраняет hardlink-и и ACL, показывает прогресс.
Как это работает
Операции с файлами (cp, mv, rm, mkdir) строится на наборе из нескольких базовых команд, которые композируются в пайплайны. Навигация: cd, ls, pwd. Файлы: cp, mv, rm, mkdir, touch, ln. Инспекция: cat, less, head, tail, file, stat. Справка: man, --help, tldr, apropos. Глоббинг: *, ?, [a-z], {a,b}. Пайпы (|) соединяют stdout одной команды со stdin следующей; редиректы (>, <, >>, 2>, &>) пишут/читают файлы. Работа CLI — это композиция.
Команда cp используется для копирования файлов и директорий. Параметр -a сохраняет все атрибуты, включая права доступа и метаданные, что делает её идеальной для создания полных бэкапов. Команда mv перемещает или переименовывает файлы и директории. Она может быть использована для перемещения файлов между каталогами на одной файловой системе. Команда rm удаляет файлы и директории. Она не имеет корзины, поэтому удаление файлов с параметром -rf является необратимым. Команда mkdir создает новые директории. Параметр -p позволяет создать полное дерево директорий, даже если промежуточные директории отсутствуют.
Когда применять
Освойте CLI до GUI-инструмента: быстрее на удалённых хостах, тривиально скриптуется, работает на любом Linux-сервере. tldr (community cheatsheet) — когда man слишком плотный; --help — для быстрой подсказки. set -e + set -u в любом скрипте; shell — это среда программирования, а не пишущая машинка.
Типичные ошибки
Ловушки Операции с файлами (cp, mv, rm, mkdir): rm -rf с опечаткой (без undo — на личной машине алиас rm = rm -i); копирование длинных команд из блогов без чтения (особенно с sudo); забытое экранирование, когда в именах файлов пробелы (rm $file vs rm "$file"); цепочки cd .. там, pushd/popd или абсолютные пути безопаснее в скриптах. Учитесь на одной машине, которую не жалко.
Связанные понятия
Полезные ресурсы
Проверить знания (1)
Загрузка вопросов…