Как обновить установку управления контентом путем перезаписи существующих файлов через ssh и оболочку?

Если это вызывается на регулярный файл (в противоположность каналу), и хвост GNU и хвост OpenBSD (если не названо с -n +N) ищите в конец файла, затем работайте назад для нахождения строки, где это должно начать печатать. Я не знаю, делает ли Солярис то же, но это - разумный подход, таким образом, я ожидаю, что большинство нельдов сделает то же. Поэтому размер файла не важен для производительности.

2
20.06.2011, 22:35
2 ответа

Во-первых, сделайте резервное копирование существующих файлов на всякий случай.

tar czf modx-old.tar.gz html/cms

Затем используйте cp скопировать новые файлы в место. Вы не можете использовать mv здесь, потому что это просто пропустило бы существующие каталоги вместо того, чтобы рекурсивно вызвать в них. Но cp сделает глубокую копию, перезаписывая любой существующий файл в месте назначения.

cd html/modx-2.1.1-pl/ && cp -Rpf . ../html/cms/

С GNU cp, можно добавить -l создать жесткие ссылки вместо копирования.

Наконец можно удалить modx-2.1.1-pl каталог.

1
27.01.2020, 22:24
  • 1
    На самом деле cp работал бы просто великолепно для этого. cp -r html/modx-2.1.1-p1/. html/cms/ (-a вместо-r, вероятно, было бы еще лучше хотя). –  Patrick 21.06.2011, 02:38
  • 2
    @Patrick: А-ч, Вы правы. mv не подходит, но cp . –  Gilles 'SO- stop being evil' 21.06.2011, 02:44
  • 3
    Спасибо за Вашу справку @Gilles и @Peter. Это работало на меня с cp -Rpv html/modx-2.1.1-pl/* html/cms/. Я использовал * потому что мне были нужны все файлы под modx-2.1.1-pl под cms. –  haldgreen 21.06.2011, 19:59

У Вас просто есть порядок аргументов неправильно. Использование mv команда mv source dest. Если Вы хотите переместить все под modx-2.1.1-pl к cms, необходимо сделать mv modx-2.1.1-pl/* cms/. Может на самом деле быть лучше использовать cp вместо mv, в этом случае синтаксис был бы cp -r modx-2.1.10pl/* cms/.

0
27.01.2020, 22:24

Теги

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