Подобно на повечето команди в Linux, SSH може да се използва с пренасочване на вход / изход чрез | (Unix Pipe). SSH може да се използва и с този тръбопровод. Основната концепция тук е да разберете как функционира тръбопровода Unix.

Когато разберете как тръбите работят, можете да получите сериозно творчески. Тази статия обхваща какво се случва, когато комбинирате Unix тръби и SSH. Трябва да се отбележи, че тъй като Unix тръби може да бъде почти всичко, няма съмнение ще бъде команди не в този списък също би било полезно.

Разбиране на тръбопровода Unix

Тръбопроводите на Unix (и по-нататък Linux) се използват за обединяване на програмите и за съвместна работа. Например, като използвате cat, можете да покажете съдържанието на файл, но ако сте използвали тръба, можете да cat командата cat командата, за да направите файла по-лесен за четене.

 котка файл1 | Повече ▼ 

Основната идея тук е следната: program1 fileX | program2 program1 fileX | program2 . Не само това е ограничено до един файл и две програми. Тръбите могат да станат толкова напреднали, колкото ви е необходимо, за да бъдете с толкова много модификатори, колкото можете да си представите.

Забележка: Някои видове тръби могат да се извършват без да се използва |, Някои може да използват > вместо това.

5 Полезни команди за SSH тръби

Сега, когато тръбопроводът Unix има малко смисъл, нека видим какво можем да направим с протокола SSH и тръбите. Ето списък на някои наистина страхотни тръби, които повечето ще намерят полезни, когато се комбинират със SSH.

1. Прехвърляне на компресиран файл

Забравете използването на scp за прехвърляне на файлове; можете да го направите с проста команда за SSH тръба. Няма нужда да инсталирате нищо.

 кат. / home / localuser / filefolder ssh [email protected] tar -xvzf-C / home / remoteuser / 

Това използва програмата tar, за да компресира вашите данни локално и след това се предава през SSH. Оттам, отдалечената машина получава файла и го извлича в посочената от вас папка. Никога няма да видите архив .tar, но той използва един.

2. Изпълнение на локален скрипт на отдалечена машина (или дистанционно в локално)

Имате ли написан скрипт на вашия компютър и искате да го изпробвате наистина бързо? Няма нужда да го натискате върху него или нещо подобно. Просто изтеглете локалния си файл през SSH и го изпълнете по този начин!

 ssh [email protected] 'bash -s' <scriptfile.sh 

С тази команда премахвате необходимостта от натискане на файлове до отдалечени машини, за да изпълните скриптове на Shell. Това спестява много време в дългосрочен план.

3. Архивиране на отдалечен твърд диск

Искате ли да направите резервно копие на компютъра на отдалечената машина, без физически да изваждате твърдия диск и да го закачите? Лесно е да се направи, и с SSH тръба, не по-малко. Ето как работи:

 sudo dd ако = / dev / sda | ssh [email protected] 'dd от = sda.img' 

Това използва командата dd . Той използва вашето локално устройство (sda) като източник и след това извежда изхода през SSH, за да бъде записан в необработен файл с изображение.

Забележка: Устройството, което може да искате да архивирате, може да има различно обозначение. Използвайте командата lsblk да разберете каква диск искате да направите. Тази команда ще ви покаже какво /dev/ да използвате в if= частта за командата по-горе.

4. Възстановяване на отдалечен твърд диск

Искате ли да възстановите това изображение, което току-що сте архивирали на вашата машина? Това е лесно. Този път командата работи на обратната страна. Отново, ако устройството, което възстановявате, се наименува по различен начин от lsblk в примера, използвайте командата lsblk за да разберете какво /dev/ е посочено като.

 ssh [email protected] 'dd if = sda.img' | dd от = / dev / sda 

Изпълнете тази команда и създаденият от вас .img файл ще бъде възстановен по мрежата на твърдия диск, който сте посочили.

5. Изпратете файл

Изпращането на един файл през SSH е лесно. Ето как да го направите с тръби.

 котка файл | ssh [email protected] "котка> отдалечена" 

Тази команда използва командата cat, за да изпрати файл през тръба. Можете също да изтеглите този файл със следната команда:

 ssh [email protected] "отдалечен" файл 

заключение

Въпреки че може да не изглежда толкова впечатляващо, тръбите могат да опростят и трансформират начина, по който използвате командите на Linux. Въпреки че този списък подчертава някои от най-полезните, това е само върхът на айсберга. С колко гъвкава е вертикалната лента, възможностите за прокарване на нещата през SSH са безкрайни.

Знаете ли добри команди за тръбопроводи за SSH? Кажете ни по-долу!

Image Credit: Wikimedia общ