Partagez vos fonctionnalités et astuces en ligne de commande pour Unix/Linux. Essayez de le garder indifférent au shell/à la distribution si possible. Intéressé par les alias, les lignes simples, les raccourcis clavier, les petits scripts shell, etc.
Réponse acceptée :
Cela s'étend quelque peu sur le !!
astuce mentionnée dans cette réponse. Il y a en fait un tas de commandes liées à l'historique qui ont tendance à être oubliées (les gens ont tendance à poignarder Up 100 fois au lieu de chercher une commande qu'ils savent avoir tapée).
- L'
history
La commande affichera une liste des commandes récemment exécutées avec un indicateur d'événement à gauche !N
remplacera la commande associée à l'indicateur d'événementN
!-N
remplacera leN
commande la plus récente ; par exemple.!-1
remplacera la commande la plus récente,!-2
le deuxième plus récent, etc.- Comme mentionné dans l'autre réponse,
!!
est un raccourci pour!-1
, pour substituer rapidement la dernière commande !string
remplacera la commande la plus récente qui commence parstring
!?string?
remplacera la commande la plus récente qui contientstring
Des désignateurs de mots peuvent être ajoutés à un !
commande history pour modifier les résultats. Deux-points séparent les désignateurs d'événement et de mot, par ex. !!:0
. L'indicateur d'événement !!
peut être abrégé en !
lors de l'utilisation d'un indicateur de mot, donc !!:0
est équivalent à !:0
.
!:0
obtiendra la commande qui a été exécutée!:1
obtiendra le premier argument (et!:2
la seconde, etc.)!:2-3
obtiendra les deuxième et troisième arguments!:^
est une autre façon d'obtenir le premier argument.!:$
obtiendra le dernier!:*
obtiendra tous les arguments (mais pas la commande)
Les modificateurs peuvent également être ajoutés à un !
commande history, chacun préfixé par deux-points. N'importe quel nombre peut être empilé (par exemple !:t:r:p
).
h
— Alignez-vous sur le nom de fichier de baset
— Uniquement le nom de fichier de baser
— Alignez jusqu'à l'extension du nom de fichiere
— Uniquement l'extension du nom de fichiers/search/replacement
— Remplace la première occurrence desearch
avecreplacement
gs/search/replacement
— Remplacer toutes les occurrences desearch
avecreplacement