Gibt es etwas, ohne das du nicht leben kannst und das mein Leben so viel einfacher machen wird? Hier sind einige, die ich benutze ('Speicherplatz' und 'Ordner' sind besonders praktisch).
# some more ls aliases
alias ll='ls -alh'
alias la='ls -A'
alias l='ls -CFlh'
alias woo='fortune'
alias lsd="ls -alF | grep /$"
# This is GOLD for finding out what is taking so much space on your drives!
alias diskspace="du -S | sort -n -r |more"
# Command line mplayer movie watching for the win.
alias mp="mplayer -fs"
# Show me the size (sorted) of only the folders in this directory
alias folders="find . -maxdepth 1 -type d -print | xargs du -sk | sort -rn"
# This will keep you sane when you're about to smash the keyboard again.
alias frak="fortune"
# This is where you put your hand rolled scripts (remember to chmod them)
PATH="$HOME/bin:$PATH"
Antworten:
Ich habe ein kleines Skript, das Archive extrahiert. Ich habe es irgendwo im Internet gefunden:
quelle
Da ich so viele verschiedene Computer verwende, wird
.bashrc
die Eingabeaufforderung immer so eingestellt, dass sie unter anderem den Namen des Servers enthält, bei dem ich gerade angemeldet bin. Auf diese Weise tippe ich nicht das Falsche in das falsche Fenster, wenn ich drei Ebenen tief in Telnet / SSH bin. Es nervt wirklichrm -rf .
im falschen Fenster! (Hinweis: Zu Hause ist Telnet auf allen Computern deaktiviert. Bei der Arbeit ist ssh nicht immer aktiviert und ich habe keinen Root-Zugriff auf sehr viele Computer.)Ich habe ein Skript
~/bin/setprompt
, das von my ausgeführt wird und Folgendes.bashrc
enthält:Dieses Skript setzt die Eingabeaufforderung auf den Hostnamen, gefolgt von,
:)
wenn der letzte Befehl erfolgreich war und:(
wenn der letzte Befehl fehlgeschlagen ist.quelle
Farbe für Hilfeseiten in weniger erleichtert das Lesen der Hilfeseiten:
Farbige Hilfeseiten erhalten Sie auch, indem Sie die meisten installieren und als MANPAGER-Umgebungsvariable verwenden. Wenn Sie diesen Pager nicht nur für den Menschen verwenden möchten, verwenden Sie die Variable PAGER wie folgt:
quelle
Keine CD mehr ../../../ .. aber bis 4
Erhöht die Anzahl der als Argument übergebenen Verzeichnisse um viele Verzeichnisse, wenn keine standardmäßig um 1 erhöht wird (in einem Link in einem Kommentar in stackoverflow.com gefunden und ein wenig geändert).
quelle
alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..'
Ich beschäftige mich mit vielen verschiedenen Maschinen, so dass einer meiner Favoriten Aliase für jede Maschine sind, für die ich häufig SSH ausführen muss, um:
Es ist auch nützlich, einen guten
.ssh/config
und einen ssh-Schlüssel einzurichten , um das Wechseln zwischen Maschinen noch einfacher zu machen.Ein anderer meiner Lieblingsaliasnamen ist das Verschieben von Verzeichnissen:
Und einige für häufig verwendete Variationen von
ls
(und Tippfehler):Verlauf kann sehr nützlich sein, aber standardmäßig wird Ihr Verlauf bei den meisten Distributionen von jeder Shell, die beendet wird, weggeblasen, und es hält zunächst nicht viel. Ich mag es, 10.000 Zeilen Geschichte zu haben:
Wenn ich weiß, dass ich zuvor etwas getan habe, mich aber nicht an die Einzelheiten erinnern kann,
history | grep foo
hilft mir ein kurzer Moment dabei, mein Gedächtnis zu verbessern.Ich habe oft festgestellt, dass ich die Ausgabe
awk
durchgeleitet habe, um eine bestimmte Spalte der Ausgabe zu erhalten, z. B.df -h | awk '{print $2}'
um die Größe jeder meiner Festplatten zu ermitteln. Um dies zu vereinfachen, habe ichfawk
in meinem .bashrc eine Funktion erstellt:Ich kann jetzt laufen,
df -h|fawk 2
was ein gutes Stück Tipparbeit erspart.Wenn Sie ein Trennzeichen angeben müssen ( zB ,
awk -F:
für/etc/passwd
), kann diese Funktion natürlich nicht damit umgehen. Die leicht überarbeitete Version in dieser Liste kann beliebigeawk
Argumente vor der Feldnummer verarbeiten (erfordert jedoch weiterhin die Eingabe von stdin).quelle
GPG-verschlüsselter bashrc
Ich bin sicher, wir haben alle Dinge, die wir gerne in unseren Bash-Code aufnehmen möchten und die für Sudoer nicht leicht lesbar sein sollen. Meine Lösung hierfür ist:
Ich habe einen GPG-Agenten, der es so macht, dass ich das Passwort meines privaten Schlüssels nur einmal alle paar Stunden eingeben muss. Sie müssen den Benutzern des Systems immer noch vertrauen, da die von Ihnen definierten Variablen, Funktionen und Aliase aus dem RAM extrahiert werden können. Ich benutze dies jedoch hauptsächlich für meinen Laptop. Wenn es gestohlen wird, möchte ich nicht, dass jemand leicht Dinge sieht wie:
quelle
MYsql < garbagecollect.sql
stattmysql -uadmin -psecret < garbagecollect.sql
Dies ist eine großartige Ressource dafür:
Zeigen Sie uns Ihre .bashrc
quelle
Früher habe ich diese überall eingerichtet, aber dann wurde mir klar, dass es besser ist, sich nur daran zu erinnern, wie man sie 'manuell' macht, weil dies bedeutet, dass ich 1) vollständig verstehe, was vor sich geht, und 2) Zugriff auf diese Funktionen habe, selbst wenn Mein benutzerdefiniertes .bashrc wurde nicht installiert.
Das einzige, was ich heutzutage als Alias benutze, ist, das wiederholte Tippen von wirklich langen Zeilen zu reduzieren (z. B.
alias myhost='ssh -T [email protected] screen -dAr'
).quelle
Die Einzeiler und winzigen Skripte da draußen könnten für immer weitergehen. Ich empfehle man bash und schreibe Dinge selbst. Einige gute kurze Bash-Sachen unter http://www.commandlinefu.com . Hier sind ein paar Dinge.
quelle
history -p
Trick.Ein kleiner Tipp für Bash, wenn Sie ein Sysadmin sind und viel mit Root-Rechten arbeiten:
Dies verhindert, dass Sie versehentlich den Inhalt einer bereits vorhandenen Datei zerstören, wenn Sie die Ausgabe umleiten (> Dateiname). Sie können das Überschreiben immer mit> | Dateiname erzwingen.
quelle
Ich habe die folgenden in meinem Baschrott
Auf einem lokalen Rechner sieht es so aus:
aber auf einer Fernbedienung (durch ssh) ist es:
quelle
Ich habe dies für eine Weile in meinem .bashrc gehabt und fand es hilfreich. Wenn Sie sich in die Box einschleichen, wird der Startbildschirm beim Anmelden automatisch angezeigt. Auf diese Weise verlieren Sie nichts, wenn Ihre Netzwerkverbindung unterbrochen wird oder was auch immer. Es sollte am Ende platziert werden.
quelle
Wie viele Aliase
fortune
brauchen Sie überhaupt?Ich mag es, einen
cdd
Alias zu erstellen, der mich dorthin führt, wo ich momentan am wahrscheinlichsten auf diesem Server arbeite.PATH
Neudefinition gehört wirklich dazu.bash_profile
, nicht.bashrc
.Auf einem Server, auf dem ich routinemäßig eine große Menge von
screen
s verwende, hat my.bashrc
:(Die
screen
s wurden zum Beispiel mit eingerichtetscreen -U -S chaos1
.)quelle
Unter anderem habe ich einige Standardeinstellungen für weniger festgelegt, das versehentliche Schließen des Terminals verhindert und die Vorwärtsnavigation durch den Verlauf aktiviert:
quelle
export IGNOREEOF="2"
Ich habe ein paar Kleinigkeiten:
quelle
cd -
anstelle von bdSchließen Sie alle Protokolle in / var / log ab
quelle
Um Farben für alle grep-Befehle wie grep, egrep und zgrep zu haben, habe ich Folgendes in meinem .bashrc
quelle
Der Alias "Ordner" ist großartig! Ich habe es leicht modifiziert, damit Verzeichnisse mit Leerzeichen keine Fehler verursachen.
quelle
Ich würde @ pjzs Kommentar über das manuelle Erkennen von Dingen wiederholen, anstatt sie einzurichten. Besonders wenn Sie auf zahlreiche Maschinen zugreifen, wie ich es immer zu tun scheine.
Eine, die ich definitiv kenne, ist,
set -o vi
dass ich die vi-Editing-Befehle in Bash kenne und die Emacs nicht kenne (außerdem stört Strg + Ascreen
). Das habe ich in meine eigenen Kisten gesteckt.bashrc
Ich finde auch, dass ich
export EDITOR=vim
einbeziehen muss, weil eine Reihe von Distributionen standardmäßig auf Nano eingestellt sind, was am ärgerlichsten ist, wenn ein Dienstprogramm Sie dazu auffordert, etwas zu bearbeiten, als ich mit vi gerechnet habe. : - /Ich ändere auch meine Aufforderung. Ich habe vor langer, langer Zeit festgestellt, dass das Hinzufügen des letzten Fehlercodes gerade nützlich genug ist, damit es mir gefällt. Und ich mag den vollständigen Pfadnamen in der Eingabeaufforderung. Und die aktuelle
screen
Nummer auch. Und es ist nur sinnvoll, den aktuellen Benutzer- und Hostnamen anzugeben. Meine Eingabeaufforderung lautetPS1='\u@\h $PWD $WINDOW [$?] \$ '
quelle
Lassen Sie die Bash überprüfen, um festzustellen, ob sich die Fenstergröße geändert hat (verhindert, dass die Zeilenbearbeitung merkwürdig wird, wenn Sie die Größe Ihres Terminalfensters ändern).
Das ist mein Favorit. Bewirkt, dass Bash an den Verlauf angehängt wird , anstatt ihn zu überschreiben . Wenn Sie bash starten, wird normalerweise der Verlauf in den Speicher geladen, und wenn Sie ihn schließen, wird er ausgeschrieben. Wenn Sie also zwei Shells laden, verwenden Sie beide und schließen Sie beide. Die zuletzt geschlossene überschreibt alle Änderungen.
Dieses Snippet bewirkt, dass es zuerst nur Änderungen anfügt (anstatt mit dem gesamten Puffer zu überschreiben) und dann nach jedem Befehl Änderungen schreibt. Tatsächlich erhalten Sie eine Live-Aktualisierung von .bash_history. Wenn Sie also ein neues Terminal starten, haben Sie alle Befehle aus dem Verlauf Ihrer anderen laufenden Sitzungen.
quelle
Die .bashrc - Sammlung von Shell-fu.org
quelle
Hier sind Minen:
quelle
Das sind meine Favoriten:
Ich mag es, einen Befehlszeilenverlauf zu haben, der niemals vergisst.
Unglücklicherweise habe ich vor einiger Zeit eine Shell von cron gestartet, die .bashrc nicht gelesen hat, und alles auf 500 Zeilen heruntergeschnitten, was die Geschichte von über einem Jahr zerstört hat. Also empfehle ich diese in / etc / bashrc.
quelle
Hier sind einige meiner Favoriten:
quelle
Ich benutze dies ungefähr 20 Mal am Tag, um in das zuletzt geänderte Verzeichnis zu cden:
Diese beiden enthalten permanente Lesezeichen für häufig verwendete Verzeichnisse:
quelle
Von der Automatisierung der Linux- und Unix-Administration durch Kirk Bauer (tolles Buch!)
Die neue Zeile am Anfang ist meine, ich möchte eine klare Linie zwischen der vorherigen Ausgabe und der Eingabeaufforderung haben. Der Rest ist:
\ u = Benutzername
\ h = Host
\ w = Arbeitsverzeichnis
$? = letzter Rückkehrcode
quelle
Ich kompiliere eine Reihe von Dingen manuell in $ HOME / local, so dass ich diesen kleinen Ausschnitt habe:
Ich habe auch meinen IRC-Client auf meinem Server, der auf dem Bildschirm ausgeführt wird.
quelle
Ich benutze meinen bashrc auf zahlreichen Maschinen, deshalb habe ich diesen kleinen Ausschnitt, um sicherzustellen, dass LS farbig ist. Dies behebt es auf OSX-Rechnern, möglicherweise sogar * BSD, wenn Sie die uname-Zeile anpassen.
Außerdem habe ich einen Befehl zum Sichern einer Datei, der nützlich ist, wenn Sie eine Konfigurationsdatei ändern und vorher eine schnelle Kopie erstellen möchten.
quelle
Dies ist einer meiner Favoriten:
Wenn ich vergessen habe, mich zu authentifizieren, kann ich dies tun, ohne nach der ssh-Sitzung meine Eingabe mit ssh-add verschwenden zu müssen .
quelle
Ein paar gute
Vervollständige den Hostnamen, an den du ssh sendest, automatisch durch SSH (wenn er in deiner Konfiguration oder im Verlauf enthalten ist)
Einige nützliche Einstellungen für die Bash-Vervollständigung
Einige nützliche für Mac OS X
quelle