You setup symlinks in the "default" locations, that point to somewhere else (ie. your external devices)...
so, things like this:
ln -s /mnt/bitcoin/blocks /home/USERNAME/.bitcoin/blocks
That would create a link from the "blocks" folder on your external ssd (ie. /mnt/bitcoin/blocks) to your ~/.bitcoin folder. Essentially, it is doing at the OS level, what the
-datadir,
-blocksdir and
-wallet commands do at the application level... but it gives you extra flexbility... as you can link
any folder or file and not just the ones that those commands allow you to.
For instance, I do something similar on a Windows machine to hold the "chainstate" on a fast SSD, while the block data lives on a slower "HDD". It provides a good speed boost without requiring an (expensive) SSD to hold mostly static block data.