mirror of
https://github.com/cheat/cheat.git
synced 2024-11-22 05:51:35 +01:00
125 lines
3.3 KiB
Python
Executable File
125 lines
3.3 KiB
Python
Executable File
#!/usr/bin/env python
|
|
import sys
|
|
|
|
# assemble a keyphrase out of all params passed to the script
|
|
keyphrase = ' '.join(sys.argv[1:])
|
|
|
|
# create a dictionary of cheatsheets
|
|
cheatsheets = {
|
|
|
|
########## convert ##########################################################
|
|
'convert' : '''
|
|
To resize an image to a fixed width and proportional height:
|
|
convert original-image.jpg -resize 100x converted-image.jpg
|
|
|
|
To resize an image to a fixed height and proportional width:
|
|
convert original-image.jpg -resize x100 converted-image.jpg
|
|
|
|
To resize an image to a fixed width and height:
|
|
convert original-image.jpg -resize 100x100 converted-image.jpg
|
|
|
|
To resize an image and simultaneously change its file type:
|
|
convert original-image.jpg -resize 100x converted-image.png
|
|
|
|
To resize all of the images within a directory:
|
|
for file in original/image/path/;
|
|
do new_path=${file%.*};
|
|
new_file=`basename $new_path`;
|
|
convert $file -resize 150 conerted/image/path/$new_file.png;
|
|
done
|
|
''',
|
|
|
|
########## dhclient ##########################################################
|
|
'dhclient' : '''
|
|
@todo
|
|
''',
|
|
|
|
########## find ##############################################################
|
|
'find' : '''
|
|
executable perms
|
|
file not directory
|
|
directory not file
|
|
''',
|
|
|
|
########## git ###############################################################
|
|
'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
|
|
''',
|
|
|
|
########## ifconfig ##########################################################
|
|
'ifconfig' : '''
|
|
@todo
|
|
''',
|
|
|
|
########## ln ################################################################
|
|
'ln' : '''
|
|
To create a symlink:
|
|
ln -s path/to/the/target/directory name-of-symlink
|
|
''',
|
|
|
|
########## netstat ###########################################################
|
|
'netstat' : '''
|
|
To view which users/processes are listening to which ports:
|
|
sudo netstat -lnptu
|
|
''',
|
|
|
|
########## sockstat ##########################################################
|
|
'sockstat' : '''
|
|
To view which users/processes are listening to which ports:
|
|
sudo sockstat -l
|
|
''',
|
|
|
|
########## ssh ###############################################################
|
|
'ssh' : '''
|
|
To execute a command on a remote server:
|
|
ssh -t user@example.com 'the-remote-command'
|
|
|
|
To tunnel an x session over SSH:
|
|
ssh -X user@example.com
|
|
|
|
To launch a specific x application over SSH:
|
|
ssh -X -t user@example.com 'chromium-browser'
|
|
|
|
For more information, see:
|
|
http://unix.stackexchange.com/q/12755/44856
|
|
''',
|
|
|
|
########## tar ###############################################################
|
|
'tar' : '''
|
|
To extract an uncompressed archive:
|
|
tar -xvf /path/to/foo.tar
|
|
|
|
To extract a .gz archive:
|
|
tar -xzvf /path/to/foo.tgz
|
|
|
|
To create a .gz archive:
|
|
tar -czvf /path/to/foo.tgz /path/to/foo/
|
|
|
|
To extract a .bz2 archive:
|
|
tar -xjvf /path/to/foo.tgz
|
|
|
|
To create a .bz2 archive:
|
|
tar -cjvf /path/to/foo.tgz /path/to/foo/
|
|
''',
|
|
|
|
}
|
|
|
|
# print help if requested
|
|
# @todo: alphabetize key names if possible
|
|
if keyphrase in ['', 'help', '--help', '-h']:
|
|
print 'Usage: cheat [keyphrase]'
|
|
print 'Available keyphrases:'
|
|
for key in cheatsheets:
|
|
print key
|
|
exit()
|
|
|
|
# print the cheatsheet if it exists
|
|
# @todo: if I could get tab-completion on the cheatsheet names, that would
|
|
# be awesome
|
|
print cheatsheets[keyphrase] if keyphrase in cheatsheets.keys() else 'No cheatsheet found.'
|