# Un manuel, une revue, un site pour apprendre le shell ?



## Pascal_TTH (13 Février 2009)

En achetant mon MacBook Pro, j'avais plusieurs objectifs : essayer un Mac, apprendre à utiliser OS X et enfin tirer parti du terminal. Les deux premiers objectifs sont atteints mais maintenant, je veux aller plus loin. J'ai déjà lu OS X the missing manual qui m'a beaucoup plus. A présent, je cherche à apprendre l'utilisation du shell. Bien sûr, on trouve de tout sur Internet mais...

Pouvez-vous me conseiller un site ou un manuel en particulier pour apprendre à connaître les possibilités du shell ? 
Faut-il privilégier des lectures propres à OS X ou je peux lire un peu de tout sur Unix/linux en général ?

J'ai déjà des connaissances correctes de la ligne de commande (DOS/Windows invite de commande) et je pense connaître les rudiments de Unix (déplacements dans l'abrorescence, déplacements et effacement de fichiers, quelques commandes informatives). Je cherche à apprendre à configurer les variables du shell (comme le ''path''), apprendre à faire l'équivalent de batch en DOS, etc. 

Enfin, j'ai une question sur la liaison entre "Unix" et OS X (enfin entre les dessus et l'interface graphique) : 
OS X est une interface qui repose sur un Unix un peu comme Windows 9x sur le DOS ou le shell/terminal d'OS X est comme l'invite de commande dans Windows NT ?


----------



## claud (14 Février 2009)

Ce livre m'a ouvert les yeux :
*Le guide de survie - Mac OS X Leopard*

L'essentiel du code et des commandes




et j'aimerais aller plus loin,lisant hélas très mal l'anglais...

Donc je suis un archi-nioube !

http://www.eyrolles.com/Informatique/Livre/le-guide-de-survie-mac-os-x-leopard-9782744022616


----------



## bompi (14 Février 2009)

Chaque fois que je lis une comparaison entre DOS et shell UNIX, j'en frémis ... :rateau:

Je pense que le mieux est de suivre deux voies :
a/ apprendre le shell et les commandes classiques d'UNIX (ici, dans leur version GNU/Linux disons). Le site de GNU propose des docs intéressants
b/ apprendre les commandes spécifiques de Mac OS X avec la doc en ligne d'Apple qui n'est pas mal faite en général.

De toutes façons, la meilleure manière d'apprendre est de se fixer un objectif précis et de l'atteindre. Genre : écrire un script pour faire une fonction spécifique, ajouter un événement à l'ordonnanceur etc.

Par ailleurs tu peux aussi regarder du côté des langages de scripting comme PERL, Ruby ou Python pour enrichir ta connaissance en programmation.

Il faut utiliser intensément Internet pour démarrer et trouver des astuces, reprendre ce qu'ont fait les autres et s'en inspirer etc. Personnellement, j'aime les livres d'O'Reilly (il doit bien encore en exister en français) ; tu peux prendre un livre sur _bash_ par exemple.

Quant aux shells, c'est éminemment subjectif : je préfère, et de loin, _bash_, _csh_ étant relativement peu utilisé, _ksh_ pas très pratique en mode interactif et ... je ne connais pas vraiment _zsh_


----------



## claud (14 Février 2009)

Merci bompi ; je viens (en ligne) d'acheter ce livre :
http://www.eyrolles.com/Informatique/Livre/9782841774470?societe=pollen
indisponible chez Eyrolles mais que j'ai trouvé chez Lavoisier.

Je l'avais feuilleté en librairie il y a environ un an : il m'avait plû mais je n'étais
pas prêt à l'époque...

Je vais avoir du travail !


----------



## bompi (14 Février 2009)

On pourra toujours te donner un coup de main. Le scripting, c'est sympa.


----------



## Pascal_TTH (14 Février 2009)

claud a dit:


> Ce livre m'a ouvert les yeux :
> *Le guide de survie - Mac OS X Leopard*
> 
> L'essentiel du code et des commandes
> ...



Merci, je vais y regarder de plus près.



bompi a dit:


> *Chaque fois que je lis une comparaison entre DOS et shell UNIX, j'en frémis ... *:rateau:
> 
> Je pense que le mieux est de suivre deux voies :
> a/ apprendre le shell et les commandes classiques d'UNIX (ici, dans leur version GNU/Linux disons). Le site de GNU propose des docs intéressants
> ...



C'est le problème quand on débute, on ne connait pas les noms des choses et on fait des comparaisons grossières... Qu'est-ce qui fait frémir quand on compare l'invite de commande dans Windows et le shell dans OS X ?  Je sais qu'il y a beaucoup plus de fonctionnalités disponibles dans le shell (notamment des tas de programmes libres disponibles) mais ceci mis à par, au sein de l'OS, c'est comparable, non ? 

Plus précisément, je cherche à apprendre ce qui est commun aux dérivés de Unix et Linux. Après je vuex apprendre à installer Apache, PHP et MySQL (d'abord en local) et à terme sur un serveur distant en SSH. 

Dans un premier temps, je voudrais avoir de très bonnes connaissances sur la manipulation des fichiers, gestions d'archives, etc. 

Ensuite, je pense essayer des scripts pour des tâches de maintenance et de monitoring. Mais je ne sais pas encore ce que j'aurai à maintenir. :rateau:

Au final, je voudrais être en mesure d'installer un outil comme Wordpress ou PHPnuke sur un serveur loué par exemple chez OVH. Je sais qu'on ne devient pas un maître dans le domaine en deux mois mais je ne cherche pas non plus à devenir une pointure. Je ne cherche pas à faire des programmes en Phyton, Perl ou autre chose.

Oui, j'ai du travail en perspective... Je vais dans un premier temps prendre la voie a/. Ca me permettra aussi de me familiariser avec une partie du vocabulaire. 

Est-ce que je peux apprendre le shell et les commandes classiques de Unix (dont bompi parle en point a/) sur mon Mac avec OS X (sans installer une distribution) ? J'aurais tendance à dire que oui vu qu'OS X contient même plus...

Merci et désolé pour ces questions de nioube basique.


----------



## bompi (14 Février 2009)

Pascal_TTH a dit:


> C'est le problème quand on débute, on ne connait pas les noms des choses et on fait des comparaisons grossières... Qu'est-ce qui fait frémir quand on compare l'invite de commande dans Windows et le shell dans OS X ?  Je sais qu'il y a beaucoup plus de fonctionnalités disponibles dans le shell (notamment des tas de programmes libres disponibles) mais ceci mis à par, au sein de l'OS, c'est comparable, non ?


Certes; et MicroMou a fait des progrès dans ce domaine. Mais entre le DOS et un shell genre _bash_, il y a un monde ... 


Pascal_TTH a dit:


> Plus précisément, je cherche à apprendre ce qui est commun aux dérivés de Unix et Linux. Après je vuex apprendre à installer Apache, PHP et MySQL (d'abord en local) et à terme sur un serveur distant en SSH.


Pas de probléme : sur ce sujet, OS X est comme les autres UNIX et Linux.


Pascal_TTH a dit:


> Dans un premier temps, je voudrais avoir de très bonnes connaissances sur la manipulation des fichiers, gestions d'archives, etc.


C'est une bonne idée.


Pascal_TTH a dit:


> Ensuite, je pense essayer des scripts pour des tâches de maintenance et de monitoring. Mais je ne sais pas encore ce que j'aurai à maintenir. :rateau:
> 
> Au final, je voudrais être en mesure d'installer un outil comme Wordpress ou PHPnuke sur un serveur loué par exemple chez OVH. Je sais qu'on ne devient pas un maître dans le domaine en deux mois mais je ne cherche pas non plus à devenir une pointure. Je ne cherche pas à faire des programmes en Phyton, Perl ou autre chose.


C'est assez pratique, tu verras. De toutes façons, il y a beaucoup de commandes bien utiles comme _awk_ par exemple.


Pascal_TTH a dit:


> Oui, j'ai du travail en perspective... Je vais dans un premier temps prendre la voie a/. Ca me permettra aussi de me familiariser avec une partie du vocabulaire.
> 
> Est-ce que je peux apprendre le shell et les commandes classiques de Unix (dont bompi parle en point a/) sur mon Mac avec OS X (sans installer une distribution) ? J'aurais tendance à dire que oui vu qu'OS X contient même plus...


Oui, pas de problème. Je fais ça tout le temps.


Pascal_TTH a dit:


> Merci et désolé pour ces questions de nioube basique.


Pas de problème  Tout le monde a été nioube un jour


----------

