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).
- touch nom_fichier
- echo -n > nom_vichier
- cat /dev/null > nom_fichier
- > nom_fichier
Donnez les différentes façons pour créer un fichier vide.
(2 pts) Supposons qu'un fichier data contient les lignes suivantes :
aaabc2;
absdsdc.
Qwertyui.
zxcasdfgcvb,
aafdsfsdf;
cbccvf45;
ab333c5;
aa34c;
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;
(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 lire fiche
Autorisée car le droit de lecture est attribué aux membres du group staff
tout membre du groupe staff
peut renommer fiche
Autorisé car le group staff a tous les droits sur le dossier contenant le fichier fiche
- 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
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 commande chmod
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 :
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épertoire public_html
de
l'utilisateur paul
.
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