Страница 1 из 1

Копирование скрытых папок и файлов

Добавлено: 01 ноя 2020, 01:09
nesergen
Дело такое, хочу скопировать содержимое домашней папки Юзера /home/user в другую папку. Соответственно придется иметь дело со скрытыми папками и файлами. Как должна выглядеть команда в терминале, чтобы перебрала все папки и файлы рекурсивно?

Копирование скрытых папок и файлов

Добавлено: 01 ноя 2020, 03:24
madesta
Команда cp -r откуда куда не подойдёт?

Второй вариант для подобных действий: установить файловый менеджер Midnight Commander sudo apt install -y mc

Копирование скрытых папок и файлов

Добавлено: 01 ноя 2020, 10:52
Whowka

Копирование скрытых папок и файлов

Добавлено: 01 ноя 2020, 19:46
nesergen
madesta писал(а):
01 ноя 2020, 03:24
Команда cp -r откуда куда не подойдёт?
Данная команда не прокатит. Она не копирует файлы и папки начинающиеся на точку.


Товарищу Whowka отдельное спасибо за креативность. Такого посыла еще не встречал, даже осадка не осталось. Но в разделе "Вопросов новичков " лучше отвечать по делу.

Для последователей даю дельную ссылку, которая объясняет тонкости копирования файлов понятным языком:
https://habr.com/ru/company/ruvds/blog/471092/

Копирование скрытых папок и файлов

Добавлено: 01 ноя 2020, 20:21
slant
nesergen писал(а):
01 ноя 2020, 19:46
Данная команда не прокатит. Она не копирует файлы и папки начинающиеся на точку.
Тут вы не совсем правы. Она не копирует только "скрытые" файлы из каталога, который указан в маске "откуда/что". Но вот скрытые файлы в его подкаталогах копирует за милую душу.
Допустим есть такая структура:

Код: Выделить всё

cat1
cat1/.dot1
cat1/.dot2
cat1/.dot3
cat1/cat12
cat1/cat12/.dot4
cat1/cat12/.dot5
cat1/cat12/.dot6
cat2
cat1, cat12, и cat2 - каталоги.

Допустим мы даем команду:
cp -r cat1/* cat2

В этом случае мы получим внутри cat2 не только cat12, но и то что было внутри него - .dot4, .dot5, и .dot6, в виде:

Код: Выделить всё

cat2/cat12/.dot4
cat2/cat12/.dot5
cat2/cat12/.dot6
А вот .dot1, .dot2, и .dot3 скопированы не будут. Да.

Потому, если копировать cp -r /home /mnt/newplace - все прекрасно скопируется, т.к. все скрытые файлы будут уже ниже маски. А вот если копировать только содержимое личного каталога cp -r /home/username/* /mnt/newplace - тогда из скрытые файлы верхнего уровня будут пропущены.

Но в любом случае, для копирования домашних каталогов или даже переноса/бекапа все системы лучше использовать не cp а rsync. В простейшем случае, вместо cp -r /home /mnt/newplace:
rsync -av /home /mnt/newplace.
Ну и в этом конкретном случае команду надо давать от имени root (через sudo) - а то может прав не хватить на все учетки, если там не один домашний каталог.
rsync в отличии от cp лучше справляется с правами доступа и владельцами, не говоря уже о куче других возможностей вроде продвинутой синхронизации содержимого каталогов.

Копирование скрытых папок и файлов

Добавлено: 01 ноя 2020, 22:53
Whowka
Не по теме
nesergen писал(а):
01 ноя 2020, 19:46
отдельное спасибо
Та нэма за шо! :smile:
nesergen писал(а):
01 ноя 2020, 19:46
Но в разделе "Вопросов новичков " лучше...
...прочитать в красном поле вверху: Как правильно задавать вопросы (там есть, как раз, пунктик 2,
Ответ на ваш вопрос находится на первой странице поиска :smile:
Да, собсстно, и фсё "поле" не помешает прочитать. :-D