The following methods and protocols are well-suited to file transfer and
Use FTP (File Transfer Protocol) if you need to exchange files very
often and with different users. Set up an FTP server on one system and
access it with clients. There are many graphical client applications
available for FTP on Windows*, MacOS, and Linux. Depending on
how your FTP server is used, enable read and write permissions. See
Section 11.4.4, Copying Files with FTP for more details on FTP.
NFS (Network File System) is a client/server system. A server exports
one or more directories that can be imported by a client. For more
information, see Section 27.0,
Sharing File Systems with NFS, (↑ Reference ).
Use NFS if you share files very often and for different users.
Generally, this protocol is more common in the Linux world than in the
Windows world. An NFS export integrates well into your Linux system
and you can browse the imported directory structure like any other
folder on your local machine. Depending on your configuration, enable
either read or write permissions or both on the server. In general,
for a home user it makes sense to allow read and write access.
Use rsync to transfer regularly large volumes of data that does not
change considerably. It is available on Linux and Windows. A typical
use case for rsync is managing data backups. Refer to the manual page
of the rsync command and
Section 11.4.2, Transferring Files with rsync for more information.
Unison is an alternative to rsync. It is used to regularly synchronize
files between different computers but has the advantage to behave
bidirectionally. Refer to the manual page of the Unison command and
Section 11.4.3, Transferring Files with Unison for more information. Unison is
available on Linux and Windows.
Samba is a client/server system and an implementation of the SMB
protocol. It is usually used in Windows networks, but is supported by
several operating systems.
Use Samba if you need to share files very often and with different
users, especially to Windows systems. Samba as a Linux-only solution
is uncommon, use NFS instead. For more information about setting up a
Samba server, refer to Section 11.7, Sharing Files between Linux and Windows with Samba.
SSH (Secure Shell) enables a secure connection between computer. The
SSH suite consists of several commands and uses public key encryption
to authenticate users. For more information, see
SSH: Secure Network Operations, (↑ Reference ).
Use SSH if you copy files occasionally over an untrusted network and
if you are the only user doing so. Although there are graphical user
interfaces available, SSH is mainly considered a command line utility
and is available on Linux and Windows.