[Précédent] |
1.15 |
Commandes Unix/Linux - Enoncé | Niveau 0 |
||
But: |
Les principales commandes. | |||
Thème: |
Environnement | |||
Fichiers: |
- |
Commencez par regarder cette petite vidéo d'introduction. Lisez ensuite la synthèse plus détaillée présentée dans ces transparents mis à disposition sur Moodle.
Les principales commandes (ls, cd, cp,...) sont présentées dans la mini-référence du cours.
Vous êtes en principe alors prêts à réaliser les manipulations requises par cet exercice.
Remarque préalable : cet exercice est surtout une invitation à l'apprentissage par l'expérimentation. L'idée est de commencer à vous familiariser un peu avec le monde Unix en essayant les commandes qui font l'objet des questions ci-dessous.
Pour gérer les fichiers, on peut soit utiliser le gestionnaire de fichier, soit utiliser directement des commandes du langage shell d'UNIX dans une fenêtre Terminal.
Ouvrez un terminal et allez dans le répertoire ~/Desktop/myfiles/java/cours01.
Ouvrez un terminal et allez dans le répertoire ~/Desktop/myfiles/java/cours01 au moyen de la commande cd.
Si vous avez fait l'exercice sur les éditeurs, vous devriez avoir dans ce répertoire les deux fichiers poeme1 et poeme2.
Tapez la commande Unix ls pour voir listé ces deux fichiers.
Créez, à l'aide de la commande Unix mkdir, un sous-répertoire test (dans ~/Desktop/myfiles/java/cours01).
Quelle est la différence entre les deux commandes suivantes :
cp poeme1.txt test/f1.txtet
mv poeme1.txt test/f1.txt?
Quelle est l'information retournée par la commande which ls ? par which man ? Que représentent-t-elles ?
Que vous donne la commande ls -l *.txt ?
Lors de l'utilisation de caractères spéciaux (*, ? ou [ ]), il faut bien comprendre que c'est le Shell (i.e. l'interpréteur de commandes) qui fait le remplacement des arguments avant d'envoyer la liste des arguments à la commande. Cela signifie que la commande ne «voit» que des arguments déjà évalués par le Shell. Mais comment tester ?
Cette partie de l'exercice vous propose de vous familiariser avec les commandes suivantes :
echo affiche simplement ses arguments. Le nom vient du fait que la commande renvoie ses arguments comme un écho, sans modification :
$> echo 1 2 3 1 2 3 $> echo 'Bonjour tout le monde !' Bonjour tout le monde ! $> echo SHELL SHELL $> echo $SHELL /bin/tcsh
Dans ce dernier exemple, le Shell remplace la variable $SHELL par son contenu. La commande echo ne fait aucune modification de ses arguments.
$> echo *.txt poeme1.txt poeme2.txt
Dans ce dernier exemple, le Shell remplace *.txt par tout les fichiers correspondant, puis lance la commande echo avec les arguments trouvés. La commande echo reçoit donc bien comme arguments «poeme1.txt poeme2.txt» et ne fait elle-même aucune modification de ses arguments.
touch modifie la date d'accès et la date de modification de chaque fichier indiqué. Les fichiers qui n'existent pas sont créés. On peut se servir du dernier fait pour créer des fichiers vides.
$> ls -l toto ls: toto: No such file or directory $> touch toto $> ls -l toto -rw-r--r-- 1 chaps dilia 0 Sep 23 13:32 toto $> rm toto
Dans cet exemple, on a créé et détruit le fichier toto.
À présent :
Allez dans le répertoire test et créez plusieurs fichiers commençant par f, et au moins les trois fichiers (pas répertoires !) f1, f2 et f4 (c'est bien un 4, ce n'est pas une faute de frappe).
Quel est le résultat de la commande ls ?? (ls suivi de deux points d'interrogation (??)) ?
Quel est le résultat de la commande ls f[123] ?
Quel est le résultat de la commande cat f[123] ?
Créez quelques fichiers supplémentaires : albert, a.txt, zoulou, ...
Testez les caractères de substitution :
Affichez tous les noms de fichiers avec echo;
Afficher les noms qui commencent par un a ;
Afficher tous les noms de longueur 6 ;
L'exécution de la commande ls -l produit, pour un certain utilisateur, quelque part, le résultat suivant :
-rw-r--r-- 1 dupont dilia 75180 Mar 28 2003 divers drwxr-x--x 2 dupont dilia 4096 Mar 14 2003 autchose
Est-ce que divers est un fichier ou un répertoire ? Même question pour autchose.
À qui (utilisateur et groupe) appartient ce fichier ?
Quelle commande le propriétaire doit-il exécuter pour donner à tous le droit d'écrire dans divers?
Qu'est-ce que les utilisateurs du groupe dilia ne peuvent pas faire avec autchose ?
Qu'est-ce qu'un utilisateur quelconque (pas dans le groupe dilia) a le droit de faire avec ce fichier/répertoire ?
Quelle est la spécificité des fichiers dont le nom commence par le caractère . ?
Exécutez les commandes suivantes (~ représente votre répertoire racine («home directory»)) :
ls ~puis
ls -a ~Quelle différence observez vous ?
Pour finir, un petit exercice sur les noms de fichiers (et leur raccourcis) :
listez le contenu du répertoire /etc ;
listez tout ce qui est dans le fils man du père de /usr/share/fonts et qui commence par f.
listez tous les éléments de /etc commençant par o ou n et se terminant par i, e ou s
[Précédent] |