Skip to content

Instantly share code, notes, and snippets.

@luisgerhorst
Last active December 22, 2015 04:38
Show Gist options
  • Save luisgerhorst/6418008 to your computer and use it in GitHub Desktop.
Save luisgerhorst/6418008 to your computer and use it in GitHub Desktop.
A useful universal documentation file I've created over the last year. Contains a lot of shell commands I use (and forget) regulary. About LAMPP, Ubuntu, Mac OS X, Finder, AVR, ejabberd, MySQL, Git, Heroku.
About: Development, Command Line, Server, Hardware
# Zeichen
~ = ALT N
# Bash
*Symbolic Link erstellen*
ln -s /path/to/file /path/to/symbolic-link
*Datei ausfürbar machen*
sudo chmod u+x /path/to/file.exmpl
*Safari Bandbreite begrenzen*
sudo ipfw pipe 1 config bw 5KByte/s
sudo ipfw add 1 pipe 1 src-port 80
*Safari Bandbreitenbegrenzung aufheben*
sudo ipfw delete 1
*Shut down*
sudo shutdown -h 0
*Datei erstellen*
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/mkfile.8.html
## Beenden
*How to exit after typing 'node example.js' in Coda 2 Terminal?*
shift - ctrl - c
*How to exit after typing 'node example.js' in Mac OS X Terminal?*
ctrl - c
*After 'curl http://example.com:8000/' and it shows a text file?*
ctrl - m
*Wenn nicht-deamon Prozess nach schließen des Terminals weiterlaufen soll*
nohup node example.js &
*Wenn Prozess mit "nohup" gestartet wurde:*
*PID herausfinden*
ps aux
*prozess beenden*
kill -s 15 [process_PID]
# Ubuntu
## Server Starten (luisgerhorst.de)
Nach dem starten von Ubuntu diese befehle ausführen.
**autostart.sh:**
sudo /etc/init.d/apache2 stop
/opt/lampp/lampp start
**default:**
/etc/init.d/ejabberd start
start node-proxy
start node-chat
start node-chat-server
start node-instachat-server
## luisgerhorts.de: node.js apps
node-proxy
node-chat
node-chat-server
node-instachat-server
actions:
start
stop
status
restart
## Autostart Shell Script
In '/etc/init.d' ist ein Shell Script mit dem Namen 'autostart.sh', dieses wird bei Booten automatisch gestartet.
*Artikel:*
http://jonathonhill.net/2009-04-23/auto-start-a-shell-script-on-ubuntu-server/
# AVR
## ISP
Befehle für Mac OS X Commandline zum erstellen und aufspielen einer .hex Datei auf einen AVR Microcontroller (hier "ATtiny2313" mit an USB angeschlossenem ISP "AVRISPmkII"). Vor ausführen der befehele zu /firmware des Projektes navigieren (enthält main.c Datei).
*erstellen:*
make
*erstellen & auspielen:*
make flash
*aufspielen:*
avrdude -c avrispmkII -P usb -p t2313 -U flash:w:main.hex:i
*avrdude:Falsche Verbindungen ignorieren:*
-F
# Ejabberd
*Neuen User registrieren*
sudo ejabberdctl register [username] [servername] [userpassword]
*User löschen*
sudo ejabberdctl unregister [username] [servername]
*Jabber Server starten*
/etc/init.d/ejabberd start
*Jabber Server neu starten*
sudo service ejabberd restart
# Mac OS X (Native Apps)
## Finder
**Show all invisible files in Finder, change to FALSE to hide them**
defaults write com.apple.finder AppleShowAllFiles TRUE
## Crack MacRabbit Espresso
1. Öffnen von ~/Library/Preferences/com.macrabbit.Espresso.plist (Espresso nicht geöffnet!)
2. Löschen des "ActivationTrial-[Version]"-Eintrages.
3. Starten von Espresso.
# Apache 2
service apache2 start
service apache2 restart
service apache2 stop
# MySQL
**Log in**
mysql -u root -p
**create DB**
create database DATENBANKNAME;
**delete DB**
drop database DATENBANKNAME;
# Git
*IMPRTANT*: Git $admin_password auf "" setzen
## Commands
git config --global user.name "[name]"
git config --global user.email [email]
git remote add origin [email protected]:[username]/[repository].git
git push origin master
*Create repo*
git init
*Add README.md to empty repo*
touch README.md
*move files to staging area - [files] can be: . / \*.js / style.css*
git add [files]
*commit files in staging area with [message]*
git commit -m "[message]"
*check for changes*
git status
*create branch*
git branch [brach]
*delete branch*
git branch -D [brach]
*delete branch from GitHub*
git push origin --delete [brach]
*switch branch*
git checkout [brach]
*merge brach*
git merge [brach]
*ingore file changes*
git update-index --assume-unchanged [pathToFile]
*stop ingore file changes*
git update-index --no-assume-unchanged [pathToFile]
## Workflow:
git config --global user.name "Luis Gerhorst"
git config --global user.email [email protected]
cd /opt/lampp/htdocs/work/javascript/chat
git add . -A
git commit -m ""
git remote add origin [email protected]:luisgerhorst/chat.git
git push origin master
# Heroku
## Getting started
*Article*
https://devcenter.heroku.com/articles/quickstart
*Log in*
heroku login
## Commands
*send git repo to heroku and start app*
git push heroku master
## Node.js
*Article*
https://devcenter.heroku.com/articles/nodejs
## Toolbelt Commands
# Upstart
## Node
How to use a node.js app like a normal programm, make it start on startup and stop on shutdown.
*Artikel:*
http://kvz.io/blog/2009/12/15/run-nodejs-as-a-service-on-ubuntu-karmic/
https://github.com/cvee/node-upstart
http://howtonode.org/deploying-node-upstart-monit
Statt "/usr/local/bin/node" oder sonstige immer "node"-command verwenden.
# XAMPP
## Subdomain einrichten
Verfügbar machen eines beliebigen Ordners unter eine Subdomain auf einem Server mit XAMPP. Vollständiges Tutorial auf http://www.shiftedwork.de/blog/2010/09/15/subdomain-fur-localhost/. Dieses Tutorial geht davon aus das das Online Tutorial bereits einmal durchgeführt wurde, d.h. alle benötigten Optionen zu unterstüzung von Subdomains berreits eingestellt wurden.
(1. Öffenen von /etc/hosts und einfügen von "127.0.0.1 [sub.domain.com]")
(2. Neustarten des Gerätes)
3. Öffnen von lampp/etc/extra/httpd-vhosts.conf und einfügen von "
<VirtualHost *:80>
ServerAdmin [[email protected]]
DocumentRoot [/absolute/path/to/subdomain/folder/]
ServerName [sub.domain.com]
<Directory "[/absolute/path/to/subdomain/folder/]">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
"
4. Neustarten von XAMPP
# MacBook
## Tricks
Bei kaputtem MacBook CD Laufwerk einfach oft genug unter Windows CD auswerfen probieren.
# Proxy
## USA:
- 198.144.176.54:8080
- 66.35.68.146:8080
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment