Arbeiten mit Putty – Eine Liste der Befehle

Wenn man mit Putty arbeitet, gibt es den ein oder anderen Befehlt der einem schnell viel Arbeit erspart. Hier mal ein Paar Befehle die ich häufig nutze:

Grundsätzliche Steuer-Kommandos

pwd
Zeigt an in welchem Verzeichnispfad man sich derzeit befindet.

cd ..
Bewirkt das man im Verzeichnispfad eine Ebene nach oben geht. ACHTUNG anders als bei DOS muss zwischen dem cd und den .. eine Leerstelle sein.

cd ordnername
Bewegt den Zeiger in das angegebene Verzeichnis.

ll
Gibt den Inhalt des aktuellen Ordners aus.

-m –max-depth=1 $*
Gibt eine Liste mit den Größen der Dateien und Ordner und der Gesamtgröße

mc
Öffnet den midnight commander, eine art Dateiexplorer mit “grafischer” Oberfläche.
Steuern kann man im mc mit den Pfeiltasten hoch uind runter. Zwischen dem linken und dem Rechten Fenster im mc kann man durch hineinklicken mit der Maus wechseln.
Durch drücken der Taste “Einfügen” (einfg) auf der Tastatur wird ein im mc angeklickter Ordner oder eine Datei als ausgewählt markiert.
F5 Taste drücken um den kopiervorgang zu starten.

rsync Befehle

rsync -rtlv --bwlimit=5000 --exclude="templates_c/*" --stats /var/www/targetfolder/ ssh-key@domain.tld:/var/www/targetfolder

Mit diesem Befehl lassen sich komplette Webseiten auf einen anderen Server kopieren. Dabei muss wenigstens einer der Server die SSH Schlüssel des anderen Servers kennen und akzeptieren.

webperm ~/vhost/kundenname/www.kundendomain.tld

Berechtigungen auf dem Server nach dem Kopieren mit rsync grade biegen

Grep Befehle

grep -r Suchstring *

Mit diesem Befehl durchsucht man alles ab dem Ort in dem man sich befindet nach dem Wert der in Suchstring angegeben wurde.

grep -r "String1" * | grep "String2"

Mit dieser Anfrage wird alles gesucht was String1 und String2 beinhaltet.

grep -r "String1" serchInThisFile.txt | grep "String2"

Hier würde nur die einzelne Datei durchsucht werden. Bei nutzung des * wird jede Datei durchsucht

Folder kopieren / erstellen

mkdir erstellt den Ordner, cp -r kopiert den angegebenen Ordnerinhalt in den angegebenen Zielordner.

mkdir 'folderpath_to_fill_with_folderpath_to_copy'
cp -r 'folderpath_to_copy' 'folderpath_to_fill_with_folderpath_to_copy'

Mysql Befehle

Datenbank aus exportierter sql Datei in Datenbank importieren

mysql -u benutzername -h urlzur.database.tld -p datenbankname < dump.sql

Hier wird eine Verbindung zur Datenbank aufgebaut und die komplette Datenbank wird in die Datei ausgabedatei.sql geschrieben. ( Komplett Backup )

mysqldump -u benutzername -h urlzur.database.tld -p datenbankname > ausgabedatei.spl

Sollte man Probleme mit der Zeichenkodierung der DB Inhalte haben, zum Beispiel die Daten sind mit UTF-8 Kodiert, kann man beim dump der DAten die Kodierung mit angeben:

mysqldump -u benutzername -h urlzur.database.tld -p datenbankname --default-character-set=utf8 > result-sql-file.sql

Nano (Consolen-Texteditor) Befehle

nano pfad/file.type
Öffnet Datei im Nano Consolen Editor

tail Befehle

tail -f dateiname -n 40
Error log Dienst für kontinuierliche Ausgabe von Error Meldungne
-f steht für kontinuierlich ausführen
-n XX Anzahl der maximal ausgegebenen Zeilen

SVN

checkout
1. in den Ordner wechseln in den die Dateien geladen werden sollen.
2. dort svn checkout “PfadZumSVNTrunk”
2 A: Wenn der Ordner des SVN Projektes nicht mit erstellt werden soll muss hinter dem PfadZumSVNTrunk eine Leerstelle und ein . eingegeben werden.

Zip Archiv entpacken

Der folgende befehl entpackt ein zi auf dem Server.

unzip meinezipdateip.zip

Zip Archiv erstellen

Zuerst wechselt man mit cd Verzeichnis/Unterverzeichnis in das Verzeichnis wo sich der Ordner oder die Datei befindet die man Zippen möchte.
Mit dem Befehl:

zip -r output_zip_name.zip folder_or_filename


Wird das Zip Archiv erstellt.

Zip Archiv erstellen und dabei bestimmte Ordner excluden

mit dem Parameter -x ‘*/folder1/*’ -x ‘*/folder2/*’….. werden Verzeichnisse angegeben die nicht mit ins Zip sollen.
-x startet den Parameter
*/ ist ein Platzhalter und bedeutet das der Ordner in allen Ordnern gesucht werden soll, ab dem start Ordner
dann kommt der Ordner Name
*/ bedeutet das alle Dateien die sich in diesem Ordner befinden ausgeschlossen sind.

zip -r output_zip_name.zip folder_or_filename -x '*/folder1/*' -x '*/folder2/*'


das gleiche geht natürlich auch mit expliziten Dateien

zip -r output_zip_name.zip folder_or_filename -x '*/zu_excludierende_date.ext' -x '*/datei2.ext'


Hierbei würden die Datei “zu_excludierende_date.ext” und “datei2.ext” nie mit ins Zip gepackt, egal in welchem Ordner sie sich befinden.

Möchte man die Datei nur in einem bestimmten Ordner ausschließen, kann man den Pfad genauer angeben:

zip -r output_zip_name.zip folder_or_filename -x '*/pfad1/unterordner1/zu_excludierende_date.ext' -x '*/pfad2/unterordner1/datei2.ext'


Im Beispiel würden nur die Datei im Ordner “*/pfad1/unterordner1/” und die Datei im Ordner “*/pfad2/unterordner1/” ausgeschlossen.

Gesplittete Zip erstellen, zum Beispiel für das Brennen von riesigen Archiven auf DVD:

zip -r outputname.zip target2zip -s 4.5GB -x '*/folderexclude1/*'

Dateien suchen

Bei der Angabe zum Filename kann man mit dem + einen Platzhalter angeben.
Beispiele:
*test.php”: findet “test.php” und “abc_test.php” aber nicht “abc_test_1.php”
“test*.php”: findet “test.php” und “test_abc.php” aber nicht “abc_test_a.php” oder “abc_test.php”
“test.*“: findet “test.php” und “test.jpg” aber nicht “abc_test.php” oder test_abc.jpg”

find /the/path/to/the/folder/where/we/would/search/ -name "*thefilename*.*"

Liste der laufenden Prozesse ausgeben

ps aux

SSH in der cmd zum Server verbinden

ssh dein-benutzername@ip-oder-server-url


Den Befehl mit ENter bestätigen und dann das SSH Passwort eingeben wenn in der cmd die Aufforderung dazu erscheint.

Dateien von Server zu Server kopieren (SSH)

In der cmd lassen sich uch Dateien direkt von einem Server zumanderen übertragen. Folgender Befehlt kopiert die datei a.zip auf sever1 zum server2:

# auf server1 einloggen
ssh dein-benutzername@server1.de
# Passwort eingeben
...
# a.zip über eine ssh Verbindung zu server2 senden
scp a.zip my-ssh-username@server2_url_or_ip:ziel_ordner_pfad_auf_server2