cp -a не работает для копирования всех файлов внутри каталога

Загрузите Google Chrome

wget http://orion.lcg.ufrj.br/RPMS/myrpms/google/google-chrome-stable-51.0.2704.106-1.x86_64.rpm

Установить

rpm -ivh google-chrome-stable-51.0.2704.106-1.x86_64.rpm
-2
23.08.2019, 13:26
2 ответа

Сценарии:

  1. Каталог aсуществует, но bнет`:

    cp -a "$HOME"/a "$HOME"/b
    

    скопирует весь каталог aв новый каталогb

  2. Каталоги aи bсуществуют:

    cp -a "$HOME"/a "$HOME"/b
    

    скопирует каталогaв каталог b. В результате вы получите каталог "$HOME"/b/a.

  3. Каталоги aи bсуществуют:

    cp -a "$HOME"/a/* "$HOME"/b
    

    скопирует содержимое изaв каталог b, но исключит скрытые файлы и каталоги. Хотя у некоторых оболочек есть несколько опций для их включения, здесь лучшим подходом будет:

    cp -a ~/a/. ~/b/
    

Как я понимаю, вы этого и хотите.

3
28.01.2020, 05:15

cpсоветы по безопасности:

копирование каталога

Каталоги a и b существуют:

cp -a a b/
cp -a -t b a

скопирует каталог a внутрь каталога b

Каталог a существует, но b нет:

cp -a a b/
cp -a -t b a

создаст понятное сообщение об ошибке

копирование файла

Каталог b существует

cp -T a b

создаст понятное сообщение об ошибке

Каталог b не существует

ср -Т а б скопирует файл в b


Обратите внимание, что не все версии cp/mv/ln имеют параметры -tили -T, но все позволяют /гарантировать, что bявляется каталогом. Если у них нет этих параметров, то невозможно гарантировать, что bне является существующим каталогом.

0
28.01.2020, 05:15

Теги

Похожие вопросы