Vous êtes sur la page 1sur 3

OS PRATIQUE

1. Soit la commande suivante :

sort -b -t : -k 3,4 fich1 && echo « mon path est SPATH et je suis `logname`» >> fich2 2>&1 &
Quel est le mode d'ouverture de fich1 et de fich2 pour cette commande ?

 Fich 1 : Lecture


 Fich 2 : Ecriture

2. Soit la commande suivante :

Is /home/ephec/mydir
Quelles sont les permissions minimales nécessaires sur mydir afin de pouvoir lister son contenu,
sachant que je suis son propriétaire ?

 500 (L pour user)

3. La commande cd/home/ephec/mydir renvoie le message Permission Denied.


Comment lever l'interdiction, sachant que ce répertoire m'appartient ?

 chmod 500 /home/ephec/mydir

 chmod u+rx /home/ephec/mydir

4. Ecrire un shell script qui :

a. déplace tous les fichiers .txt de la directory courante dans une directory « .deleted » située
dans la directory de login, et ce quelle que soit la directory courante :

 mv *.txt $HOME/.deleted

b. supprime tous les fichiers de la directory « .deleted  » dont le nom commence par un
chiffre, est suivi d'une minuscule et contient au moins un A :

 rm $HOME/.deleted/[0-9][a-z]*A*

5. Donner 3 méthodes pour créer un nouveau fichier appelé essai.txt dans la directory dir1 qui se
trouve en-dessous de la directory courante. Remarque : ne vous déplacez pas dans cette directory.

 touch dir1/essai.txt
 vi ./dir1/essai.txt
 //cat > dir1/essai.txt//
 echo > dir1/essai.txt

6. Quelles sont les permissions minimales sur un répertoire pour pouvoir supprimer un fichier qu'il
contient ?

 W (Ecriture)
7. cat README ll touch README
Que fait cette commande ? Donner les 2 réponses possibles.

 Afficher le contenu de README.


 S’il n’existe pas il le crée.

8. Ecrire un wildcart qui sélectionne les fichiers dont le nom comporte au moins une majuscule ou
une virgule.
 ls *[A-Z,]*
 ou find –name *[A-Z,] *

9. Modifier le masque de création des fichiers pour que les nouveaux fichiers aient les droits
-rw-r--r-- et les nouveaux répertoires drwxr-xr-x.

 umask 0022

Calcul de l’umask :
 Fichiers : 666 - droits de fichiers = 022
(ici « - » signifie moins) (droits fichiers : 622)
 Dossiers 777 - droits des dossiers = 022
(ici « - » signifie moins) (droits dossiers : 755)
 umask = 0 suivit du résultat calculé => 0022 dans ce cas

10. Affcher les noms et les caractéristiques des fichiers et directories (sans leur contenu) dont le nom
commence par . suivi de 0 ou plusieurs caractères, dans le répertoire courant.

 ls –l ./*

11. Dans votre directory courante, créer un fichier nommé machin.txt contenant une quinzaine de
lignes et 5 fois le mot brol.

 VIM 

12. Aficher le nombre de lignes de ce fichier.

 wc -l machin.txt

13. Ecrire un shell script qui :


1) Crée 2 répertoires repA et repB dans le répertoire courant
2) Crée 2 fichiers vides fichA et fichB dans le répertoire courant
3) Renomme le fichier fichA en Exer1.doc
4) Déplace tous les fichiers du répertoire courant commençant par E ou e et contenant
les lettres erc successives dans le répertoire repA
5) Affiche le nombre d'utilisateurs loggés

 mkdir repA repB ; touch fichA fichB ; mv fichA Exer1.doc ; mv[Ee]*erc* /repA ;
who | wc –l (note: ou bien  who –q)

NOTE : mv peut être utilisé pour :


 Renommer un fichier : mv ancienNom nouveauNom
 Déplacer un fichier : mv fichier /répertoireCible
NOTE 2 : who indique quel(s) utilisateur(s) est (sont) connecté(s).
wc -l calcule son nombre de lignes => par conséquent le nombre d’utilisateurs connectés

14. En prenant comme point de départ votre directory de login et sans vous déplacer tout au long du
shell script (la commande cd n'est donc pas permise).
Ecrire un shell script qui :

1) Crée un répertoire ephec2 dans votre directory de login


2) Crée dans ce répertoire 2 sous-répertoires dir1 et dir2
3) Copie dans le répertoire dir1 tous les fichiers contenant les 3 lettres doc successives dans
les lignes de leur contenu

 mkdir ephec2 ; mkdir ephec2/dir1 ephec2/dir2 ; cp `grep -l doc *` ephec2/dir1

NOTE : précision sur grep -l mot fichier(s)


 Cette commande affiche le nom du ou des fichiers indiqué(s) qui
contienne le mot en question
 * signifie qu’on recherche dans tous les fichiers du répertoire
 Les `` permettent de copier le résultat de grep et non la commande
en elle-même (ce qui serait un non-sens)

15. Calculer le masque de création des fichiers pour que :


1) Les répertoires créés aient les permissions suivantes : drwx-wxr-x
2) Les fichiers créés aient les permissions suivantes : -rw—w-r—
 777 – 735 = 042
 666 – 624 = 042
 umask 0042

16. Quel est le chemin absolu du fichier smb.conf ?

 /etc/samba/smb.conf
 find / -name smb.conf

Vous aimerez peut-être aussi