Cette seconde série de travaux pratiques se décompose en 4 parties : commandes utilisateurs, gestion des droits, archivage et décompression, gestion des processus.
Commandes utilisateurs
- Identifiez-vous : quels sont votre user id (uid) et votre groupe (gid) ?
Gestion des droits
-
En restant dans votre répertoire de travail
(
UnixShell), listez complètement le contenu de votrehome directory. Décrivez ce que vous y trouvez :- quels sont les fichiers et répertoires présents ?
- lesquels sont cachés ?
-
quels sont leurs propriétaires et groupes
attachés ?
Cacher la solution
Propriétaires : surtout vous, éventuellement l'utilisateur root
Groupes : le vôtre, éventuellement d'autres
- quels sont les droits afférants ?
-
Copiez dans votre répertoire
UnixShellle fichiertestUmask.txt(par un clic droit sur ce lien puis "Enregistrez la cible du lien sous" ou "Save link as"). Ses droits initiaux sont rwxrwxr-x. Quel est votre umask ?Cacher la solutionDépend de votre configuration, mais s'observe en faisant un ll pour afficher les droits pris par le fichier testUmask.txt lors de la copie sous votre compte. En prenant pour exemple les droits présentés plus haut : rwxrwxr-x
user (u) : rwx, binaire 111 octal 7
group (g) : rwx, binaire 111 octal 7
other (o) : r-x, binaire 101 octal 5
Donc profil octal 775, d'où un umask de 002 (sa négation en octal).
On peut aussi lancerumaskcomme commande en ligne...
-
Modifiez les droits de ce fichier
testUmask.txtde deux façons pour obtenir ceux qui suivent, en séquence pour les trois cas de proche en proche :- rwx------
- rwxrwxrwx
- rwxr-xr--
Cacher la solution- rwx------
chmod 700 testUmask.txt
chmod go-rwx testUmask.txt
ll
-rwx------ 1 [uid] users 36 May 5 13:04 testUmask.txt - rwxrwxrwx
chmod 777 testUmask.txt
chmod a+rwx testUmask.txt
ll
-rwxrwxrwx 1 [uid] users 36 May 5 13:05 testUmask.txt - rwxr-xr--
chmod 754 testUmask.txt
chmod go-w,o-x testUmask.txt
ll
-rwxr-xr-- 1 [uid] users 36 May 5 13:06 testUmask.txt
-
Cherchez le chemin où se trouve votre fichier
.profile, à partir de votrehome directory, sans changer de répertoire. -
Copiez dans votre répertoire
UnixShellle fichiertestDiff1.txt(par un clic droit sur ce lien). Ouvrez-le dans un éditeur et modifiez-le selon les consignes qui s'y trouvent. Ensuite, sauvegardez-le commetestDiff2.txt. Comparez les deux fichiers, analysez le rapport obtenu en fonction de vos actions.Cacher la solutiondiff testDiff1.txt testDiff2.txt
3a4
> LIGNE AJOUTEE
6d6
< LIGNE A SUPPRIMER
9c9
< Modifiez-moi !!!
---
> Modifiée
Archivage et compression
-
Archivez en un seul tarfile tout le contenu de votre
répertoire
UnixShell(placez-vous au-dessus). Contrôlez le fichier.tarrésultat.Cacher la solutionLe plus simple est d'abord de vous déplacer dans le répertoire parent de UnixShellpour l'archiver :
cd ..
pwd
/ ... /Formation
ll
drwxrwxr-x 4 [uid] [gid] 1024 Apr 5 13:15 ./
drwxrwxr-x 16 [uid] [gid] 512 Apr 25 16:35 ../
drwxrwxr-x 4 [uid] [gid] 1024 Apr 25 10:03 UnixShell
tar -cvf Archives.tar UnixShell
ll
drwxrwxr-x 4 [uid] [gid] 1024 Apr 5 13:15 ./
drwxrwxr-x 16 [uid] [gid] 512 Apr 25 16:35 ../
drwxrwxr-x 4 [uid] [gid] 1024 Apr 25 10:03 UnixShell
-rwxrwxr-x 1 [uid] [gid] 10240 May 5 14:23 Archives.tar
tar -tvf Archives.tar
drwxrwxr-x [uid]/[gid] 0 2003-05-05 14:02 UnixShell/
-rwxrwxr-x [uid]/[gid] 212 2003-05-05 10:10 UnixShell/monHistorique.txt
-rwxrwxr-x [uid]/[gid] 261 2003-05-05 14:12 UnixShell/testDiff1.txt
-rwxrwxr-x [uid]/[gid] 249 2003-05-05 14:13 UnixShell/testDiff2.txt
-
Créez le sous-répertoire
tarzip(sousUnixShelloù vous revenez) et déplacez-y votre tarfile. Sans vous déplacer dans ce sous-répertoire, désarchivez le tarfile et contrôlez le résultat.Cacher la solutioncd UnixShell
pwd
/ ... /Formation/UnixShell
mkdir tarzip
mv ../Archives.tar tarzip
tar -xvf tarzip/Archives.tar
UnixShell/
UnixShell/monHistorique.txt
UnixShell/testDiff1.txt
UnixShell/testDiff2.txt
ll
drwxrwxr-x 4 [uid] [gid] 512 May 5 15:25 ./
drwxrwxr-x 4 [uid] [gid] 1024 Apr 25 10:03 ../
drwxrwxr-x 4 [uid] [gid] 1024 May 5 14:23 UnixShell/
-rwxrwxr-x 1 [uid] [gid] 212 May 5 10:10 monHistorique.txt
drwxrwxr-x 2 [uid] [gid] 512 May 5 15:18 tarzip/
-rwxrwxr-x 1 [uid] [gid] 261 May 5 14:12 testDiff1.txt
-rwxrwxr-x 1 [uid] [gid] 249 May 5 14:13 testDiff2.txt
Si vous avez travaillé comme cela, vous devez constater que le répertoireUnixShells'est désarchivé sous lui-même... C'est bien sûr un exemple se voulant surtout didactique. Dans une situation plus concrète, le désarchivage doit s'opérer aux endroits les plus adéquats !
-
Toujours en restant sous
UnixShell, compressez le tarfile en.gz. Affichez ensuite les informations relatives aux tailles de fichiers et au ratio de compression.Cacher la solutiongzip tarzip/Archives.tar
ll tarzip
-rwxrwxr-x 1 [uid] [gid] 612 May 5 16:23 Archives.tar.gz
gzip -l tarzip/Archives.tar.gz
compressed uncompr. ratio uncompressed_name
612 10240 94.3% tarzip/Archives.tar
-
Toujours en restant sous
UnixShell, décompressez le tarfile.gz sur le disque. Puis vérifiez le résultat en listing complet. Recompressez le tarfile et contrôlez de nouveau.Cacher la solutiongunzip tarzip/Archives.tar
ll tarzip
-rwxrwxr-x 1 [uid] [gid] 10240 May 5 14:23 Archives.tar
gzip tarzip/Archives.tar
-rwxrwxr-x 1 [uid] [gid] 612 May 5 16:48 Archives.tar.gz
-
Toujours en restant sous
UnixShell, et sans décompresser le tarfile.gz sur le disque, comptez le nombre de lignes non compressées qu'il renferme.
Philippe.Houdry@inist.fr