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'
historyLa commande affichera une liste des commandes récemment exécutées avec un indicateur d'événement à gauche !Nremplacera la commande associée à l'indicateur d'événementN!-Nremplacera leNcommande la plus récente ; par exemple.!-1remplacera la commande la plus récente,!-2le 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 !stringremplacera 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 .
!:0obtiendra la commande qui a été exécutée!:1obtiendra le premier argument (et!:2la seconde, etc.)!:2-3obtiendra 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 desearchavecreplacementgs/search/replacement— Remplacer toutes les occurrences desearchavecreplacement