Top.Mail.Ru

Как скопировать скрытые файлы в Linux

2.1k
Как скопировать скрытые файлы в Linux

В Linux скрытыми считаются файлы и каталоги, имя которых начинается с точки. Таких объектов много в домашнем каталоге и в папках с сайтами: конфигурации, служебные файлы, кеши. Иногда нужно перенести их вместе с остальными данными — и тут есть нюансы.

Один файл с точкой в имени копируется как обычно. Проблемы начинаются, когда хочется «забрать всё» шаблоном *: он по умолчанию не видит имена, начинающиеся с точкой. Это сделано специально, чтобы не задеть служебные записи . и .. и не устроить нежелательную рекурсию при копировании.

Рассмотрим основные способы копирования

Вариант №1 — ссылка на «всё содержимое» через /.

Эта команда скопирует в целевую папку и обычные, и скрытые элементы исходного каталога.

cp -r app/. backup

Ключ -r нужен для рекурсивного копирования директорий, а суффикс /. даёт понять, что речь именно о содержимом app.

Вариант №2 — копирование каталога «как есть» без вложенного уровня

В результате следующей команды backup станет копией app, а не backup/app.

cp -rT app backup

Флаг -T указывает трактовать backup как целевой объект, а не как каталог-назначение для «вложенного» копирования; -r — для работы с папками.

Вариант №3 — если нужны только скрытые файлы

В этом случае можно явно обратиться к шаблону «точечных» имён:

cp app/.* backup

Важно: не добавляйте сюда -r. Шаблон .* включает . и ..; с рекурсией команда попытается уйти на уровень выше по дереву каталогов, что легко обернется дополнительными сложностями.

Эти приёмы закрывают все типичные сценарии: копирование одного файла с точкой, перенос всего содержимого каталога со скрытыми элементами и выборочная отправка только «точечных» файлов. Пользуйтесь тем вариантом, который больше подходит под ваши задачи.

Похожее

Все статьи
php версии ubuntu

PHP: управление версиями через ondrej PPA на Ubuntu

PPA ondrej/php позволяет устанавливать несколько версий PHP параллельно и переключаться между ними без переустановки системы. Добавить репозиторий — одна команда, установить PHP 8.2 и 8.3 одновременно — ещё две. Ключевой момент который понимают не сразу: смена версии в командной строке…

iptables ubuntu

Iptables: базовый файрвол на Ubuntu без риска потерять доступ

Iptables — стандартный инструмент управления файрволом в Linux, который фильтрует трафик по правилам в цепочках INPUT, OUTPUT и FORWARD. Главная опасность при настройке на удалённом VPS — заблокировать собственный SSH-доступ неправильным порядком правил. Эта статья построена так, чтобы этого не…