It is very convenient to capture screenshot on Mac by shift-command-4 however sometimes it's annoying to save Desktop by default since it tries to synch with iCloud all the time.
Here is a simple and working way to change the saving location of screenshot:
$ defaults write com.apple.screencapture location ~/Downloads/Screenshots
You may want to change the format as well:
$ defaults write com.apple.screencapture type jpg
possible formats are png, jpg, tiff, gif, and pdf
You can check the settings by type:
$ defaults read com.apple.screencapture
{
location = "/Users/admin/Downloads/Screenshots";
type = jpg;
}
and
open plist file at ~/Library/Preferences/com.apple.screencapture.plist
Finally, to make it sure it has applied:
$ killall SystemUIServer
Now, your saving location of screenshot has changed with less big image file of jpg format.