Vai al contenuto
HexaTransfer
Torna al blog
Trasferimento file

Strumenti di trasferimento file Linux: opzioni CLI e browser

Esplora i migliori strumenti di trasferimento file Linux. Dalle utility a riga di comando ai servizi browser per inviare file.

Aggiornato il

Pubblicato da HexaTransfer, servizio di Gaprod — Groupe Dwenola SAS. Queste guide presentano il nostro servizio e altri prodotti. Informazioni sull’editore

Su Linux, il miglior strumento di trasferimento file dipende dal fatto che tu stia spostando file tra le tue macchine (rsync, scp, sftp) o inviando a qualcuno fuori dal tuo controllo (servizi via browser come HexaTransfer). Per copie bulk server-server, rsync -avP --partial è il cavallo da lavoro. Per consegna ad hoc a un destinatario non tecnico, un URL da un servizio via browser batte il chiedergli di installare un client SSH. Gli ambienti desktop Linux (GNOME, KDE) supportano anche SMB, WebDAV e la navigazione SFTP nativamente tramite il file manager.

I classici della CLI

scp — copia sicura su SSH. Semplicissimo:

scp filegrande.tar.gz user@server:/home/user/
scp -r cartella/ user@server:/path/

Nessuna ripresa al fallimento. Va bene per reti affidabili, fastidioso su quelle instabili. OpenSSH 9.0 (2022) ha cambiato il protocollo di default da SCP-su-SSH a SFTP — il comportamento è simile ma i casi limite differiscono.

rsync — sync incrementale con ripresa:

rsync -avP --partial source/ user@server:/dest/

Flag: -a modalità archivio (preserva permessi, tempi, symlink), -v verboso, -P progresso + --partial (mantiene il file parziale al fallimento). --bwlimit=50000 limita la banda a 50 MB/s se sei su un link condiviso.

Per root di origine e destinazione identici, rsync trasferisce solo i byte modificati nelle esecuzioni successive — enorme risparmio di tempo su trasferimenti ripetuti.

sftp — trasferimento file interattivo basato su SSH. Usalo come un vecchio client FTP:

sftp user@server
> put filegrande.tar.gz
> get qualchefile.txt

rclone — come rsync ma per provider cloud. Supporta S3, Google Drive, Dropbox, OneDrive, Backblaze B2 e decine di altri. Ottimo per upload scriptati all'object storage:

rclone copy local/cartella remote:bucket/path -P

Opzioni via browser per destinatari non tecnici

Non ogni destinatario di file ha chiavi SSH. Per invio a giornalisti, clienti o familiari, l'URL di un servizio di trasferimento è quello che funziona:

Servizio Max gratis Crittografia Linux-friendly
HexaTransfer 50 GB End-to-end AES-256-GCM Sì (qualsiasi browser)
WeTransfer 2 GB TLS Sì
SwissTransfer 50 GB TLS Sì
Proton Drive Share 1 GB End-to-end Sì
Tresorit Send 5 GB End-to-end Sì

Firefox e Chromium su Linux gestiscono entrambi con competenza gli upload grandi. Le performance di upload di solito corrispondono all'hardware e all'uplink, non al browser.

Strumenti stessa rete dal desktop

GNOME Files (Nautilus): Connetti al server > smb://, sftp://, ftp://, dav://. Monta il remoto come se fosse locale. Va bene per sfogliare occasionalmente.

KDE Dolphin: stessa capacità, UX leggermente diversa. Supporta gli stessi protocolli.

smbclient — SMB da riga di comando per script:

smbclient //server/share -U user

sshfs — monta un filesystem remoto su SSH:

sshfs user@server:/remote/path ~/mnt/remote

Utile quando un'app si aspetta un percorso locale.

Regolazione della velocità di trasferimento su Linux

Lo scaling della finestra TCP di default di Linux gestisce bene i trasferimenti ad alta banda, ma alcune distro hanno impostazioni conservative. Per trasferimenti su link a lunga distanza (alta latenza, alta banda):

sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"

Abilita il controllo di congestione BBR per un miglior throughput su link con perdite:

sysctl -w net.ipv4.tcp_congestion_control=bbr

Questi non servono sulle normali reti domestiche — ma se stai spostando dati tra datacenter o attraverso continenti, la differenza tra CUBIC di default e BBR può essere 2-3x.

Archiviazione: varianti di tar

tar -czf archivio.tar.gz cartella/          # gzip, veloce, compressione moderata
tar -cjf archivio.tar.bz2 cartella/         # bzip2, più lento, migliore compressione
tar -cJf archivio.tar.xz cartella/          # xz, il più lento, migliore compressione
tar --use-compress-program=zstd -cf archivio.tar.zst cartella/   # zstd, veloce e buon rapporto

Per Linux moderno, zstd batte gzip sia in velocità che in rapporto di compressione. Per distribuzione a destinatari non-Linux, mantieniti su .zip — usa zip -r archivio.zip cartella/.

Per suddividere un archivio enorme in blocchi:

tar -czf - cartella/ | split -b 2G - archivio.tar.gz.part_

Ricomponi con cat archivio.tar.gz.part_* | tar -xzf -.

Object storage come mezzo di trasferimento

Per carichi di lavoro che generano molti file o file enormi, trattare un bucket cloud come layer di trasferimento è più pulito di un servizio one-shot:

AWS S3: aws s3 cp file s3://bucket/path poi genera un URL presigned con aws s3 presign s3://bucket/path --expires-in 3600. Il destinatario riceve un download diretto a tempo limitato.

Cloudflare R2: API compatibile S3, nessun costo di egress. Usa la stessa CLI aws con un endpoint personalizzato.

Backblaze B2: b2 upload-file bucket file key poi b2 get-download-url-with-auth bucket key 3600.

MinIO: self-host un server S3-compatibile, emetti URL presigned dal tuo dominio.

Per sviluppatori che inviano artefatti di build, log o dump, questi sono meglio di un servizio di trasferimento general-purpose.

Server HTTP ad hoc

Per trasferimenti rapidi sulla stessa LAN:

python3 -m http.server 8000

Serve la directory corrente su http://tuo-ip:8000/. Il destinatario va all'URL, scarica. Utile tra il tuo laptop e una VM o telefono sulla stessa Wi-Fi. Non crittografato — va bene internamente, non per l'esterno.

Per HTTPS con un certificato auto-firmato:

python3 -c "import http.server, ssl; httpd = http.server.HTTPServer(('0.0.0.0', 8443), http.server.SimpleHTTPRequestHandler); httpd.socket = ssl.wrap_socket(httpd.socket, certfile='cert.pem', server_side=True); httpd.serve_forever()"

caddy file-server lo fa pulitamente con HTTPS automatico se hai un dominio vero.

Strumenti P2P

Magic Wormhole (wormhole):

wormhole send filegrande.tar.gz
# stampa un codice tipo 7-crossover-clockwork
# il destinatario esegue: wormhole receive 7-crossover-clockwork

Crittografato end-to-end, funziona attraverso NAT via un server di rendezvous. Ottimo per trasferimenti diretti one-shot.

croc (di schollz): simile a wormhole, singolo binario, multipiattaforma. Popolare nella community homelab.

Sono peer-to-peer ma instradano ancora attraverso server di rendezvous per l'attraversamento NAT — la crittografia è E2E, il percorso no.

Crittografia a riposo prima dell'upload

Per flussi di lavoro extra paranoici, cripta l'archivio prima di inviarlo attraverso qualsiasi servizio:

gpg --symmetric --cipher-algo AES256 filegrande.tar.gz

Produce filegrande.tar.gz.gpg. Il destinatario decripta con gpg --decrypt. Condividi la passphrase fuori banda.

Oppure usa age, un'alternativa moderna:

age -p -o crittografato.age testo.tar.gz

Con servizi di trasferimento crittografati E2E come HexaTransfer, questo doppio wrapping è di solito non necessario — ma per modelli di minaccia a livello di stato, bretelle e cintura ha senso.

Provalo su hexatransfer.com — gratis, senza registrazione, fino a 50 GB.

Invia file di grandi dimensioni in modo sicuro con crittografia end-to-end

Invia fino a 50 GiB gratis con crittografia end-to-end, senza account né email. Scegli da 1 a 30 giorni; 14 per impostazione predefinita.

Invia un file