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 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.