Nota: questo è un obiettivo d’esame RHCSA 7.
Presentazione
Esistono molti modi per trasferire file da un sistema a un altro.
Qui considereremo il comando scp che si basa su SSH che è normalmente installato sulla maggior parte degli host.
Trasferimento di un file locale
Per prima cosa, creiamo un file chiamato loc:
# cd; echo "This is a test." > loc
Per trasferire il file locale su un host remoto (qui chiamato centos) nella home directory della root, digitare:
# scp loc root@centos:loc root@centos's password:your passwordloc 100% 16 0.0KB/s 00:00
Nota: per impostazione predefinita, il file viene inserito nella home directory dell’utente ma è possibile fornire un percorso completo.
Per copiare tutti i file da una directory specificata, digitare:
# scp /etc/ssh/* root@centos:/tmp root@centos's password:your passwordmoduli 100% 236KB 236.5KB/s 00:00 ssh_config 100% 2123 2.1KB/s 00:00 sshd_config 100% 4442 4.3KB/s 00:00 ssh_host_ecdsa_key 100% 227 0.2KB/s 00:00 ssh_host_ecdsa_key.pub 100% 162 0.2KB/s 00:00 ssh_host_rsa_key 100% 1679 1.6KB/s 00:00 ssh_host_rsa_key.pub 100% 382 0.4KB/s 00:00
Nota: se le directory vengono visualizzate nell’elenco creato da *, non vengono trasferite: si ottiene un errore “not a regular file” (utilizzare il comando tar per trasferire le directory).
Trasferimento di un file remoto
Al contrario, è possibile trasferire un file da un host remoto.
Nell’host centos, creare il file rem nella directory /tmp:
# cd /tmp # echo "This is another test." > rem
A livello locale, per trasferire il file, digitare:
# scp root@centos:/tmp/rem rem root@centos's password:your passwordrem 100% 22 0.0KB/s 00:00