LINUX.ORG.RU

cp (из комплекта *bsd)


0

0

Доброго дня.
Всё не могу подобрать ключи к моему cp (из *bsd!). Хочу чтобы он копировал "всё как есть": рекурсивно копировал каталоги как каталоги, а сим-линки как сим-линки.
Пишу cp -a /dir1 /dir2
Где ключ "a" - альтернатива RpP, но он всё равно симлинки копирует по их адресу, а не значению =(
А ещё, можно ли сделать исключение для копируемых файлов? Например мне нужно скопировать весь /usr, но исключая каталог /usr/opt. Как это лучше всего сделать? Только прошу не путать bsd-шный cp с gnu cp.

Спасибо.

★★★★★

Ответ на: комментарий от sdio

cpio, хм, хорошая мысль. Спасибо.
p.s. наверное он и используется при копировании файлов в миднайт коммандере.

soko1 ★★★★★
() автор топика

Буду наверное делать так:

find . -depth -print | cpio -pdlmv dir

Только вот про исключения ничего не нашёл (наверное оно будет писаться в условии для find).

soko1 ★★★★★
() автор топика

> А ещё, можно ли сделать исключение для копируемых файлов? Например мне нужно скопировать весь /usr, но исключая каталог /usr/opt. Как это лучше всего сделать? Только прошу не путать bsd-шный cp с gnu cp.

Для баша:

shopt extglob

cp -r /usr/!(opt) /dst

man bash /extglob

//xio

anonymous
()
Ответ на: комментарий от Komintern

А если в подкаталогах есть имена каталогов с таким именем? Не, это тоже не выход =(

soko1 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Эх, я уже cpio решил пользоваться, т.к. не знаю как мою потребность cp решить (про сим-линки и прочую херню (см. условие))...
А вообще спасибо!

soko1 ★★★★★
() автор топика
Ответ на: комментарий от sdio

Это только у меня cpio копирует файлы не сохраняя права доступа?

soko1 ★★★★★
() автор топика

Короче пришёл к выводу, что лучше dump'а с этим никто не справляется. Тем более мне разделы копировать нужно.

soko1 ★★★★★
() автор топика
Ответ на: комментарий от soko1

Увы, не помог он мне, ибо у меня фс используется компрессированная для дисков (класс geom_uzip), а dump не может определить тип этой файловой системы. Что ж такое придумать...

soko1 ★★★★★
() автор топика
Ответ на: комментарий от soko1

Наверное я извращенец, но походу это единственный способ достич нужного результата:

tar cfp - /var | tar xfp -

soko1 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.