
“Cygwin is a Linux-like environment for Windows.” This means, you can use linux/unix commandline tools like ls, grep and find on your Windows system. However, the default installation of Cygwin uses Windows’ default commandline terminal cmd.exe, which is not really handy. Fortunately, there’s a solution to use PuTTY as Cygwin terminal.
- Download and install Cygwin. The setup will download all needed packages, so make sure you check what you need (my main reason to install Cygwin was to have a Git client on Windows)
- Download PuTTYcyg and extract the contents of the archive anywhere on you hard drive
- Start
putty.exe, select Cygterm as connection type and enter - (dash) as command. Enter a session name (e.g. cygwin) in the text field below Saved Sessions and click on Save.
- Create a shortcut to
putty.exe. Right click the shortcut, select Properties and append the following string to the target field: -load "cygwin". Of course you have to replace cygwin with the name of the session you saved in PuTTYcyg.
- Open the shortcut and you should directly get into your Cygwin shell
Ich verwende auf der Kommandozeile bevorzugt nano gegenüber vim, ganz einfach deswegen weil mir vim zu umständlich ist, ich mir die Befehle nie merke und ich für die Bearbeitung von ein paar Configfiles nicht unbedingt einen “mächtigen” Editor benötige. Zum Programmieren verwende ich sowieso lieber eine graphische Umgebung. Trotzdem kann nano eigentlich mehr, als man auf den ersten Blick meinen könnte. In der Augustausgabe von freiesMagazin sind ab Seite 25 einige nützliche Tipps&Tricks, Shortcuts und die Möglichkeit des Syntax Highlighting für diverse Sprachen beschrieben.
Wem Syntaxhighlighting für eine bestimmte Sprache abgeht: auf dem LinuxHelp Wiki gibts noch ein paar rc-files für diverse Sprachen. Hier meine für PHP (aus dem Wiki leicht angepasst):
syntax "php" ".php[2345s~]?$"
color brightblue start="<?(php)?" end="?>"
color blue start="<[^?]" end="[^?]>"
color cyan "$[a-zA-Z_0-9]*"
color cyan "([)|(])"
color blue "<(var|class|function|echo|case|break|default|exit|switch|if|else|elseif|@|while|foreach|return|public|private|protected|require|require_once|new|true|false|as)>"
color red "="
color green "[,{}()]"
color green "=="
color white "('[^']*')|("[^"]*")"
color yellow start="<!--" end="-->"
color yellow start="/*" end="*/"
color yellow start="#" end="$"
Sehr interessanter Artikel von IBM, der einige nützliche Tipps&Tricks für den Linux Admin beschreibt.
Lazy Linux: 10 essential tricks for admins.


Hab ich gerade in einem Unterordner gefunden: copymoveto.reg. Durch Hinzufügen der folgenden Registrykeys werden die Kontextmenüeinträge In Ordner kopieren... und In Ordner verschieben... aktiviert. Dafür einfach folgenden Code in ein Textfile kopieren, mit der Dateiendung .reg abspeichern und ausführen.
REGEDIT4
[HKEY_CLASSES_ROOTAllFileSystemObjectsshellexContextMenuHandlers]
[HKEY_CLASSES_ROOTAllFileSystemObjectsshellexContextMenuHandlersCopy To]
@="{C2FBB630-2971-11D1-A18C-00C04FD75D13}"
[HKEY_CLASSES_ROOTAllFileSystemObjectsshellexContextMenuHandlersMove To]
@="{C2FBB631-2971-11D1-A18C-00C04FD75D13}"
Einige nützliche bash-Tastaturkürzel:
| Kürzel |
Beschreibung |
| ALT+B, ALT+F |
Cursor ein Wort zurück / weiter bewegen |
| CTRL+A, CTRL+E |
Cursor an den Anfang / Ende der Zeile setzen |
| CTRL+K |
Bis zum Ende der Zeile löschen |
| CTRL+T |
Die vorigen beiden Zeichen vertauschen |
| ALT+T |
Die vorigen beiden Wörter vertauschen |
| CTRL+L |
Bildschirm löschen |
| CTRL+R, CTRL+S |
Nach vorher eingegebenen Kommandos suchen |
Um auf der Shell einen Prozess in den Hintergrund zu senden gibt es 2 Möglichkeiten.
Den Prozess mit command & starten.
maff@mafftop:~$ vim &
[1] 15564
Den Prozess mit CTRL+Z in den Hintergrund senden.
maff@mafftop:~$ vim
<CTRL+Z>
[1]+ Stopped vim
Um den Prozess wieder in den Vordergrund zu bekommen, reicht ein
maff@mafftop:~$ fg <job_nr>
Da ich morgen heute — in 4,5 h — Klausur über Operating Systems schreibe, ist heute Schnipseltag. Um die Zeichenkette “foo” in allen Dateien im aktuellen Verzeichnis zu finden und eine Liste dieser Dateien auszugeben bietet sich folgende Kombination aus find und grep an:
find . -type f -exec grep -qi "foo" {} \; -print
Und um bestimmte Verzeichnisse auszuschließen (z.B. .git):
find . -path '*.git' -prune -o -type f -exec grep -qi "foo" {} \; -print
Weil ich ständig vergesse, wie man in der Shell einem User eine weitere sekundäre Gruppe zuweist:
usermod -a -G gruppe username