Tra le operazioni di base più utili per una macchina connessa ad una rete, è fondamentale poter trasferire in ingresso ed uscita dei file. ZModem è un protocollo utilizzato per la sua semplicità e flessibilità per trasferimenti veloci all’interno di sessioni SSH.
ZModem
Emerso negli anni 80 come protocollo di trasferimento di file, ZModem è il risultato di miglioramenti a tecniche preesistenti. La diffusione è stata tale nel mondo delle BBS che praticamente ancora oggi le implementazioni software sono esistenti per la maggior parte delle piattaforme, da DSZ a lrzsz.
Proprio quest’ultimo è praticamente un pacchetto ubiquo e disponibile per tutti i sistemi Unix, Linux e derivati.
Installare ZModem in Linux
Di seguito l’installazione e i repository disponibili per le distribuzioni Linux più comuni:
Debian, Ubuntu
apt-get install lrzsz
RedHat, CentOS
yum -y install lrzsz
Usare ZModem in MacOSX
In MacOSX ZModem è disponibile come formula Homebrew installabile con il comando
brew install lrzsz
In caso di utilizzo in abbinamento con iTerm2, è necessario creare degli script da lanciare e configurare tra i trigger, attivandoli con le sintassi in espressione regolare intercettando l’output restituito rispettivamente da rz e sz.
Codice dal repository Github
#!/bin/bash # Author: Matt Mastracci (matthew@mastracci.com) # AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script # licensed under cc-wiki with attribution required # Remainder of script public domain FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"` if [[ $FILE = "" ]]; then echo Cancelled. # Send ZModem cancel echo -e \\x18\\x18\\x18\\x18\\x18 echo \# Cancelled transfer echo else echo $FILE cd "$FILE" /usr/local/bin/rz echo \# Received $FILE echo fi
#!/bin/bash # Author: Matt Mastracci (matthew@mastracci.com) # AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script # licensed under cc-wiki with attribution required # Remainder of script public domain FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"` if [[ $FILE = "" ]]; then echo Cancelled. # Send ZModem cancel echo -e \\x18\\x18\\x18\\x18\\x18 echo \# Cancelled transfer echo else echo $FILE /usr/local/bin/sz "$FILE" echo \# Received $FILE echo fi