2014-05-18 2 views
0

Я хотел бы рекурсивно скопировать содержание каталога, содержащего символические ссылки (символические ссылки), а также обычные файлы с помощью скрипта Bash/Shell. Я не знаю, как скопировать символическое содержимое. Псевдокод будет выглядеть примерно так:Как скопировать каталог с символическими ссылками и решить их?

for file in directory do 
    if is symlink 
    resolve symlink and copy its contents 
    else 
    copy the file/folder 

Мой каталог-структура выглядит следующим образом:

base/ 
    dir1/ 
    symlinkdir1*/ (--> ../somewhere/else/dirA) 
    /file1 
    /file2 
    symlinkdir2*/ (--> ../somewhere/else/dirB) 
    /file3 
    /file4 
    … 

После копирования процедуры, я хотел бы иметь каталог-структуру, как это:

base/ 
    dir1/ 
    symlinkdir1/ (no symlink, actual directory) 
    /file1 
    /file2 
    symlinkdir2/ (no symlink, actual directory) 
    /file3 
    /file4 
    … 

ответ

2

Просто используйте cp команду с -r вариант рекурсивно скопировать. Нет необходимости в скрипте вместе,

1

Это просто cp -r ./SourceFolder ./DestFolder.

+0

О! Ну, вы уже нашли ответ. Круто. – Rahul

+0

Да, это проще, чем мне, но спасибо! – Pwdr

Смежные вопросы