The Package Manager (`pm`) will do exactly what you want.

In either `adb` or Terminal Emulator, run the `pm` command and you can see its capabilities.

We look at 2 of them:

 - `pm list packages`
 - `pm disable <package>`

`pm list packages` lists all installed packages, this list is unsorted but if you know some easy bash, you can use `grep` to search for substrings in the package names:

`pm packages list | grep google` will list all packages with "*google*" in their name, effectively returning just Google's apps:

Sample output:

    package:com.google.android.apps.unveil
    package:com.google.android.gsf.login
    package:com.google.android.apps.translate
    package:com.google.android.backuptransport
    package:com.google.android.apps.books
    package:com.google.android.apps.giant
    package:com.google.android.ears
    package:com.google.android.keep
    package:com.google.android.talk
    package:com.google.android.apps.ads.publisher
    package:com.google.android.apps.youtube.music
    package:com.google.android.play.games
    package:com.google.android.apps.magazines
    package:com.google.android.apps.adm
    package:com.google.android.inputmethod.latin

`pm disable <package name>` disables a single package you specified. Disabling the Google Keyboard would then be `pm disable com.google.android.inputmethod.latin`.

To find out what package name maps to what app try this url: `https://play.google.com/store/apps/details?id=<package name>`  
Replace `<package name>` with the package name you want to check.