Par exemple, si je fais un
mkdir thisismyfolder912
Je me souviens qu'il y a un moyen plus facile de changer thisismyfolder912
que d'avoir à faire un
cd thisismyfolder912
Qu'est-ce que c'est et comment ça marche? De plus, quelles sont les autres façons de l'utiliser?
shell
command-history
Lazer
la source
la source
cd this<TAB>
Réponses:
Parlez-vous d'une expansion de l'histoire classique ou d'un traitement Readline?
cd !$
sur la ligne d'entrée suivante se substituera dans le dernier argument de la ligne précédente, ou M-.ou le M-_tirera en utilisant Readline.la source
cd !$
. "Extension de l'histoire classique ou traitement Readline" Je ne comprends pas exactement ce que vous voulez dire ...!$
est une extension de l'histoire ; le shell le traite pendant qu'il analyse votre commande. M-. est une frappe de ligne de lecture; readline est la bibliothèque qui gère chaque touche sur laquelle vous appuyez et qui voit que vous avez appuyé sur M-. et tape automatiquement le dernier argument de la dernière commandeSi votre question concerne l'accès à l'historique des commandes, essayez cette commande bien nommée
Vous pouvez également essayer Ctrl+ ret commencer à taper une commande dont vous essayez de vous souvenir que vous avez récemment tapé.
Appuyez sur ESCpour sélectionner la commande ou quitter. Cela fonctionne pour moi sur SuSE au moins; pas sûr des autres distributions.
la source
history | grep ...
!vi
pour gérer votre ligne de commande. Ça a l'air super cool. utiliser vi pour modifier les commandes shellC'est aussi simple que Alt+.
Alt + .
la source
<kbd></kbd>
balises pour entourer la clé.<kbd>
cela a toujours fonctionné pour moi:
la source
$!
développe jusqu'au dernier mot que vous avez réellement tapé, se$_
développe jusqu'au dernier mot après l'expansion - de sorte que vous puissiezecho /tmp/tmpfile*
voir un tas de fichiers que vous souhaitez supprimer, maisrm $_
n'en supprimerez qu'un seul.Reprendre une astuce d'un autre fil, si vous mettez:
dans votre .bashrc, vous pouvez commencer à taper quelque chose de votre historique, puis appuyer sur la flèche vers le haut, puis plutôt que de parcourir votre historique élément par élément, il passera directement aux entrées précédentes qui commencent par ce que vous avez déjà tapé.
Je suppose que cela n'aide pas beaucoup avec l'exemple particulier donné dans la question, mais c'est une chose qui m'aide à accéder à l'historique à la volée.
la source
Si vous utilisez bash, je suggère
pushd
etpopd
. Vous pouvez créer une pile de répertoires et le parcourir rapidement. Voir cet exemple:la source
$
est utile lors de la démonstrationpushd
, etc.)Sur une note connexe, je recommande d'utiliser histverify dans bash. Mettez ceci dans votre ~ / .bashrc:
Cela entraînera bash à imprimer la commande après avoir développé! $ Ou d'autres fonctions d'historique, et vous donnera une chance de l'examiner avant d'appuyer de nouveau sur enter pour l'exécuter. Pour moi, le test de santé mentale vaut la pression supplémentaire occasionnelle sur les touches. Je veux m'assurer que j'exécute la
cd foo
commande, pasrm -rf foo
celle ...J'utilise souvent l' Ctrl-Rapproche, ainsi que Alt-.(ce qui convient bien au scénario que vous décrivez). J'utiliserai! $ À l'occasion.
Ce sont des techniques très utiles à usage général.
Mais pour répondre à votre question spécifique:
Créer un répertoire et y insérer directement un CD est une combinaison tellement courante qu'il est utile d'avoir une fonction pour le boucler.
Usage:
mcd thisismyfolder
la source
Si votre shell utilise readline (ce qui est le cas
bash
), vous pouvez faire quelque chose comme appuyer sur ATL+ .ensemble?Dans la documentation GNU Readline :
la source