Diverses astuces du shell (inclassable)

4 mai 2008 à 17:17 Publié par Cold Sun dans Astuces Shell

Quelques astuces du terminal en vrac

Note : -> $ signifie que c’est ce la ligne que vous utilisez pour entrer une commande. C’est pour différencier des informations que vous renvoie le terminal. Lorsque vous testez une commande, enlevez le $ et tout ce qui se trouve avant.

-> parfois, avant le $, je place ces informations : user@/vers/repertoire (user = nom de l’utilisateur, /vers/repertoire = répertoire courant).

Astuce Résultat
début de commande + touche tabulation

Ex.1 : $ apt-g(touche tab)

Ex. 2: $ apt

Ex. 3 : $ cat /tmp/foo(tab)

(note : ici, /tmp/foobar est un fichier)

Complète le début de commande:

Ex. 1 : $ apt-get

Note : marche également pour les fichiers

et répertoires : -> cat /tmp/toto

Ex. 2 : $ apt-

Ex. 3 : $ cat /tmp/foobar

début de commande + 2 x touche tabulation

Ex.1 : $ unzi(2 x tab)

Liste les possibilités de commande, …

Ex. 1 (première tab) : $ unzip

(deuxième tab) unzip     unzipsfx

$ unzip

Flèche vers le haut ou vers le bas Consulter et/ou lancer d’anciennes commandes

(en appuyant sur entrée après avoir retrouvé

la commande)

Maj + gauche ou Maj + droite parcourir les onglets de Konsole (sous KDE)
~ (tilde, ALT GR + é) désigne le répertoire de l’utilisateur courant :

Ex : ~ = /home/user

.. (deux points successif) désigne le répertoire parent

Ex : ~/.. = /home/user/.. = /home

- (avec la commande cd uniquement) désigne le répertoire précédent

Ex. : user@/home/user/$ cd /tmp

user@/tmp/$ cd -

/home/user

user@/home/user/$

(anti-slash) C’est toute une histoire, et c’est un dur exercice

de vous la raconter :s .

Sous Unix et Linux, il signifie : « à utiliser

normalement »

exemple : user@/home/user/$ echo «  »coucou  » « 

« coucou « 

(sans les antislash, vous aurez des erreurs.)

Mais ce n’est pas tout, avec certaine commandes,

cela indique : « comportement spécial »

exemple : user@/home/user/$ echo -e «  »coucou  »

n « blabla » « 

« coucou « 

« blabla »

* remplace, 0, 1 ou plusieurs caractères

on peut le traduire en français par

[n'importe quoi]

Ex : user@/home/user$ ls a*.txt

->(traduisible par : « ls a[n'importe quoi].txt »)

a.txt alphabet.txt alphonse.txt avatar.txt

$ (dollar) Cette fois, il désigne [se termine par].

Ex. : user@/home/user$ grep « .$ » foobar.txt    (1)

Ligne se terminant par un point.

Autre ligne se terminant par un point.

encore une ligne se terminant par un point.

Note : pour désigner le point, un anti-slash

est nécessaire. Nous verrons pourquoi plus tard.

^ Désigne [commence par]

Ex. : user@/home/user$ grep « ^L » foobar.txt

. (avec grep)

Désigne un seul caractère

Ex. : user@/home/user$ grep « ^….$ » foobar.txt

toto

[] (crochets) Désigne un des caractères entre crochets

Ex. : user@/home/user$ grep « ^[Le] » foobar.txt

Ligne se terminant par un point.

encore une ligne se terminant par un point.

user@/home/user$ grep « ^[A-Z] » foobar.txt

Ligne se terminant par un point.

Autre ligne se terminant par un point.

Note: [A-Z] signifie « tous les caractères compris

entre A et Z », autrement dit, toutes les

majuscules

(1) Pour obtenir foobar.txt, tapez ceci :

cd /tmp ; echo -e « totonLigne se terminant par un point.nAutre ligne se terminant par un point.nencore une ligne se terminant par un point.n » > foobar.txt



  1. Merci pour les astuces, ca sera bien pratique. :-)