Rename all files extension recursively eg. .js to .jsx find . -name '*.js' -exec sh -c 'mv "$0" "${0%.js}.jsx"' {} \; Convert all images in a specific format (eg .png or .jpg to webp) for i in *; do convert $i "${i%.*}.webp"; done Generate ED25519 SSH key pair [more info] ssh-keygen -t ed25519 -C "[email protected]" Using rsync to transfer files over SSH Transfer file in [a]rchive and compressed ([z]ipped) mode with [v]erbose and [h]uman-readable [P]rogress: rsync -azvhP path/to/local_file remote_host:path/to/remote_directory Transfer a directory and all its children from a remote to local: rsync -r remote_host:path/to/remote_directory path/to/local_directory