Teilen Sie Ihre Befehlszeilenfunktionen und Tricks für Unix/Linux. Versuchen Sie, es möglichst Shell-/Distro-agnostisch zu halten. Interessiert an Aliasnamen, Einzeilern, Tastaturkürzeln, kleinen Shell-Skripten usw.
Akzeptierte Antwort:
Dies erweitert etwas den !! Trick in dieser Antwort erwähnt. Es gibt tatsächlich eine Reihe von geschichtsbezogenen Befehlen, die gerne vergessen werden (die Leute neigen dazu, Up zu erstechen 100 Mal stattdessen nach einem Befehl suchen, von dem sie wissen, dass sie ihn eingegeben haben).
- Die
historycommand zeigt eine Liste der kürzlich ausgeführten Befehle mit einer Ereigniskennung auf der linken Seite !Nersetzt den Befehl, der dem EreignisbezeichnerNzugeordnet ist!-Nersetzt dasNletzter Befehl; z.B.!-1ersetzt den letzten Befehl,!-2die zweitneueste usw.- Wie in der anderen Antwort erwähnt,
!!ist eine Abkürzung für!-1, um den letzten Befehl schnell zu ersetzen !stringersetzt den letzten Befehl, der mitstringbeginnt!?string?ersetzt den letzten Befehl, derstringenthält
An ! können Wortbezeichner angehängt werden history-Befehl, um die Ergebnisse zu ändern. Ein Doppelpunkt trennt die Ereignis- und Wortbezeichner, z. !!:0 . Der Ereignisbezeichner !! kann einfach zu ! abgekürzt werden bei Verwendung eines Wortbezeichners, also !!:0 entspricht !:0 .
!:0erhält den ausgeführten Befehl!:1erhält das erste Argument (und!:2die zweite usw.)!:2-3erhält das zweite und dritte Argument!:^ist eine andere Möglichkeit, das erste Argument zu erhalten.!:$bekommt den letzten!:*bekommt alle Argumente (aber nicht der Befehl)
Modifikatoren können auch an ! angehängt werden history-Befehl, denen jeweils ein Doppelpunkt vorangestellt ist. Es kann eine beliebige Zahl gestapelt werden (z. B. !:t:r:p ).
h— Richten Sie sich nach dem Basisdateinamen aust— Nur der Basisdateinamer— Ausrichten an der Dateinamenerweiterunge— Nur die Dateinamenerweiterungs/search/replacement— Ersetzen Sie das erste Vorkommen vonsearchmitreplacementgs/search/replacement— Ersetzen Sie alle Vorkommen vonsearchmitreplacement