Как да използвате SSH тръби на Linux
Подобно на повечето команди в 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 общ