Как копировать файлы на компьютеры с использованием SSH и MAC OS X Terminal [закрыто]


205

Я пытаюсь скопировать мои папки / файлы .profile, .rvm и .ssh на новый компьютер и получаю ответ «не обычный файл». Я знаю , как использовать cpи sshкоманды , но я не уверен , как использовать их для того , чтобы передавать файлы с одного компьютера на другой.

Любая помощь будет отличной, спасибо!


8
хотя у вас есть ответы, могу ли я по-прежнему рекомендовать superuser.com?
KevinDTimm

Ответы:


436

Вы можете сделать это с помощью scpкоманды, которая использует протокол ssh для копирования файлов между компьютерами. Он расширяет синтаксис, cpчтобы разрешить ссылки на другие системы:

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file

Скопируйте что-нибудь с этого компьютера на другой:

scp /path/to/local/file username@hostname:/path/to/remote/file

Скопируйте что-нибудь с другого компьютера на этот:

scp username@hostname:/path/to/remote/file /path/to/local/file

Скопируйте с указанным номером порта:

scp -P 1234 username@hostname:/path/to/remote/file /path/to/local/file

1
Я думаю, что использование OP фразы «как использовать их для передачи» может быть переписано как «как использовать их для передачи». Возможно, многословно, но не ужасно неправильно.
Высокая производительность

2
@High: ах действительно. :) получает больше кофе
Ether

2
Спасибо @Ether, но, к сожалению, я продолжаю получать ответ "Не обычный файл" для каталогов, начинающихся с '.' как папку .rvm, которую я пытаюсь передать, какие-либо советы?
alvincrespo

1
не беспокойся об этом Я понял! Мне нужно использовать -r (r для рекурсивного), чтобы ввести целые структуры каталогов. Спасибо!
alvincrespo

1
Да, вы можете использовать -rдля рекурсии, или просто заархивировать файлы и нацелить zip.
Эрик Холмс,

14

Сначала заархивируйте или заархивируйте папки:
используйте следующую команду:

zip -r NameYouWantForZipFile.zip foldertozip /

или

tar -pvczf BackUpDirectory.tar.gz / path / to / каталог

для сжатия gzip используйте SCP:

scp username@yourserver.com: ~ / serverpath / public_html ~ / Desktop


1

Вы также можете посмотреть на rsync, если вы делаете много файлов.

Если вы собираетесь внести много изменений и хотите синхронизировать свои каталоги и файлы, вы можете использовать систему контроля версий, такую ​​как Subversion или Git. См. Http://xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion


1
Спасибо @Andy, мы используем SVN здесь на работе, но я только что приобрел новый компьютер и хотел научиться делать все через командную строку, так как парни предпочитают это здесь. Я учусь любить это также :)
alvincrespo
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.