Командата scp ви позволява да копирате файл ефективно между два различни хоста. Синтаксисът за scp използва повторно синтаксиса на cp, така че той трябва да се чувства познат на повечето потребители на Linux.
Трудният бит с командата scp е, че източникът или дестинацията може да са отдалечени, т.е.компютър, свързан към друга мрежа, различна от вашата локална. Когато посочвате файл за копиране, ще трябва да включите и подробности за отдалечения хост. Това включва неговия IP адрес и потребителско име.
Качване на файл с помощта на командата scp
Общият синтаксис на scp е:
дестинация на scp източника
Забележете как това по същество е същият синтаксис като командата cp.
Най-простият пример за scp е този, който вероятно ще използвате най-много: качване на файл от вашата локална машина на отдалечен сървър. В този случай, източник част от командата е ясна и дестинация е по-сложно:
scp index.html [email protected]: / var / www / html /
Това ще копира локален файл с име index.html към отдалечения хост. Можете да посочите това по същия начин, по който бихте посочили файл за всяка друга команда. Това може да бъде абсолютна или относителна препратка към файла. Така,
index.html, ../index.html, и /home/bobby/index.html са различни начини, които можете да използвате за задаване на локален файл.Целта в примера е [email protected]: / var / www / html /. Това означава, че:
- Потребителя Боби ще бъде собственик на новия файл на отдалечения сървър. Този потребител ще трябва да съществува и вие трябва да имате достъп до него.
- Името на хоста на сървъра, на който ще качим файла, е example.org. Тук сме посочили домейна, но можете да използвате и IP адрес вместо.
- На този сървър scp ще качи файла в /var/www/html/ директория.
След като въведете тази команда, вашият терминал обикновено ще ви подкани паролата на потребителя, който сте посочили на отдалечената машина.
Изтегляне на цяла директория
Ето малко по-сложен вариант, който изтегля цяла директория:
scp -rpC [email protected]: / tmp / docs / home / bobby
Първо, трябва да забележите, че източник сега е отдалечена машина, докато дестинация е местен. Освен превключвателя за поръчка, тези подробности за източника и дестинацията трябва да са познати. Но този пример въвежда и три полезни флага:
- -r: Рекурсивно изтегля цяла директория. Той ще прехвърли всички файлове вътре /tmp/docs. Това е много полезно за бързо архивиране или прехвърляне на голям брой файлове, особено ако нямате достъп за вход до отдалечения хост.
- -p: Консерви файлови времеви марки и режими на оригинални файлове. Местните ви копия ще имат същото време за създаване или разрешения за запис като техните оригинали.
- -° С: Позволява компресия. Ако прехвърляте много файлове, това може да ускори нещата, особено ако използвате бавна връзка.
Командата scp е почти толкова лесна, колкото cp
Основното използване на командата scp е лесно: това е същото като cp. Основната разлика е, че scp се нуждае от още няколко подробности за отдалечения сървър. Въпреки това, както при cp, има полезни флагове за разширяване на основната функционалност. Те включват компресиране и рекурсивно копиране, за да осигурят изтегляне на множество файлове.
Овладяването на командата scp може да ви бъде полезно, ако сте били помолени да управлявате Linux сървър. Извършването на резервни копия и отдалечен трансфер на данни е ежедневна задача за някой, който се занимава със сървърна администрация.
Преместването на файлове и папки от разстояние е по-лесно, отколкото си мислите. С командата scp дистанционно движещите се файлове също се криптират.
Прочетете Напред
- Linux
- Linux команди
Боби е технологичен ентусиаст, който работи като разработчик на софтуер в продължение на почти две десетилетия. Той е запален по игрите, работи като редактор на рецензии в списание Switch Player и е потопен във всички аспекти на онлайн публикуването и уеб разработката.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!
Още една стъпка…!
Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.