# Quelle commande trouvez vous pratique ou astucieuse?

**URL:** <https://www.debian-fr.org/t/quelle-commande-trouvez-vous-pratique-ou-astucieuse/88626>\
**Category:** Trucs et Astuces\
**Created:** [Août 10, 2023, 8:38 UTC](https://www.debian-fr.org/t/quelle-commande-trouvez-vous-pratique-ou-astucieuse/88626 "2023-08-10T08:38:55Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![nam1962](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nam1962/32/9129_2.png) [@nam1962](https://www.debian-fr.org/u/nam1962)\
**Post date:** [Août 10, 2023, 8:38 UTC](https://www.debian-fr.org/t/quelle-commande-trouvez-vous-pratique-ou-astucieuse/88626/1 "2023-08-10T08:38:55Z")

</div>

Plus une aide qu’une commande : l’utilisation de `!` - [Tab] dans zsh

`!text`- [Tab] trouvera les dernières commandes qui contiennent la chaîne _text_

Par exemple `!ssh` trouvera pour moi l’accès ssh à l’un de mes serveurs que j’utilise une fois toutes les 3 semaines :

`ssh -p 54321 admin@91.91.123.000` (exemple)

Sans cela je dois remonter dans mon historique ou utiliser [Ctrl] - [Cap] - [F] et c’est fastidieux.

`!n` récupérera la ligne de commande numéro `n` dans `history`

Pour bash, c’est Ctrl + R

---

<div class="post-metadata">

**Author:** ![Didi1](https://www.debian-fr.org/user_avatar/www.debian-fr.org/didi1/32/12829_2.png) [@Didi1](https://www.debian-fr.org/u/Didi1)\
**Post date:** [Août 10, 2023, 12:08 UTC](https://www.debian-fr.org/t/quelle-commande-trouvez-vous-pratique-ou-astucieuse/88626/2 "2023-08-10T12:08:58Z")

</div>

Pour moi sshpass est vraiment utile.  
Ca permet de ne pas rentrer le mot de passe ssh a chaque fois, par exemple pour ta commande il faut écrire :

```auto
sshpass -p password ssh -p 54321 admin@91.91.123.10

```

un autre exemple utile que j’utilise :

```auto
sshpass -p aaaa ssh root@192.168.122.211 "bash -s" < ./update.sh

```

Ca permet d’exécuté un script local dans la machine distante sans avoir a le copier et donc évité les doublons.

---

<div class="post-metadata">

**Author:** ![Didi1](https://www.debian-fr.org/user_avatar/www.debian-fr.org/didi1/32/12829_2.png) [@Didi1](https://www.debian-fr.org/u/Didi1)\
**Post date:** [Août 10, 2023, 12:19 UTC](https://www.debian-fr.org/t/quelle-commande-trouvez-vous-pratique-ou-astucieuse/88626/3 "2023-08-10T12:19:15Z")

</div>

Sinon il existe d’autre applicatif qui accélère le travail sur linux comme `locate` et `grep`. Avec ces 2 outils tu peut trouver n’importe quel fichier et n’importe quel chaîne de texte.

Une dinguerie qui permet d’arrêter de cherché les paramètres de config dans des fichiers perdu car la doc pas jour :

```auto
grep -rin "texthere" "path"

```

[https://www.malekal.com/exemples-de-commande-grep-sous-linux/](https://www.malekal.com/exemples-de-commande-grep-sous-linux/)

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Août 10, 2023, 1:31 UTC](https://www.debian-fr.org/t/quelle-commande-trouvez-vous-pratique-ou-astucieuse/88626/4 "2023-08-10T13:31:16Z")

</div>

J’utilise `rev` pour pallier l’absence de découpe par la fin dans `cut`.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Août 11, 2023, 7:21 UTC](https://www.debian-fr.org/t/quelle-commande-trouvez-vous-pratique-ou-astucieuse/88626/5 "2023-08-11T07:21:58Z")

</div>

Bonjour

En utilisant (à peu près) la même méthode avec le shell **bash** :  
si, en utilisant la commande [shopt](https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html), j’ai positionné à **on** l’option **histverify** :

```nohighlight
mic@deb12:~$ shopt -s histverify
mic@deb12:~$ shopt histverify
histverify on
mic@deb12:~$ 

```

* * *

Pour rappeler la dernière ligne de commande(s) que j’ai entrée  
qui contiendrait la chaîne de caractère **Logic**  
j’entre :  
`!?Logic?`  
et en retour de commande, la ligne de commande entière s’affiche en dessous :

```nohighlight
mic@deb12:~$ !?Logic?
mic@deb12:~$ cat /home/mic/.local/share/applications/Logic-2.4.9-master.desktop

```

Je n’ai plus qu’à appuyer sur Entrée pour lancer l’exécution de la ligne de commande proposée.

* * *

je rappelle la dernière ligne de commande(s) entrée dont je propose les premiers caractères  
de la façon suivante.

j’entre :  
`!zgr`  
et la ligne de commande entière s’affiche en dessous :

```nohighlight
mic@deb12:~$ !zgr
mic@deb12:~$ zgrep -h 'Commandline: apt install' /var/log/apt/history.log{,.[0-9]*.gz} | sed ':a;N;$!ba;s/\n\|Commandline: apt install/ /g; s/\( \)*/\1/g;s/ -y / /;'

```

Je n’ai plus qu’à appuyer sur Entrée pour lancer l’exécution de la ligne de commande proposée.

---

<div class="post-metadata">

**Author:** ![Didi1](https://www.debian-fr.org/user_avatar/www.debian-fr.org/didi1/32/12829_2.png) [@Didi1](https://www.debian-fr.org/u/Didi1)\
**Post date:** [Août 14, 2023, 8:56 UTC](https://www.debian-fr.org/t/quelle-commande-trouvez-vous-pratique-ou-astucieuse/88626/6 "2023-08-14T20:56:56Z")

</div>

pourquoi ne pas faire :

```auto
history | grep "text"

```

Ca fait la même chose en plus de sortir toute les lignes ou tu a déjà utilisé cette commande

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Août 19, 2023, 10:06 UTC](https://www.debian-fr.org/t/quelle-commande-trouvez-vous-pratique-ou-astucieuse/88626/7 "2023-08-19T10:06:36Z")

</div>

> [@Didi1](#):
>
> …Ca fait la même chose …

Pas tout-à fait puisque avec ta proposition (qui utilise 3 commandes supplémentaires), tu seras en plus obligé de sélectionner une des lignes retournée par **grep** pour pouvoir la copier/coller dans une ligne de commande de façon à pouvoir ensuite lancer son exécution.

* * *

Voir aussi :

- le chapitre `HISTORIQUE` dans le manuel du shell `bash` :

```auto
man --pager='less -p "^HISTORIQUE"' bash

```

- le chapitre `DÉVELOPPEMENT DE L'HISTORIQUE` dans le manuel du shell `bash` :

```auto
man --pager='less -p "^DÉVELOPPEMENT DE "' bash

```

---

<div class="post-metadata">

**Author:** ![nam1962](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nam1962/32/9129_2.png) [@nam1962](https://www.debian-fr.org/u/nam1962)\
**Post date:** [Avril 14, 2024, 10:24 UTC](https://www.debian-fr.org/t/quelle-commande-trouvez-vous-pratique-ou-astucieuse/88626/8 "2024-04-14T10:24:56Z")

</div>

Je ne connaissais pas : **[maj] - [echap]** permet de voir les process et leur conso dans mes navigateurs.

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Février 4, 2025, 11:26 UTC](https://www.debian-fr.org/t/quelle-commande-trouvez-vous-pratique-ou-astucieuse/88626/10 "2025-02-04T23:26:09Z")

</div>

> [@anon29980398](#):
>
> tu seras en plus obligé de sélectionner une des lignes retournée par **grep** pour pouvoir la copier/coller dans une ligne de commande de façon à pouvoir ensuite lancer son exécution.

pas exactement : avec history tu as un numéro de ligne , par exemple 50 et tu tapes !50 pour lancer la commande de cette ligne
