benötigen wir mehr als 6,5 max_connections, müssen wir mehr RAM zur Verfügung stellen oder read_buffer und sort_buffer kleiner einstellen…
[stextbox id=”info” caption=”Regel”]
Je weniger RAM zur Verfügung steht und je mehr max_connections benötigt werden, desto kleiner müssen read_buffer, sort_buffer u. key_buffer sein.
[/stextbox]
my.cnf – Konfigurationsdatei überprüfen ob der key_buffer so groß ist, dass alle Indizies in den Buffer passen und table_cache in etwa der Anzahl der Tabellen entspricht.
Zudem sollte man darauf achten, dass MySQL-Cache eingeschaltet ist.
-> query_cache_type=1
Als Anwendungsbeispiel werde ich an dieser Stelle die MySQL-Konfiguration meines Servers überprüfen ->
/root/mysqltuner.pl
Ich werde hier jedoch nur die Fehler, welches das Skript in meiner Konfig gefunden hat auflisten…
[!!] Total fragmented tables: 2
-> das nachfolgende Kommando schafft hier Abhilfe (könnte man so, oder so ähnlich auch als cronjob (crontab) laufen lassen
In diesem Beispiel werden alle Datenbanken, jede 30 Minuten defragmentiert bzw. optimiert.
[!!] Key buffer size / total MyISAM indexes: 10.0M/13.7M
-> key_buffer = 15M erhöhen
7.1) MariaDB (MySQL-Fork)
In den letzen Wochen habe ich auch mit einem Mysql-Fork herumgespielt (MariaDB), dieser soll einige Vorteile in der Geschwindigkeit bringen. Man kann die Software über die Debian Pakete installieren nachdem man folgendes in seine “sources.list” aufgenommen hat.
deb http://mirror.ourdelta.org/deb lenny mariadb-ourdelta
deb-src http://mirror.ourdelta.org/deb lenny mariadb-ourdelt
… danach noch ein …
apt-get update
… und schon kannst du die Software gegen MySQL austauchen, dies funktioniert z.B. mit “aptitude” (mariadb-server) auch sehr gut, jedoch hatte ich das Problem, dass mein ISPConfig (eine Server Verwaltungsoberfläche) keine neuen Benutzer anlegen konnte, da sich die Syntax des Befehls ein wenig unterscheidet.
So langsam möchte ich auf die Fragen, welche bisher aufgetaucht sein könnten eingehen und mit der Beschleunigung der Webseite anfangen, daher starten wir mit der Komprimierung.
Alle neuen Browser (ab IE6) unterstützen komprimierte Dateien, man kann sich dies so ähnlich vorstellen, wie in dem diesem Proxy-Beispiel, wo die Dateien serverseitig komprimiert werden und vom Client, in unserm Fall nun der Browser wieder dekomprimiert werden. Aber dazu kommen wir gleich. Das Problem ist, dass Bilder bereits komprimiert sind und falls diese im Nachhinein noch einmal passiert, diese sogar größer werden können als zuvor, daher versucht man diese bereits bei der Bereitstellung in der optimalen Dateigröße anzubieten, zudem sollte man vermeiden, dass zu viele kleine Dateien vom Server geladen werden müssen, da zu viele Verbindungen bzw. Anfragen sich auch seht negativ auf die Performance einer Webseite auswirken.
2.1) Bilder komprimieren
2.1.1) Bilder Sprites
Durch viele kleine Icons / Menü-Bildern kommen viele Serveranfragen zustande, welche man durch ein größeres Bild, welches dann wiederum mit css so bearbeitet werden kann, dass man bestimmte Bildabschnitte ansprechen kann, ersetzten könnte.
Es folgt noch ein Beispiel, um das Prinzip zu verstehen…
alte CSS-Regeln:
#header {background: url(bild1.jpg) top left repeat-x; height:80px;}
ul.menu li {background: url(bild2.jpg) top left repeat-x; height:15px;}
bild1.jpg und bild2.jpg sind jeweils 1px breit. Waf der folgenden Webseite → Sprite-Generator ← kann man diese beiden Dateien nun zu einer Sprite-Datei zusammenfassen und herunterladen bzw. auf Webserver hochladen.
Dieses Sprite-Bild wird nun für alle Elemente, die einen im Sprite enthaltenen Hintergrund haben eingefügt:
#header, ul.menu li {background-image:url(bg_sprite.png);}
Mithilfe der im Generator angegebenen Regeln, werden die alten CSS-Regeln ersetzen:
Dies fällt bei größeren Bildern mehr ins Gewicht, jedoch kann auch die Komprimierung von solchen Logos etc. schon einige hundert MB im Monat einsparen, zumal PNG in Gegensatz zu JPEG eine verlustfreie Neukomprimierung unterstützt.
Als alternative zu all dieses serverseitigen Möglichkeiten kannst du deiner Bilder natürlich auch mit einem Bildbearbeitungsprogramm (z.B. Paint.NET) öffnen und z.B. optimiert für Webseiten abspeichern.
2.2) JavaScript/CSS komprimieren
2.2.1) JavaScript/CSS komprimieren – serverseitig
Hier werde ich kurz zeigen wir du deine JS- und CSS-Dateien nicht nur komprimieren kannst, um die Ladegeschwindigkeit deiner Webseite zu verbessern, sondern auch noch optimierst, so dass diese schneller ausgeführt werden. Der CSS-Kompressions-Algorithmus verwendet zudem einen Satz von fein aufeinander abgestimmten reguläre Ausdrücke, um die CSS-Datei zu komprimieren.
[stextbox id=”info”]Bei mir hat das kombinieren von einigen JS- und CSS-Dateien negative Auswirkungen gehabt, so haben einige JS nicht mehr funktioniert, zudem sollte man bedenken, dass einige Dateien nicht auf jeder Webseite benötigt werden und daher auch ruhig später geladen werden können, sobald ein Besucher z.B. auf Kommentare klickt.[/stextbox]
Eine weitere Methode besteht darin, die Daten selber gar nicht zu verändern, sondern diese direkt und nach einer bestimmten Zeit neu von einem Server komprimieren zu lassen, diese Methode hat daher auch wieder nachteiligen Einfluss auf die Ladegeschwindigkeit, da ein weitere Request, DNS-Lookup usw. hinzukommt. Jedoch kann man an diesen Online-Dienst auch mehrere CSS- bzw. JS-Dateien gleichzeitig übergeben. Ob dies wirklich die Performance steigern kann müsste man im Einzellfall ausprobieren.
Serverseitige Komprimierung und somit eine Reduzierung der zu Übertragungen Datenmengen von 40 – 70 % sind hier zu erreichen, zudem kannst du mithilfe der folgenden Konfigurationen gleich mehrere Webseiten, welche auf dem selben Server laufen optimieren.
ohne gzip-Kompression:
mit gzip-Kompression:
Aktiviere mod_deflate (gzip) – serverseitig
Diese Art der Komprimierung macht natürlich nur bei Dateien Sinn, welche auch komprimiert werden können z.B. HTML, CSS oder Javascript …
a2enmod deflate
… dieser Befehl kann unter anderen Distributionen anders aussehen z.B.: BSD
Mithilfe von gzip (DeflateCompressionLevel) kann man verschneide Kompressions-Level einstellen, wobei 1 die schnellsten Komprimierung (weniger Kompression) und 9 die langsamste Komprimierung (beste Kompression) ist. Die Standard-Kompressions-Level ist 6. da eine zu hohe Kompression auf Kosten der der Systemleistung geht, ggf. kann man diesen Wert anpassen, wenn man noch genügend Ressourcen frei hat.
Nun müssen wir unsern Webserver neu-starten, um die Konfiguration zu übernehmen.
Wer noch apache und nicht apache2 verwendet sollte “mod_gzip” anstelle von “deflate” ansehen, jedoch werde ich nicht weiter auf die veraltete Apache-Version eingehen, wenn noch jemand den alten “Apache Web-Server” einsetzt, soll man ggf. ein Update auf apache2 durchführen…
“Nur unter Apache 1.3 ist “mod_gzip” effektiver ab “Apache 2.x” sollte man “mod_deflate” verwenden.”
Es gibt auch noch die Möglichkeit Dateien serverseitig im Vorhinein zu komprimieren und in einer .htaccess anzugeben, welche Dateien bzw. Dateiendungen vom Browser wieder dekomprimiert werden müssen. Ich selber habe auch eine Mischung aus den verschienden Komprimierungsverfahren gewählt, so habe ich sehr große JS-Dateien im Vorhinein folgendermaßen komprimiert, so dass der Server dies nicht jedes mal machen muss, zudem hat dieses Verfahren den großen Vorteil, dass man die negative Auswirkung des hohen Komprimierungslevel, auf die Systemauslastung umgeht.
Der Artikel beschreibt, wie man seine Webseite bzw. seinen Server analysiert und optimiert um Performance zu gewinnen, Ladezeit zu reduzierten bzw. Traffic einzusparen. Man kann einiges an Performance gewinnen, indem man z.B. Bilder im richtigen Format abspeichert bzw. komprimiert, CSS- / JS-Dateien kombiniert und ebenfalls komprimiert oder auch bestimmt Daten vorkomprimiert zur Verfügung stellt.
Abschließend möchte ich diesen Thema noch einmal kurz zusammenfassen, so dass man ggf. selber weitere Möglichkeiten erkennt, die Ladegeschwindigkeit seiner Webseite zu verbessern, jedoch nicht auf die Technische Umsetzung eingehen.
Kenne deinen Feind !!!
80 bis 90% der schlechten Performance liegt an der Webseite selber und nicht auf der Serverseite, solange nur wenig Besucher auf deiner Webseite sind, braucht man sich eigentlich um einen Revere-Proxy oder eine alternative zu Apache keine oder zumindest nur wenig Gedanken machen, da die Performance erst mit steigender Besucherzahl einbricht. Jedoch sollte man in jedem Fall die gzip-Komprimierung und den Browser-Cache nutzen.
Externe Dateien (Bilder, JS, CSS, Videos…)
Jeder Aufruf einer Datei kostet Performance und Bandbreite, daher sollte man im allgemeinen weniger Requests produzieren, indem man z.B. JS- bzw. CSS-Dateien kombiniert. Dieser negative Einwirkung steigt dramatisch bei externen Dateien von andern Servern und besonders dann, wenn dieser gerade mal nicht erreichbar ist.
Scripte
Immer wenn eine Browser eine Webseite abruft und im HTML-Code ein Script finde, wird das weitere laden der Webseite eingestellt und erst-einmal die JavaScript Engine damit beansprucht, diesen zu interpretieren. Daher sollte man diese Dateien erst am Ende der Webseite laden lassen, so dass der User die Webseite früher sehen kann, auch wenn z.B. die Animation des Menüs erst nach nachgeladen werden muss. Mit diesem Ansatz, erscheint es nur Sinnvoll CSS-Daten am Anfang laden zu lassen, so dass sich die Webseite dem User direkt im korrektem Layout präsentiert.
Bilder
Ein weites großer Bereich sind Bilder, dabei muss man jedoch ein gutes Mittelmaß an Text und Bildern finden, da die User zwar Bilder immer schön finden.. Logo, Hintergrundbild u.s.w. jedoch macht es nur wenig Sinn seine selbst jeder kleine Datei zu optimieren, wenn man oben über der Webseite ein 300 KB großes Bild eingefügt hat. Wie bereit im Artikel beschrieben gibt es jedoch zahlreiche Methoden (PNG- und JPEG-Dateien) diese zu optimieren.
Yahoo hat zudem eine sehr umfassende Liste von weiteren Regeln zusammengestellt, welche man beachten sollte.
Seit einigen Wochen bastele ich nun bereits an diesem neuen Blog, die meiste Zeit ist dabei für die Migration der Blog-Einträge drauf-gegangen. Mein letzter Blog beruhte auf e107 ein CMS welches in letzter Zeit einige schwerwiegende Sicherheitslücken hatte.
Die nächste Schwierigkeit bestand darin ein Ausgewogenes Gleichgewicht zwischen speed, usability und optik herzustellen. Dazu hab ich das folgende WordPress Theme “mystique” und einige WordPress Plugins verwendet. Außerdem läuft die Webseite nun auf einem neuen V-Server, aber nicht nur die Hardware wurde aktuallisierst, folgende Software kommt nun zum Einsatz.
Da ich auch einige Zeit investieren musste, um mich mit den unzähligen Plugins für WordPress auseinander zu setzen, veröffentliche ich hier noch schnell meine Liste von verwendeten Plugins:
WordPress Plugin Pack: (Update: 07.11.2010)
AddToAny: Share/Bookmark/Email Button → Share-Button den ich nur auf der Start-Seite einsetze
Akismet → Blockt Spam
All in One SEO Pack→ SEO Optimierung für deinen Blog
All in One Webmaster → Verifizierung für Google, Bing, Yahoo, Alexa…
Auto Post Thumbnail → Setzt das erste Bild in einem Blog-Artikel als Artikelbild
Auto SEO Tags→ fügt jedem Blog-Eintrag automatisch Tags aus Suchanfragen hinzu
Auto Tags→ fügt jedem Blog-Einträge automatisch passende Tags hinzu
BuddyPress → macht aus einem Blog, einen Community-Blog
Contact Form 7→ einfaches Kontaktformular
Disqus Comment System→ neues Kommentar-System
Enable Site Ping WPMU → Ping für WordPress – Multi (Suchmaschinen über Updates eines Blogs mitteilen)
Mit “nagstamon” hast du deinen Monitoring-Server (Nagios) immer in Sicht und bemerkst so vielleicht, dass ein Server ein Problem hat, bevor es zu spät ist.
In diesem HowTo werde ich zeigen, wie du dein Android (GALAXY SPICA I5700) Handy optimieren kannst. Nach dieser Optimierung hat dein Handy einige neue Funktion läuft mit Android 2.1 und ist um einiges schneller.
[stextbox id=”warning”]Warnung: Indem du diese Updates einspielst, gehen die Einstellungen auf dem Handy verloren und du musst deine Einstellungen wieder neu vornehmen z.B. APN (BASE = E-Plus), außerdem funktionieren einige Applikationen nicht im apps2sd-Modus, aber dazu gleich mehr. Die Kontakte bleiben jedoch erhalten.[/stextbox]
Mein Spica hat nun folge Werte: Linpack for Android
– neu-partitionieren deiner SD-Karte->eine zweite Partition (FAT32 + ext2/3/4) um dort Applikationen zu installieren (apps2sd)
Apps2sd: basierend auf CyanogenMod (apps2sd)
– du kannst deine Apps vom internen Speicher auf die SD-Karte speichern, wenn du willst, indem du wie in diesem Blog-Artikel beschrieben eine zweite Partition auf deiner SD-Karte zu erstellen. (FAT32 + ext2/3/4)
1.) Treiber herunterladen/installieren
“Windows XP” -> “SAMSUNG New PC Studio” -> Download-Link
Als erstes benötigen wir unter Windows folgendes Programm “SAMSUNG New PC Studio” bzw. “SAMSUNG Kies“, eigentlich benötigen wir nur die Treiber, diese sind jedoch mit in der Software integriert, daher einfach installieren und nach der Installation das Programm wieder schließen und nicht mehr beachten… ;-)
Da bei den meisten Geräten nicht die neuste Firmware drauf sein dürfte, laden wir uns die folgende Datei herunter. Um diese Datei “I570EUXJG1.rar” jedoch zu öffnen benötigst du z.B. 7-Zip. (hat bei mir schon lange WinZip… WinRAR und so weiter verdrängt ^^)
Die neusten Firmwares für Samsung I5700 Spica findest du unter folgendem Link, die zuvor erwähnten Firmware war ist bisher (26.08.2010) die aktuellste Version und ich hatte mit dieser keinerlei Probleme.:
Um “USB debugging” auf deinem Handy zu aktivieren, gehst du wie folgt vor |
Settings->Applications->Development->Enable USB debugging
5.) Software starten
Bevor wir unser Handy am PC anschließen, staten wir die Odin-Software und geben den Pfad zu den zuvor heruntergeladenen Dateien an.
6.) Handy vorbereiten & Firmware installieren
Du musst dein Handy nun ausschalten und es darf nicht per USB am PC angeschlossen sein, ansonsten kann es nicht im neuen Modus hochfahren, dies geschieht, indem wie im folgendem Bild beschrieben die leiser-, Kamera- und die ein/aus-Taste gedrückt hältst…
leiser + Kamera + aus/ein
…nun sollte folgender Bildschirm erscheinen, …
Download-Modus
…wenn dies geschehen ist, kannst du dein Handy mit dem USB-Kabel am PC anschließen. Du wirst sehen, dass die Odin-Software feststellt, dass du dein Handy angeschlossen hast, nun kannst du in der Software auf “Start” klicken und abwarten, falls dein Handy nicht nach dem automatischen Reboot nicht mehr hochfahren sollte, keine Panik.
Sobald du einige Minuten abgewartet hast und die Odin-Software anzeigt, dass alles abgeschlossen ist, dein Handy jedoch nicht mehr hochfährt, nimm einmal den Akku heraus und setzte ihn wieder ein, dann starte dein Handy erneut.
Um die am Anfang genannten Funktionen nutzen zu können brauchen wir noch weiter Updates. Als erstes benötigen wir den “Recovery-Modus”, diesen rüsten wir viel folgt nach.
7.2.) nun musst du dein Handy wieder ausschalten und vom PC entfernen
7.3.) dann wieder die Odin-Software starten und dieses man nur die PDA-Datei auswählen
7.4.) nun musst du dein Handy wieder im Download-Modus starten (leiser+Kamera+an/aus) und danach am PC anschließen und sobald die Software dies mitbekommen hat, kannst du wieder auf “Start” klicken. Danach sollte dein Handy direkt im Recovery-Menü landen (beim ersten Reboot). Um später noch einmal zu diesem Menü zu gelangen, musst du folgende Tasten drücken -> (leiser+anrufen+auflegen)
(leiser+anrufen+auflegen)
7.5.) Da wir Applikationen auf deiner SD-Karte installieren wollen und als nächstes den SamdroidMod installieren möchten, musst du auch noch mit dem Recovery-Modus die SD-Karte formatieren, dabei gehen jedoch alle Daten, auf der SD-Karte verloren, also vorher auf dem PC sichern!!!!!, indem du in dem Recovery-Menü, “Partition sdcard” auswählst und ganz nach der Größe deiner SD-Karte “256МB”, “384МB”, “512MB” auswählst. Der Rest der SD-Karte bleibt im FAT32-Format, so dass du auch von Windows auf dein Handy zugreifen kannst (Bilder, Videos…)
8.1.) Als erstes musst du dich in dem hier schon öfter erwähnten Forum anmelden -> samdroid.net <- dann kannst du unter der zuvor Verlinkten Forum-Seite dein eigenes System zusammenklicken.
Hinweise:
– Base packages -> SamdroidMod Version 1.3.1.deodexed [XXJH1] (Android 2.1)
– Kernel -> Kernel [LK2.09.4 (Multitouch from Gabriel-LG v2b + antibyte camera bugfix2 + Superuser 2.3.5)]
– Extended SamdroidMod Components -> ganz nach belieben
– Boot animations -> ganz nach belieben (ich nutze “Green Eye Boot Animation”)
– Experimental components -> habe ich nicht ausgewählt
8.2.) die neu erstellte Datei (SamdroidMod-update.zip) musst du im oberen Verzeichnis deiner SD-Karte speichern
8.3.) Reboot zu Recovery (leiser+anrufen+auflegen) und wähle wieder “Apply any zip” -> SamdroidMod-update.zip
[stextbox id=”info”]Info: Der erste Boot-Vorgang kann sehr lange dauern (zwischen dem Logo und der Boot-Animation) wieder mal keine Sorgen machen und abwarten. Wenn jedoch zirka 5 Minuten nichts passiert, dann noch einmal den Recovery-Modus staten und im Menüpunkt “Wipe” -> “Wipe data/cache” auswählen und noch einmal neu-starten.[/stextbox]
8.4.) Nun aktivieren wir “apps2sd”, dafür müssen wir folgendes machen: “Samdroid Tools” -> “Apps2sd settings” -> “Enable Apps2sd” + “Move dalvik-cache to SD”
[stextbox id=”warning”]”Frozen Eclair” (FE) sind von Android 2.2 zurück portierte Dateien für 2.1, diese können zu Instabilität deines Handys führen, besonders wenn du die PreBeta bzw. Beta FE verwendest.[/stextbox]
9.1.) Die folgende Dateie musst du nun herunterladen und im Recovery-Modus (“Apply any zip”) auswählen und somit installieren. Nachdem ich nun alle Versionen ausprobiert habe, empfehle ich die neuste “FE 8 Beta4” und keine PreBeta Versionen zu verwenden.
9.2.) Turbo Kernel + Multi Touch: Die folgende Datei herunterladen Samdroid Turbo Kernel (V10) und mit Odin folgende Datei auswählen “SamTurbo_V9_PDA.tar” -> “PDA”. (>9 MFLOPS). Da ich eine stabile Version momentan bevorzuge, habe ich diesen Kernel momentan nicht installiert, zudem ist die “Multi Touch”-Funktionalität nun bereits im SamdroidMod (>= LK2.09.1 -Multitouch) integriert. :-)
[stextbox id=”info”]Info: Der erste Boot-Vorgang kann sehr lange dauern, wenn dies nicht funktioniert, solltest du noch einmal im Recovery-Modus staten und im Menüpunkt “Wipe” -> “Wipe data/cache” auswählen und noch einmal neu-starten.[/stextbox]
10.) Tuning-Apps nachinstallieren
Es gibt einige Apps welche dein Android-Handy verbessern können, ich zeige hier kurz welche ich momentan verwende.
Nachdem du das App installiert und zum ersten mal gestartet hast, wirst du gefragt, um welches Handy es sich handelt, hier wählst du “Samsung Moment (ARM)” aus. Als nächstes wählst im Reiter “Main” -> “Set on Boot” aus. Fertig.
10.2.) Advanced Task Killer (Free)
Lässt sich direkt über den “Market” installieren. Nachdem du es installiert und zum ersten mal gestartet hast, musst du eine Ausnahmeliste erstellen, indem du die ein App im “Advanced Task Killer” länge gedrückt hältst und dann auf “Ignore” tippst. Fertig.
10.3.) Autorun Killer
Lässt sich ebenfalls direkt über den “Market” installieren. Indem du ein App länger gedrückt hältst, kannst du auf “Enable/Disable” tippen, so dass dieses nicht mehr am Anfang gestartet wird und somit keine Ressourcen mehr verbraucht.
10.4.) AddFree
Lässt sich ebenfalls direkt über den “Market” installieren. “Adblocker” mittels Modifizierung der hosts-Datei, somit wird die Werbung erst gar nicht heruntergeladen und funktioniert in anderen Apps, Browser u.s.w.!
Wer will kann nun noch einige Kleinigkeiten Verbessern, dazu hier noch ein paar von meinen Blog-Einträgen :-)
Habe auf meinem Laptop folge Software nachinstalliert
sudo aptitude install powertop laptop-mode-tools
Stromverbrach + hilfreiche Tricks anschauen:
sudo powertop
Und mit ein wenig Konfigurationsarbeit, kannst du die Tips von powertop, in dein System integrieren:
z.B. in /etc/laptop-mode/batt-start/. Man kann auch bestimmt Dienste z.B. “preload” welche einerseits Ihren nutzen haben, jedoch anderseits auch CPU-Last verursachen und somit Strom verbrauchen stopen und wieder starten, sobald der Netzstecker wieder eingesteckt wird.
Im Blog webupd8.org habe ich ein Shell-Skript gefunden, um auf Ubuntu 10.04 einige Einstellungen und Programme zu installieren bzw. zu konfigurieren. Habe das Menü zu “dialog” migriert. Falls jemand noch eine Ideen hat, was man im Skript ergänzen oder verbessern kann, wäre ich für jeden Hinweis dankbar.
[stextbox id=”warning” caption=”Warnung”]Da ich nicht viel Zeit in das Skript gesteckt habe, sind ggf. noch etliche Fehler darin enthalten und man sollte dies als Alpha-Version ansehen. ;-)[/stextbox]
Habe mir soeben folgendes Plugin für WordPress installiert -> 404-plugin <- leider werden bei diesem Plugin standardmäßig Suchergebnisse von der Englischen-Google-Suche angezeigt, welche auf den Begriff in der URL, welcher nicht als Webseite gefunden wurde, angezeigt.
Mit einer kleinen Änderung am Quelltext, bekommst du Link-Vorschläge von und für deine eigene Seite angezeigt.
Update: Da das Plugin anscheinend nicht mehr aktualisiert wird und somit momentan nicht mehr zu gebrauchen ist, habe ich mich kurzerhand nach einer alternative Umgeschaut: Smart-404
In diesen Artikel beschreibe ich kurz wie man die Bash-History nutzt, dafür stellen wir als erstes einige Dinge in der “.bashrc“-Datei in unserm Home-Verzeichnis ein.
vim ~/.bashrc
#keine doppelten Eintraege hintereinander in die History schreiben
export HISTCONTROL=ignoreboth
#History Datei niemals ueberschreiben, sondern neue Eintraege unten anfuegen
shopt -s histappend
#Datum zum Historylog hinzufuegen
export HISTTIMEFORMAT="%F %T"
# History auf 3000 Eintraege erweitern export
HISTSIZE=3000
Befehl
Beschreibung
fc -l
zeigt die letzten Befehle in einer Liste an
Strg + L
führt den clear-Befehl aus und säubert sozusagen die Konsole ;-) Die Befehle “reset”, “TERM=linux” und “loadkeys de” (amerikanischen Tastaturlayout – Bild) können einem auch weiterhelfen…
Strg + r
sucht einen Befehl in der Bash-History (mehrmaliges drücken von Strg+r geht weiter in der History zurück)
Alt + .
schreibt den letzten Parameter des letzen Befehls auf die Konsole
!$
schreibt den letzten Parameter des letzen Befehls auf die Konsole (Alt + .)
!!
führt den letzten Befehl noch einmal aus
!string
startet den letzten Befehl, der mit sting anfängt
!?string
startet den letzten Befehl, der string enthält
^sting1^string2
wiederholt den letzten Befehl, wobei sting1 doch string2 ersetzt wird