Cette seconde série de travaux pratiques se décompose en 4 parties :
Identifiez-vous : quels sont votre user id numérique (uid) et votre groupe (gid) numérique ?
bash $ whoami [votre username] $ id uid=1000[votre username] gid=1000[votre groupe] groupes=...
En restant dans votre répertoire de travail (UnixShell), listez complètement le contenu de votre home directory.
Décrivez ce que vous y trouvez :
UnixShell est à 2 niveaux sous votre home directory: bash ll ../..
quels sont les fichiers et répertoires présents ?
Voir la solution Des répertoires comme :./ ../ Formation/.profile lesquels sont cachés ?
Voir la solution Tous ceux qui commencent par un point comme.profile quels sont leurs propriétaires et groupes attachés ?
Voir la solution Propriétaires : surtout vous, éventuellement l'utilisateurrootquels sont les droits afférants ?
Voir la solution Possiblement variable, mais dépendant surtout de vos droits par défaut.Copiez dans votre répertoire UnixShell le fichier testChmod.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.
Modifiez les droits de ce fichier testChmod.txt de deux façons pour obtenir ceux qui suivent, en séquence pour les trois cas de proche en proche :
rwx------rwxrwxrwxrwxr-xr--La première façon de procéder utilisera un profil octal, la seconde des lettres. Contrôlez vos actions à chaque étape.
Voir la solution -rwx------ bash $ chmod 700 testChmod.txt $ chmod go-rwx testChmod.txt $ ll -rwx------ 1 [uid] users 36 May 5 13:04 testChmod.txt - rwxrwxrwx bash $ chmod 777 testChmod.txt $ chmod a+rwx testChmod.txt $ ll -rwxrwxrwx 1 [uid] users 36 May 5 13:05 testChmod.txt - rwxr-xr-- bash $ chmod 754 testChmod.txt $ chmod go-w,o-x testChmod.txt $ ll -rwxr-xr-- 1 [uid] users 36 May 5 13:06 testChmod.txt Cherchez le chemin où se trouve votre fichier .profile, à partir de votre home directory, sans changer de répertoire.
Voir la solutionbash find ~ -name .profile Copiez dans votre répertoire UnixShell le fichier testDiff1.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 comme testDiff2.txt.
Comparez les deux fichiers, analysez le rapport obtenu en fonction de vos actions.
bash $ diff testDiff1.txt testDiff2.txt 3a4 > LIGNE AJOUTEE 6d6 < LIGNE A SUPPRIMER 9c9 < Modifiez-moi !!! --- > Modifiée Archivez en un seul tarfile tout le contenu de votre répertoire UnixShell (placez-vous au-dessus).
Contrôlez le fichier .tar résultat.
UnixShell pour l'archiver : bash $ 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 bash $ 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 Créez le sous-répertoire tarzip (sous UnixShell où 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.
bash $ cd UnixShell $ pwd / ... /Formation/UnixShell bash $ mkdir tarzip $ mv ../Archives.tar tarzip bash $ tar -xvf tarzip/Archives.tar UnixShell/ UnixShell/monHistorique.txt UnixShell/testDiff1.txt UnixShell/testDiff2.txt bash $ 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épertoire UnixShell s'est désarchivé sous lui-même...Toujours en restant sous UnixShell, compressez le tarfile en .gz.
Affichez ensuite les informations relatives aux tailles de fichiers et au ratio de compression.
bash $ gzip tarzip/Archives.tar $ ll tarzip -rwxrwxr-x 1 [uid] [gid] 612 May 5 16:23 Archives.tar.gz bash $ 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.
bash $ gunzip tarzip/Archives.tar $ ll tarzip -rwxrwxr-x 1 [uid] [gid] 10240 May 5 14:23 Archives.tar bash $ 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.
bash $ gunzip -c tarzip/Archives.tar | wc -l