TD LINUX Les commandes de base 1-Manipulation des dossiers et fichiers 2-Gestio
TD LINUX Les commandes de base 1-Manipulation des dossiers et fichiers 2-Gestion des utilisateurs et des groupes 3- Recherche de fichiers 4-Extraire, Trier et Filtrer des données. 5- Redirection du flux 6- chainer les commandes. 1-Manipulation des dossiers et fichiers 1.1. Créer un dossier sous /home/votre_prenom nommé « TD » mkdir nom_dossier ; mkdir TD 1.2. Créer un autre dossier sous /home/votre_prenom nommé photos qui contient 3 fichiers nommés : tunis.jpg, bizerte.jpg et hammamet.jpg touch nom_fichier touch tunis.jpg touch bizerte.jpg touch hammamet.jpg 1.3. Créer sous TD un fichier OS.txt touch nom_fichier touch os.txt 1.4. Editer le fichier OS.txt, copier le paragraphe, enregistrer et quitter : gedit nom_fichier gedit os.txt 1.5. Afficher le contenu de votre fichier OS.txt sur la console Cat nom_fichier Cat os.txt 1.6. Afficher seulement les 3 premières lignes du fichier OS.txt sur la console head –n nom_fichier ( n= nombre de lignes ) head –3 os.txt 1.7. Afficher seulement les 3 dernières lignes du fichier OS.txt sur la console tail –n nom_fichier tail -3 os.txt 1.8. Créer un deuxième dossier sous /home/votre_prenom qui s’intitule Doc mkdir nom_fichier 1.9. 1.9.Déplacer le fichier OS.txt vers Doc et le renommer SE.txt Pour déplacer : mv nom_fichier / nom_dossier mv os.txt .. / TD Pour renommer : mv nom_fichier nom_proposé mv os.txt se.txt 1.10. Supprimer le dossier TD avec une demande de confirmation avant la suppression définitive rm –i TD la commande rm et ses options : -i : demander confirmation -f : forcer la suppression, quoi qu'il arrive -r : supprimer un dossier et son contenu 1.11. Les liens entre les fichiers : Question –a-: définir un inode Un nœud d'index ou inode est une structure de données contenant des informations à propos d'un fichier ou répertoire stocké dans certains systèmes de fichiers (notamment de type Linux/Unix). À chaque fichier correspond un numéro d'inode (i-number) dans le système de fichiers dans lequel il réside, unique au périphérique sur lequel il est situé. Chaque fichier a un seul inode, même s'il peut avoir plusieurs noms (chacun de ceux-ci fait référence au même inode). Chaque nom est appelé link. Les inodes peuvent, selon le système de fichiers, contenir aussi des informations concernant le fichier, tel que son créateur (ou propriétaire), son type d'accès (par exemple sous Unix : lecture, écriture et exécution), etc. Question –b- : créer un lien physique entre le fichier SE.txt et un nouveau fichier nommé lien_phy : ln nom_fichier lien_phy ln se.txt lien_phy Question –c- : vérifier qu’il s’agit bien du même inode entre les deux fichiers : ls –li Question –d- : créer un lien symbolique entre le fichier SE.txt et un nouveau fichier nommé lien_symb : ln –s nom_fichier lien_symb ln –s se.txt lien_symb Question –e- : vérifier qu’il s’agit bien d’un lien symbolique : ls –li Gestion des utilisateurs et des groupes : 1.11. Créer un nouvel utilisateur Ali Sudo adduser nom d’utilisateur Sudo adduer ali NB : il faut ajouter sudo car seul le super utilisateur est autorisé à ajouter un utilisateur ou un groupe au système . 1.12. Affecter ali à un nouveau groupe nommé famille Sudo addgroup nom_group : créer un group Sudo addgroup famille Sudo adduser nom-utilisateur nom-group Sudo adduser ali famille 1.13. Modifier le propriétaire du fichier SE.txt qui vous appartenait (créé précédemment par votre_prenom) et l’attribuer à Ali. Sudo chown nom-utilisateur nom-fichier Sudo chown ali se.txt 1.14. 2.4.De même, faites en sorte que le groupe famille soit le propriétaire du fichier SE.txt Sudo chown nom-group nom-fichier Sudo chown famille se.txt 1.15. Créer un nouveau fichier sous /home/votre_prenom/Projet (projet étant un nouveau dossier) un fichier nommé projet1.c « Mkdir » pour le dossier et « touch » pour le fichier 1.16. Lister les droits d’accès au fichier projet1.c que disposent votre_prénom, votre groupe et Ali. ls –l nom_fichier 1.17. Modifier les droits d’accès à ce fichier de façon à ce qu’il peut être lu, modifié et exécuté par vous et votre groupe et qu’ Ali est autorisé à le lire mais interdit de le modifier et de l’exécuter. (proposer deux méthodes possibles). sudo chmod u+---,g+---,o+--- nom_fichier u = user (propriétaire) ; g = group (groupe) ; o = other (autres). sudo chmod u+rwx,g+rwx,o+r-- projet1.c Recherche de fichiers : Revenir à la racine de linux Cd ~ Chercher le chemin d’accès au fichier projet1.c « Sudo updatedb » après « locate nom_fichier » Chercher le chemin d’accès à tous les fichiers d’extension .jpg sur votre disque Locate *jpg Chercher tous les fichiers dont la taille est supérieure à 10Mo La commande « find » et ses options : -name recherche sur le nom du fichier, -perm recherche sur les droits d'accès du fichier, -links recherche sur le nombre de liens du fichier, -user recherche sur le propriétaire du fichier, -group recherche sur le groupe auquel appartient le fichier, -type recherche sur le type (d=répertoire, c=caractère, f=fichier normal), -size recherche sur la taille du fichier en nombre de blocs (1 bloc=512octets), -atime recherche par date de dernier accès en lecture du fichier, -mtime recherche par date de dernière modification du fichier, -ctime recherche par date de création du fichier. Chercher tous les dossiers qui se trouvent sous /home /votre _ prenom . find / -type recherche sur le type (d=répertoire ou dossier, c=caractère, f=fichier normal), find / -type d Supprimer tous les fichiers .jpg sous le /home/votre_prenom rm –i *.jpg Chercher tous les fichiers que vous avez visité depuis 3 jours. Find . –atime -3 EXTRAIRE, TRIER ET FILTRER DES DONNÉES: Afficher toutes lignes dans le fichier SE.txt qui contiennent le mot « linux » en ne tenant pas compte qu’il soir écrit en majuscule ou miniscule. grep –i linux se.txt La commande grep permet de rechercher une chaîne de caractères dans un fichier. Les options sont les suivantes : -v affiche les lignes ne contenant pas la chaîne -c compte le nombre de lignes contenant la chaîne -n chaque ligne contenant la chaîne est numérotée -x ligne correspondant exactement à la chaîne -l affiche le nom des fichiers qui contiennent la chaîne Essayer le contraire et afficher les lignes qui ne contiennent pas le mot « linux ». grep –v –i linux se.txt Afficher maintenant tous les lignes sous le dossier /home le mot « GPL » grep –n –i gpl se.txt NB : ajouter toujours –i au commande « grep » pour éviter le problème de minuscule et majuscule . Afficher toutes lignes sous /home qui contiennent un chiffre entre [1990 et 2000] grep –n [1990-2000] se.txt Créer un nouveau fichier sous /home/votre_prenom nommé test_tri.txt et placer le texte suivant (chaque nom dans une ligne): ahmed hedi moez zohra sarra ahmed . commande «touch » après commande « gedit » Trier le contenu de ce fichier par ordre alphabétique et le mettre dans un nouveau fichier tri.txt. La commande « sort » et ses options : -o : écrire le résultat dans un fichier -r : trier en ordre inverse -R : trier aléatoirement -n : trier des nombres Touch tri.txt | sort –o test_tri.txt . Supprimer les doublons dans ce fichier et mettre le résultat dans sans_doublons.txt Uniq tri.txt sans_doublants.txt La commande « uniq » et ses options : -u : Affiche seulement les lignes n'apparaissant qu'une seule fois. -d : Affiche seulement les lignes répétées. -c : le nb d’occurrences . Trier les nombres suivants par ordre croissant et les placer dans tri_nb.txt la commande « sort –n » Sort –n test_tri.nb.txt tri_nb.txt Compter le nombre de mots que contient le fichier se.txt La commande « wc » et ses options : wc –w se.txt -l : nb de lignes -w : nb de mots -c : nb d’octets -m : nb de caractères Compter le nombre de lignes que contient le fichier tri.txt Wc –l tri.txt Compter le nombre d’octets que contient le fichier se.txt wc –c se.txt Créer un nouveau fichier notes.csv qui contient : Eya, 12, assez bien Hedi,16, très bien Ahmed, 8, insuffisant Zeineb, 13, assez bien Gedit notes.csv Cat notes.csv Couper de ce fichier les données et ne conserver que la colonne des notes (délimitateur = ,) La commande « cut » : cut -d , -f numero_champs a couper nom_fichier Remarque les champs sont séparés par un « , » . Cut –d , -f 2 notes.csv Redirection du flux : Couper du fichier notes.csv créé précédemment la première colonne des noms et la rediriger vers le fichier eleves.txt cut –d , -f 1 notes.csv>eleves.txt NB :Le symbole > redirige dans un fichier et l’écrase s’il existe déjà Taper la commande suivante et commenter : Cut –d , -f 1 brouillon.csv > fichier_res.txt 2>erreur.txt Commentaires : Linux va crée le fichier_res.txt et afficher les erreurs dans le fichier erreur.txt et dans ce cas l’erreur est : Taper cette commande et commenter : Cut –d , -f 1 brouillon.csv > fichier_res.txt 2>&1 Commentaires : uploads/s1/ correction-td-1-1.pdf
Documents similaires



