Commande shell

bonjour a tous,

je suis newbie et je désire me lancer dans la version squeeze et ainsi progressé dans le monde du libre.

je cherche le moyen de vraiment connaitre toute les commande du shell interprété par le noyau.
je sais que pas mal sont situé dans [quote]/bin[/quote] et [quote]/sbin[/quote]

ou sont stocké les autres commandes qui me permettrait d’explorer le shell au maximum. (je pense aux commande [quote]cd,ls,>,>>,<,echo,!,grep,|[/quote] etc…).on ne peut pas toutes les connaitre mais elle sont indispensable a envoyer les commande au noyau.Je me suis déja équipé du livre “bash les recettes de cuisines”.

niveau documentation ou est ce que je pourrait me fournir,techniquement je parle a vraiment connaitre la débian.

Et tout cela en passant,pour installer une squeeze en ligne de commande pour un débutant est pure bêtise???ou pourrais je me renseigner la dessus?

merci d’avance

  • Il y a de fortes chances que tu trouves ton bonheur ici : debian.org/doc/

Si je devais donner un ou deux conseils :

  • Imprimer une carte de référence debian ça peut aider au départ si on a une feuille sous les yeux.

  • Super important, apprendre a utiliser “man” …
    Dans un shell ou avec le navigateur/lecteur de documentation de GNOME, qui est très pratique aussi pour visualiser les pages de manuels.

Par contre ce livre, je l’ai… ce n’est pas vraiment convivial c’est principalement pour apprendre à faire des scripts en bash.

isalo.org/wiki.debian-fr/ind … cubeDebian (on merci à Gardouille pour la conception et à lol pour le wiki…)

:006

Beaucoup de confusion dans ces quelques phrases.
Par définition, les commandes du shell sont interprétées par le shell, pas par le noyau qui n’a rien à voir dans l’histoire.

Il y a deux sortes de commandes.

  • Les commandes internes du shell (“builtins”) comme cd, pwd, documentées dans man builtins.
  • Les commandes externes comme ls, grep, qui sont en fait des programmes distincts appelés depuis le shell (ou un autre programme, le shell n’étant qu’un programme parmi d’autres), qui se trouvent pour la plupart dans les répertoires figurant dans la variable d’environnement $PATH, notamment /bin et /usr/bin, ainsi que /sbin et /usr/sbin en root.

A noter que certaines commandes comme echo, kill, existent à la fois en version interne et externe, avec de petites différences.

Il y a aussi des mots réservés comme if et des symboles comme “>”, “|”, qui ne sont pas à proprement parler des commandes mais plutôt des opérateurs.

[quote=“superguerrier”]je cherche le moyen de vraiment connaitre toute les commande du shell (…)
je sais que pas mal sont situé dans [quote]/bin[/quote] et [quote]/sbin[/quote]

ou sont stocké les autres commandes qui me permettrait d’explorer le shell au maximum
(…)
niveau documentation ou est ce que je pourrait me fournir,techniquement je parle a vraiment connaitre la débian.
(…)
Et tout cela en passant,pour installer une squeeze en ligne de commande pour un débutant est pure bêtise???ou pourrais je me renseigner la dessus?[/quote]

Bonjour,

$ ls `echo $PATH |sed 's/:/\n/g'` |lesste listera toutes les commandes de ton path, tu peux aussi taper la même commande en root afin d’avoir celles de /sbin /usr/sbin et /usr/local/sbin ( mais tu n’en as pas ) en plus. ( espace pour avancer dans la liste dans less )

Comme tu le vois il y en a un paquet mais les plus simples, pour les opérations sur les fichiers et les répertoires par exemple se trouvent dans /bin

Pour apprendre à les utiliser, aucun secret, la pratique.
Pour se mettre en jambe, ce petit lien me semble sympathique :
abs.traduc.org/abs-fr/

amuses-toi bien !

Pour l’installation en ligne de commande, pourquoi pas mais renseignes-toi d’abord sur comment configurer une interface internet et comment utiliser un navigateur en ligne de commande, sinon il y a des chances que tu sois vite frustré.

merci a tous de vos réponses

ok pour les opérande mais > sert bien a modifier la sortie standart n’est ce pas?

$ ls `echo $PATH |sed 's/:/\n/g'` |less

puis -je avoir un peut plus de détail sur ce code,je ne pense pas tout comprendre

Pour l'installation en ligne de commande, pourquoi pas mais renseignes-toi d'abord sur comment configurer une interface internet et comment utiliser un navigateur en ligne de commande, sinon il y a des chances que tu sois vite frustré.

merci on va commencer doucement puis on verra apres :smiley:

A rediriger la sortie standard de la commande à laquelle il s’applique, oui. C’est un opérateur, pas une commande.

man sed
La commande “echo $PATH” affiche la valeur de la variable d’environnement $PATH (de la forme chemin1:chemin2:…) sur la sortie standard, qui est redirigée vers l’entrée standard de la commande “sed ‘s/:/\n/g’” à qui on demande de remplacer chaque occurrence de “:” (séparateur des chemins dans $PATH) par un saut de ligne (\n). Le résultat sert d’argument à la commande “ls” afin d’afficher le contenu de chaque répertoire défini dans $PATH. Le résultat est redirigé vers la commande less, qui permet de faire défiler le texte en avant ou en arrière.

Salut,

un utilitaire sympa: xman à lancer dans un shell.

man sed
La commande “echo $PATH” affiche la valeur de la variable d’environnement $PATH (de la forme chemin1:chemin2:…) sur la sortie standard, qui est redirigée vers l’entrée standard de la commande “sed ‘s/:/\n/g’” à qui on demande de remplacer chaque occurrence de “:” (séparateur des chemins dans $PATH) par un saut de ligne (\n). Le résultat sert d’argument à la commande “ls” afin d’afficher le contenu de chaque répertoire défini dans $PATH. Le résultat est redirigé vers la commande less, qui permet de faire défiler le texte en avant ou en arrière.[/quote]

Rien à ajouter à ce qu’a dit Pascal.

Dans cette commande, il n’était pas utile que je remplace les séparateurs de chemin
par des sauts de lignes, un espace aurait suffit.
Certains conseillent aussi de ne pas utiliser les backticks (par contre je ne sais plus pourquoi, peut-être une histoire de lisibilité mais il y a sûrement une autre raison) en tenant compte de ces remarques, la commande deviendrait :$ ls $(echo $PATH |sed 's/:/\ /g') |lessqui donne le même résultat.

Si tu veux comprendre plus facilement, bien que ce soit sûrement déjà le cas, c’est comme en mathématiques, tu peux décomposer et observer les différences dans la sortie des commandes suivantes :$ echo $PATH $ echo $PATH |sed 's/:/\ /g' $ ls $(echo $PATH |sed 's/:/\ /g') $ ls $(echo $PATH |sed 's/:/\ /g') |less

A ce qu’il parait ça pique aux yeux des “pro” du bash.
Il semblerait qu’il ne montre pas forcément le bon exemple.

( On m’a fait la remarque sur freenode il n’y a pas longtemps… J’avais filé le lien à un débutant qui voulait se mettre au scripting. )

En vrac sur le topic de #bash ils conseillent ceci, mais ce n’est pas en français :
mywiki.wooledge.org/BashGuide
wiki.bash-hackers.org/
shelldorado.com/
gnu.org/software/bash/manual/bash.html

Sinon j’ai aussi une copie du fameux guide abs sur mon dur, je reprend parfois quelques trucs dedans pour mon usage personnel. Les exemples sont fonctionnels en tout cas.
Enfin je n’ai jamais eu a m’en plaindre, mais il doit y avoir une raison pour qu’il suscite autant de haine :smiley:

[quote=“tuxshake”]A ce qu’il parait ça pique aux yeux des “pro” du bash.
Il semblerait qu’il ne montre pas forcément le bon exemple.

( On m’a fait la remarque sur freenode il n’y a pas longtemps… J’avais filé le lien à un débutant qui voulait se mettre au scripting. )

Sinon j’ai aussi une copie du fameux guide abs sur mon dur, je reprend parfois quelques trucs dedans pour mon usage personnel. Les exemples sont fonctionnels en tout cas.[/quote]
J’y avait aussi trouvé des trucs interessant et c’est pour ça que je l’avais conseillé.

[quote=“tuxshake”]Enfin je n’ai jamais eu a m’en plaindre, mais il doit y avoir une raison pour qu’il suscite autant de haine :smiley:[/quote]La jalousie ?

D’autant plus qu’il y a des chances que les sauts de lignes soient remplacés par des espaces ensuite.

Je n’ai pas de conseil à donner mais en ce qui me concerne j’utilise la forme $() car je la trouve plus lisible que ``, en effet. Côté pratique, elle est peut-être aussi un peu plus facile à utiliser en cas d’imbrication.

merci a vous pour vos conseil.Il ne me reste plus qu’a me mettre au boulot in installant une version digne de ce nom.
j’ai commmencé a dl la version squeeze (dvd1).en passant il me faut bien que celle la?les autre c’est les pkg n’est ce pas?

ps:au niveau des opérande puis je les avoir également avec la commande

Quels opérandes ? Les opérandes, ce sont les données traitées par les commandes.

operande ou operateur (je me trompe peut etre de terme)du style , /, !,etc…
ils sont localisés quelque part?

Ce sont des opérateurs et caractères spéciaux, comme je l’ai déjà écrit plus haut. Contrairement aux commandes externes ce ne sont pas des fichiers donc ils ne sont localisés nulle part (comme les commandes internes). Leur description figure dans la documentation du shell, notamment dans la page de manuel (man bash).

ok merci de ta réponse.me voila paré pour défier la bete noire :wink:.
je m’était mis a un moment a lenny mais j’avais laché un peu car je n’avais pas autant d’info que maintenant.il me reste plus qu’a persévérer :stuck_out_tongue: