Initiation à UNIX – TP
Ces exercices ont pour objectif de revoir le cours et utiliser les commandes UNIX sur les fichiers. Travail en binôme (groupe de 2 étudiants).
-
Donnez les différentes façons pour créer un fichier vide.
- touch nom_fichier
- echo -n > nom_vichier
- cat /dev/null > nom_fichier
- > nom_fichier
-
(2 pts) Supposons qu'un fichier data contient les lignes suivantes :
aaabc2;
absdsdc.
Qwertyui.
zxcasdfgcvb,
aafdsfsdf;
cbccvf45;
ab333c5;
aa34c;
-
(2 pts) Expliquez le résultat des commandes ci-dessous ?
$ ls -Rl | grep rwxr-- | more
Affiche page par page tous fichiers, dossier et sous-dossier ayant les droits lecture-ecriture-excution de l'utilisateur et aucun droit pour le group de l'utilisateur et aucun droit pour les autres utilisateur
$ echo toto | mkdir
Une erreur car la commande mkdir attend en entrée une chaine de caractere et non une sortie
-
Affichez la liste de tous les fichiers dont l’extension est « .so » avec leurs attributs (option -l ) dans le répertoire /usr/lib et ses sous-repertoires eventuels (note culturelle : ces fichiers sont des bibliothèques).
ls -Rl /usr/lib | grep '.so'
-
Comment peut-on écrire une commande sur deux lignes séparées (dans le cas d'une commande avec beaucoup de paramètres par exemple) ? Expliquez.
Oui il est possible d'ecrire un commande sur deux lignes séparées
Il faut terminer toute ligne suivi de la suite de la commande par un "\"
debut_commande \
> suite_commande
-
Quelle est la différence entre ( cd foo; ls; ) et { cd foo; ls; }? Expliquez.
(cd foo; ls;) permet de regrouper les commandes cd foo et ls en un block
{cd foo; ls;} n'est pas valide
-
(2 points) La commande
ls -la rep
fournit le résultat ci-dessous :total 6 drwxrwxr-x 2 paul staff 512 Oct 13 15:12 . drwxr-xr-x 8 root root 512 Sep 23 05:52 .. -rwx---r-x 1 paul staff 417 Oct 13 19:17 fiche
Précisez pour chacune des actions ci-après, si elle est autorisée ou non en donnant la raison :
-
tout membre du groupe
staff
peut lirefiche
Autorisée car le droit de lecture est attribué aux membres du group staff
-
tout membre du groupe
staff
peut renommerfiche
Autorisé car le group staff a tous les droits sur le dossier contenant le fichier fiche
-
Que font et quel est le résultat des commandes ci-dessous ?
$ grep 'a.*c' data
retourne les lignes du fichier data ayant la lettre a et suivi d'un caractère, de n'importe quel chaine de caractères et la lettre c
aaabc2;
absdsdc.
zxcasdfgcvb,
ab333c5;
aa34c;
$ grep 'c[0-9]' data
retourne les lignes du fichier data ayant la lettre c, suivi d'un chiffre entre 0 et 9
aaabc2;
ab333c5;
-
Créez un sous-répertoire
question
. Supprimez tous les droits d'accès pour le groupe et les autres. Comment peut-on obtenir le même résultat sans utiliser la commandechmod
et sans changer le masque du shell après l’opération?mkdir -m=u+rwx,g-rwx,o-rwx question
-
Créez une commande « la » qui liste tous les fichiers d’un répertoire (y compris les fichiers cachés - commençant par un point).
alias la="ls -al"
-
Quelle différence existe-t-il entre la copie d'un fichier (avec cp) et l'établissement d'un lien physique (avec ln) ?
la différence entre cp et ln est que :
- cp cree un nouveau fichier avec un nouveau inode mais en gardant le meme contenu de fichier
- ln ne cree pas d'inode pour le lien et garde le meme contenu
-
Quelle est la différence entre $(ls) et `ls` ?
les deux commandes ne sont pas bonne
-
Quel est le résultat de la commande type help ? Quel est le rôle de cette commande type ?
help est une primitive du shell
Elle permet de dire si une commande est interne au Shell ou pas
-
(2 points)Transcrivez les commandes suivantes de la notation classique vers la notation octale, ou vice versa.
chmod u=rwx,g=x,o=r fic1
chmod 714 fich1
chmod u=rx,g=wx,o=r fic2
chmod 534 fic2
chmod u=rx,g=wx,o=r fic2
chmod 653 fic3
chmod u=rw,g=rx,o=wx fic3
chmod 103 fic4
chmod u=x,o=wx fic4
-
Afficher récursivement le contenu des répertoires dans /home sans l'affichage des nombreux messages d'erreur tels que l'accès au répertoire interdit.
ls -R /home 2> /dev/null
-
Donnez la commande qui copie, dans votre répertoire
public_html
, les fichiers dont le nom se termine par.html
ou.htm
du répertoirepublic_html
de l'utilisateurpaul
.find $HOME/public_html \( -name "*.html" -or -name "*.htm" \) -exec cp {} /home/paul/public_html \;
-
Observer le résultat des commandes echo a{d,e,f}b et echo a{1..20..2}. Créer les répertoire lib, src, doc dans le répertoire de travail par une seule commande mkdir avec un seul argument. Que déduirez-vous le rôle du méta-caractère '{}' ici ?
creation des repertoires : mkdir {lib, src, doc}
{} permet de passer les argurments se trouvant à l'interieur un à un a la commande
Aucun commentaire:
Enregistrer un commentaire