2013-07-31 04:48:07 +02:00
|
|
|
#!/usr/bin/env python
|
|
|
|
import sys
|
|
|
|
|
2013-07-31 05:25:36 +02:00
|
|
|
# assemble a keyphrase out of all params passed to the script
|
|
|
|
keyphrase = ' '.join(sys.argv[1:])
|
|
|
|
|
2013-07-31 05:33:31 +02:00
|
|
|
# create a dictionary of cheatsheets
|
|
|
|
cheatsheets = {
|
2013-07-31 04:48:07 +02:00
|
|
|
|
2013-07-31 05:57:04 +02:00
|
|
|
########## dhclient ##########################################################
|
|
|
|
'dhclient' : '''
|
|
|
|
@todo
|
|
|
|
''',
|
|
|
|
|
|
|
|
|
|
|
|
########## find ##############################################################
|
2013-07-31 04:48:07 +02:00
|
|
|
'find' : '''
|
2013-07-31 05:25:36 +02:00
|
|
|
executable perms
|
|
|
|
file not directory
|
|
|
|
directory not file
|
2013-07-31 04:48:07 +02:00
|
|
|
''',
|
|
|
|
|
2013-07-31 05:57:04 +02:00
|
|
|
|
|
|
|
########## git ###############################################################
|
2013-07-31 04:48:07 +02:00
|
|
|
'git' : '''
|
|
|
|
To set your identify:
|
|
|
|
git config --global user.name "John Doe"
|
|
|
|
git config --global user.email johndoe@example.com
|
|
|
|
|
|
|
|
To enable color:
|
|
|
|
git config --global color.ui true
|
|
|
|
''',
|
|
|
|
|
2013-07-31 05:57:04 +02:00
|
|
|
|
|
|
|
########## ifconfig ##########################################################
|
|
|
|
'ifconfig' : '''
|
|
|
|
@todo
|
|
|
|
''',
|
|
|
|
|
|
|
|
|
|
|
|
########## ln ################################################################
|
2013-07-31 04:48:07 +02:00
|
|
|
'ln' : '''
|
|
|
|
To create a symlink:
|
2013-07-31 05:57:04 +02:00
|
|
|
@todo
|
2013-07-31 04:48:07 +02:00
|
|
|
''',
|
|
|
|
|
2013-07-31 05:57:04 +02:00
|
|
|
|
|
|
|
########## ssh ###############################################################
|
|
|
|
'ssh' : '''
|
|
|
|
To execute a command on a remote server:
|
|
|
|
@todo
|
|
|
|
''',
|
|
|
|
|
|
|
|
|
|
|
|
########## tar ###############################################################
|
2013-07-31 04:48:07 +02:00
|
|
|
'tar' : '''
|
|
|
|
To extract an uncompressed archive:
|
|
|
|
tar -xvf /path/to/foo.tar
|
|
|
|
|
2013-07-31 05:57:04 +02:00
|
|
|
To extract a .gz archive:
|
2013-07-31 04:48:07 +02:00
|
|
|
tar -xzvf /path/to/foo.tgz
|
|
|
|
|
2013-07-31 05:57:04 +02:00
|
|
|
To create a .gz archive:
|
2013-07-31 04:48:07 +02:00
|
|
|
tar -czvf /path/to/foo.tgz /path/to/foo/
|
|
|
|
|
2013-07-31 05:57:04 +02:00
|
|
|
To extract a .bz2 archive:
|
2013-07-31 04:48:07 +02:00
|
|
|
tar -xjvf /path/to/foo.tgz
|
|
|
|
|
2013-07-31 05:57:04 +02:00
|
|
|
To create a .bz2 archive:
|
2013-07-31 04:48:07 +02:00
|
|
|
tar -cjvf /path/to/foo.tgz /path/to/foo/
|
|
|
|
''',
|
|
|
|
|
2013-07-31 05:57:04 +02:00
|
|
|
|
|
|
|
########## x #################################################################
|
|
|
|
'x' : '''
|
|
|
|
To tunnel an X application over SSH:
|
|
|
|
@todo
|
|
|
|
''',
|
|
|
|
|
2013-07-31 04:48:07 +02:00
|
|
|
}
|
|
|
|
|
2013-07-31 05:33:31 +02:00
|
|
|
# print help if requested
|
2013-07-31 05:57:04 +02:00
|
|
|
if keyphrase in ['', 'help', '--help', '-h']:
|
|
|
|
print 'Usage: cheat [keyphrase]'
|
|
|
|
print 'Available keyphrases:'
|
2013-07-31 05:33:31 +02:00
|
|
|
for key in cheatsheets:
|
2013-07-31 05:25:36 +02:00
|
|
|
print key
|
|
|
|
exit()
|
|
|
|
|
2013-07-31 05:33:31 +02:00
|
|
|
# print the cheatsheet if it exists
|
2013-07-31 05:57:04 +02:00
|
|
|
# @todo: if I could get tab-completion on the cheatsheet names, that would
|
|
|
|
# be awesome
|
2013-07-31 05:33:31 +02:00
|
|
|
print cheatsheets[keyphrase] if keyphrase in cheatsheets.keys() else 'No cheatsheet found.'
|