Change location of screenshots mac
Terminal command to change screenshot save location: 

defaults write com.apple.screencapture location "/path/to/new/location"


Put your desired screenshot path between the double quotes as it is required if any spaces exist in the location path! Locations without a space will still be executed properly.

Example path with a space in new path: 

defaults write com.apple.screencapture location "/Users/YourUserHomeFolder/Pictures/Screen Shots"


So no one is confused, the ~ character is a shortcut character symbol for your user's home folder. Other answers/sites might use this symbol.

Example:

defaults write com.apple.screencapture location "~/Pictures/Screen Shots"


The above defaults command will change the location screenshots are saved. The only problem is the path location must always be available or else it'll default back to the Desktop.

Example scenario: If you set the path to a removable volume such as a flash drive at /Volume/USBFlashDrive and remove it, or the location for some reason becomes unavailable from perhaps deleting, it'll revert back to its default location.

The only thing you'll need to change is the /path/to/new/location. This can be found from Finder by right clicking on your chosen folder. Then, after the context menu appears, hold the option key to change Copy "..." to Copy "..." as Pathname, so you can paste it into Terminal as the replacement for the example path provided above.