Does SSHFS copy the files locally all at once, or only when I cd into them?

If I sshfs an entire filesystem at the root directory, does that mean it will download the entire root directory? Is that how SSHFS works, it physicallly downloads the whole thing? Or does it fetch the files as I cd into them? I would like to grab the whole root partition, but I'm worried it would take a while and lots of space.


Nope, sshfs does not copy any files over the network when you mount a remote directory. It does not even copy files when you cd into a sshfs-mounted directory. When you cd into a directory, sshfs fetches the names of the files.

The actual contents of files only get transferred by when you access a file. So let's say there's a file called file.txt in the directory mydir, mounted on your system via sshfs. The transmission of the contents of file.txt starts:

$ cd mydir              # not here
$ ls                    # still not
$ cat file.txt          # now the file is transferred!

This means you can safely mount an entire root filesystem with sshfs, even if it's larger than all the free space you have available on your hard drive.