Page 1 sur 5

Du Finder au Terminal

MessagePublié: Dim Août 20, 2006 03:41
par PsychoH13
Du Finder au Terminal

Syntaxe de titre usitée s'il en est, mais on ne change pas une équipe qui gagne ;) Encore faut-il qu'elle gagne me dirait-on :D



Bon, à la demande expresse de (à nouveau) msartirani, je vais donc me faire encore passer pour un tartineur (merci à toi :D) et étaler ma "science" sous vos yeux à propos d'UNIX. En clair, le peu que je connaisse sera dit à ceux qui en savent encore moins :D.

Donc, selon la demande formulée par msartirani, je vais essayer* d'expliquer le "fonctionnement" d'Unix à ceux qui ne savent rien de rien... On n'est pas sortis de la berge

Si vous avez des questions concernant le sujet n'hésitez pas à les poser dans ce sujet pour en faire profiter tout le monde.


*No coment Yoda...


NB : Il est possible que je modifie des messages plusieurs, afin d'éviter de perdre tout ce que j'ai écrit en cas de bogue de mon ordi, donc je mettrai une petite balise -Fini- lorsque le message sera terminé.

MessagePublié: Dim Août 20, 2006 04:09
par PsychoH13

MessagePublié: Dim Août 20, 2006 05:51
par PsychoH13

MessagePublié: Dim Août 20, 2006 09:35
par morane
sur macbidouille , il y a aussi un tutoriel pour débuter avec le terminal , c'est comme ça que j'ai appris à m'en servir un petit peu
alors voici l'adresse de cet article appelé le terminal pour les nuls !
voilà psycho , si ça peut t'aider pour enseigner

MessagePublié: Dim Août 20, 2006 10:00
par Invite
Merci Psycho, t'es exactement dans le ton, le niveau et tout ;-)

Encore... ;-)

MessagePublié: Dim Août 20, 2006 10:23
par Itchan

MessagePublié: Dim Août 20, 2006 13:23
par PsychoH13

MessagePublié: Dim Août 20, 2006 18:22
par Blackfight

MessagePublié: Dim Août 20, 2006 18:46
par PsychoH13

MessagePublié: Dim Août 20, 2006 18:47
par PsychoH13

MessagePublié: Dim Août 20, 2006 18:48
par Invite

MessagePublié: Dim Août 20, 2006 18:50
par fusty

MessagePublié: Dim Août 20, 2006 19:30
par PsychoH13
Maintenant, je vais vous apprendre quelques petites commandes pour un prochain tutoriel.
Il faut préciser qu'Unix fonctionne sur le système du NNGN ou en français PNBN (No News Good News -ou- Pas de Nouvelle Bonne Nouvelle). C'est-à-dire que certaines commandes n'afficheront rien après leur exécution et une nouvelle ligne de commande s'affiche.
De plus, Unix est sensible à la casse (contrairement à Mac OS X), c'est-à-dire que "Psycho" et "psycho" sont 2 fichiers différents et la majorité des commandes sont en minuscules.


ls [-options] [fichier] : J'ai déjà donné cette commande, mais je vais la préciser pour les besoins du tutoriel suivant. Cette commande permet d'afficher le contenu d'un dossier et si on tape : "ls -l" (lettre "L" en minuscule), le contenu est affiché avec le nom du propriétaire, la date de dernière modification et les droits d'accès symbolisés par une suite de 9 caractères, les 3 premiers désignent les droits du propriétaire, les 3 suivant ceux du groupe du propriétaire et les 3 derniers ceux des autres, les différents droits sont toujours affichés dans le même ordre lecture (r), écriture (w), exécution (x), l'absence de droit est représentée par un tiret.
Par exemple : "rw-r-x--x" se décompose en "rw-", "r-x" et "--x", le propriétaire peut alors lire et écrire le fichier concerné, le groupe peut lire et exécuter, et les autres ne peuvent qu'exécuter.


mkdir [-options] [-m mode] chemin du repertoire : Permet de créer un répertoire (mkdir = make directory). Il faut indiquer le chemin (relatif ou absolu comme vous voulez) du dossier en mettant le nouveau dossier à la fin, si l'un des dossier du chemin n'existe pas le Terminal vous préviendra. Le mode représente les autorisations que vous assignez au dossier, si vous ne mettez que "mkdir" suivit du chemin, les autorisations attachées seront les autorisations par défaut. (L'assignation des autorisations se fait de la même façon que pour chmod ci-dessous).
Exemple :
mkdir "~/Fourre Tout" crée le dossier "Fourre Tout" dans le répertoire de départ.
mkdir -m a=,u=rw "~/Fourre Tout" crée le dossier "Fourre Tout" dans le répertoire avec les autorisations d'écriture et de lecture seulement pour le propriétaire.


chmod mode fichier : Permet de modifier les autorisations attaché à un fichier (chmod = change mode). Le fichier est comme toujours désigné par son chemin complet lui-même inclut et situé à la fin.
Le mode peut être désigné de deux façons, soit en nombre octal (chiffre octal : de 0 à 7), soit à l'écrit, la deuxième est plus compréhensible, donc je finirai par elle :

- Le nombre octal se présente comme tel : 0xyz, les chiffres x, y et z résultent d'une simple addition, x représente les autorisations du propriétaire du fichier, y celles du groupe du propriétaire et z celles des autres. Et les autorisations ont chacune une valeur précise :
• 4 = lecture
• 2 = écriture
• 1 = exécution
Par exemple : chmod 0644 "~/Fourre Tout", mets les autorisations suivantes au dossier "Fourre Tout" (et uniquement lui):
• Propriétaire (rw) : 4 + 2 = 6
• Groupe (r) : 4 = 4
• Autres (r) : 4 = 4

- Sous forme de texte, on doit dire explicitement les autorisations que l'on veut assigner. Comme dans l'exemple de "mkdir" on peut faire plusieurs assignation en séparant les termes par des virgules (non des espaces). On peut alors attribuer à "u", "g", "o" et "a" à l'aide des signes "+", "-" et "=" les autorisations "r", "w" et "x", que vous commencez à connaître.
Les utilisateurs :
• u (User) : le prorpiétaire du fichier
• g (Group) : le groupe du propriétaire
• o (Other) : tous les autres
• a (All users) : tout le monde, une assignation à l'aide du "a" sera assigné aux autres.

Les signes :
• + : ajoute la ou les autorisations qui suivent
• - : enlève la ou les autorisations qui suivent
• = : assigne exactement les autorisations qui suivent (si le "x" n'y est pas l'exécution sera interdite)

NB : Ajouter une autorisation déjà présente, supprimer une autorisation absente, ou assigner les mêmes autorisations ne changera rien et vous n'en serez pas plus informer.

Exemple : mon dossier Tout (j'en avais marre d'écrire Fourre Tout), a actuellement les autorisations suivante : rw-rw-r--, en octal cela donne 0664. Les commandes exécutées dans cette ordre :
chmod u+x ~/Tout : ajoute au propriétaire l'autorisation d'exécuter le dossier Tout, résultat : rwxrw-r--
chmod a= ~/Tout : enlève toutes les autorisations, le résultat est : ---------
chmod u=rw,g=rx,o+r ~/Tout : donne le résultat : rw-r-xr--
chmod g-x ~/Tout : donne rw-r--r--

Avec cette commande vous pouvez donc modifier les autorisations de façon plus subtile qu'avec la fenêtre d'information du Finder.

rm [-options] fichier : Permet de supprimer des fichiers (rm = remove), il suffit de mettre le chemin et le fichier à supprimer se trouve en dernier. Si c'est un répertoire vide il faut utiliser l'options "-d" (les options se placent toujours avant les paramètres), si le dossier contient des fichiers il faut utiliser l'option "-R" qui supprimera tout son contenu et finira par le dossier. La commande "rmdir" permet de supprimer les dossiers en particulier.

/!\ Attention : la suppression ainsi que toutes les autres commandes sont, dans le terminal, irreversibles, il n'y a pas de Pomme + Z, de Annuler ou de Undo ni même de corbeille.

Voilà, avec toutes ces petites commandes vous pouvez déjà vous amusez et vous familiarisez avec les manipulations d'autorisation, vous pouvez aussi créer des scripts Shell très rudimentaires, je vous en ferai faire un dans un prochain tutorial.

-Fini-

MessagePublié: Dim Août 20, 2006 19:49
par msartirani

MessagePublié: Dim Août 20, 2006 19:52
par PsychoH13
Tu as oublié tous les espaces msartirani...

Je ne pensais pas qu'il eût fallu le préciser, mais les espaces sont très important, ils prermettent de séparer tous les paramètres... Unix interprêtes un texte entre espace comme un seul et même terme :

"cd~" et "cd ~" sont totalement différents, le premier est un seul terme le deuxième en représente plusieurs.
Cela peut poser des problèmes pour les chemins dont les dossiers contiennent des espaces, par exemple j'ai un dossier nommé "Fourre Tout" dans mon dossier de départ et un fichier nommé "Psycho.jpg" dedans.
Si je tape : cd ~/Fourre Tout le Terminal me dira "no such file or directory", il verra 3 choses :
- cd : la commande
- ~/Fourre : le dossier inconnu au bataillon
- Tout : un truc ininterprétable.

Dans ce cas le chemin doit être mis entre guillemets (double ou simple) :
cd ~/Fourre Tout = Faux
cd "~/Fourre Tout" = Juste
cd '~/Fourre Tout" = Juste
cd "~/Fourre Tout' = Faux

-Fini-