Académique Documents
Professionnel Documents
Culture Documents
11
1. cat permet d'afficher tout le contenu d'un fichier, mais lorsque celui-ci est long, il est
préférable d'utiliser less / more qui affiche le fichier page par page.
- Pour créer un fichier, taper par exemple : cat > nomfichier valider avec la touche
Entrer. Entrer le texte à stocker dans le fichier. Valider avec la touche Enter pour le
passage à la ligne. Terminer la saisie avec la combinaison des touches CTRL D.
- Pour afficher tout le contenu d'un fichier dans la console d'un coup, il suffit d'indiquer
en paramètre le nom du fichier que vous voulez afficher.
a. Créer 2 fichiers de votre choix et afficher les avec cat, ensuite avec less (pour sortir
appuyer sur q) et enfin avec more. Que constater vous ?
La commande touch permet aussi de créer un fichier vide. C’est à la base une commande
faite pour modifier la date de dernière modification d'un fichier. D'où son nom : on « touche
» le fichier pour faire croire à l'ordinateur qu'on vient de le modifier alors que l'on n'a rien
changé.
b. Quel constat faites-vous après l’exécution de cette commande : touch fichierbidon ?
2. head (respectivement tail) permet d’afficher le début d’un fichier donc de récupérer les
premières lignes (respectivement d’afficher la fin d’un fichier donc les dernières lignes).
En utilisant tail -f on peut suivre l'évolution d'un fichier en temps réel, ce qui est utile sur les
fichiers de log qui enregistrent l'activité du système.
Taper et analyser le résultat de la commande suivante : head -n 3 /var/log/syslog
3. Pour rechercher un fichier sur tout le disque, la commande locate est très rapide mais ne
trouvera pas les fichiers qui viennent d'être créés dans la journée. On peut mettre à jour la
liste des fichiers qu'elle connaît en appelant updatedb.
Exemple : $ locate notes.txt /home/mateo21/notes.txt
La commande a retrouvé le fichier notes.txt est situé dans /home/mateo21
La commande locate donne tous les fichiers qui contiennent le mot en paramètre dans leur
nom. Que ce soient des fichiers ou des dossiers, elle ne fait pas la différence. Elle vous
donne la liste complète des fichiers qu'elle a trouvé.
4. find est une commande plus puissante mais plus lente qui va parcourir votre disque à la
recherche de vos fichiers. Elle peut s'utiliser avec trois paramètres, dans l'ordre : où
chercher, que chercher et que faire avec.
On peut rechercher des fichiers en fonction de leur nom (-name), de leur taille (-size), de
leur date de dernier accès (-atime)R
Exemple : find -name "logo.png" Recherche un fichier à partir du nom
On peut rechercher dans un répertoire donné, en le précisant en premier paramètre le
répertoire dans lequel chercher.
Exemple : find /var/log/ -name "syslog" Retrouve tous les fichiers qui s'appellent syslog
situés dans /var/log (et ses sous-répertoires)
Au lieu d'afficher les fichiers trouvés, on peut automatiquement les supprimer avec-delete
ou exécuter la commande de son choix sur chacun d'eux avec-exec
12
5. grep est une commande couramment utilisée pour rechercher un mot dans un fichier. Son
rôle est de rechercher un mot dans un fichier et d'afficher les lignes dans lesquelles ce mot
a été trouvé. Syntaxe : grep texte nomfichier
a. Que fais la commande suivante : grep alias .bashrc ? recherche le mot « alias »
dans le fichier .bashrc et affiche toutes les lignes dans lesquelles le mot a été trouvé.
b. Rechercher votre nom de login dans le fichier système /etc/passwd tout en affichant les
numéros des lignes retournées avec l’option -n.
On peut utiliser des expressions régulières, un système complexe mais puissant, pour
effectuer des recherches précises. On fait dans ce cas appel à la commande egrep.
6. sort trie des lignes de texte par ordre alphabétique (pas d’option) ou inverse (option -r). Le
paramètre -n permet de trier par ordre numérique. Le résultat peut être écrit dans un fichier
(option -o).
a. Créer le fichier prenoms.txt des prénoms suivant à l’aide de la commande cat.
b. Donner la commande qui permet de trier le contenu du fichier prenoms.txt dans l’ordre
décroissant. Le résultat devra être compris dans un autre fichier nommé noms.txt.
sort -o noms.txt -r prenoms.txt
7. wc compte le nombre de lignes (option -l), de mots (-w), d'octets (option c) et de caractères
(option -m) dans un fichier. Noter que le nombre de caractères est différent du nombre
d'octets.
a. Compter le nombre de lignes de prenoms.txt.
b. Compter le nombre de mots de prenoms.txt.
c. Compter le nombre d’octets de prenoms.txt.
d. Compter le nombre de caractères de prenoms.txt.
8. Redirections permettent de rediriger les entrées-sorties standards vers des fichiers. Ainsi,
les deux flux de redirection dans des fichiers sont :
> : redirige dans un fichier et l'écrase s'il existe déjà ;
>> : redirige à la fin d'un fichier et le crée s'il n'existe pas.
Exemples :
echo "Toto" > /etc/monfichierdeconfiguration
La commande suivante est équivalente à une copie de fichiers : .cat toto > toto2
13
PARTIE III : COMMANDES SUR LES COMMANDES
Il existe plusieurs types de commandes : les commandes internes (au shell), les commandes
externes (donc des programmes) et les alia.
Les commandes externes (donc des exécutables) sont généralement stockées dans un
répertoire de nom bin. Il existe des exécutables dans :
– le répertoire /sbin contient les commandes pour root
– le répertoire /bin on trouve des commandes et des shells
– le répertoire /usr/bin est le répertoire de base des programmes
A cet effet, pour une commande donnée, quelle commande Linux permet de :
1. localiser une commande ?
2. localiser l’exécutable, le source et la page de manuel d’une commande ?
3. déterminer le type d’une commande ?
4. rechercher le nom du fichier qui sera exécuté à l’appel de commande ?
5. obtenir de l’aide sur une commande ? Donner deux possibilités au moins.
6. rechercher la description complète dans la base de données ?
7. chercher le nom et la description des pages de manuel ?
8. lister les alias actuellement définis ?
9. créer un alias ?
10. supprimer un alias
1. Trouvez les options de la commande ls pour afficher les informations détaillées de toute
une arborescence.
2. Trouvez l’option de la commande rm pour supprimer le répertoire Python ainsi que tout
son contenu.
3. Donnez en une seule ligne les commandes Linux permettant de :
(a) lister les fichiers et répertoires présents à la racine
(b) se déplacer dans le répertoire seance1
(c) retourner dans votre répertoire personnel
14
(d) afficher le nom du répertoire dans lequel vous vous trouvez
(e) déplacer toute l’arborescence seance1 dans seance2
(f) Renommer le fichier /Python/TP2/exo1 en exercice1.
15
o afficher les fichiers les plus récents en premier : ls -t
o afficher les fichiers les plus vieux en premier : ls -rt
o mixer avec l'option "l" afin d'afficher le listing détaillé : ls -rtl ou ls -tl
Ainsi, "ls -altp" affiche tous les fichiers, de façon détaillée, dans l'ordre chronologique,
an ajoutant '/' après chaque nom de répertoire.
2. ls -l donne les droits d'accès des fichiers du répertoire. a.Vrai b.Faux
3. Description détaillée la première ligne et les 7 parties (colonnes) du résultat de la
commande suivante :
a. La première ligne "total 144" est l'espace disque utilisé par l'ensemble des fichiers
du répertoire.
b. La première colonne -rw-r--r-- représente les permissions associées au fichier.
Le premier caractère est un tiret pour un fichier, un d pour un répertoire, un l pour
un lien symbolique.
Ensuite, on a trois groupes de trois caractères (rw- ou r-- ou rwx ou ..) indiquant
respectivement les droits du propriétaire du fichier (ici, jice), des membres du
groupe (ici : users) et des autres (ou reste du monde).
r signifie : possibilité de lire ce fichier / dans ce répertoire,
w signifie : possibilité d'écrire dans ce fichier / répertoire,
x signifie : possibilité d'exécuter ce fichier / d'aller dans ce répertoire.
c. Un nombre désignant le nombre de liens qui pointent vers le fichier/répertoire.
d. Le nom du propriétaire à qui appartient le fichier (jice)
e. Le nom du groupe auquel le fichier appartient (users)
f. La taille du fichier en octets
g. La date et l'heure de création / modification
h. Le nom du fichier/répertoire.
4. Dans les systèmes d'exploitation dérives d'Unix, le codage des droits d’accès se fait sur
9 bits groupes par 3 bits qui sont dans l'ordre :
- r le fichier est lisible par le propriétaire (- dans le cas contraire) ;
- w le fichier est modifiable par le propriétaire (- sinon) ;
- x le fichier est exécutable par le propriétaire (- sinon).
16
Ces droits sont codes en un entier. Pour ce faire, on convient de la correspondance : r
= 4, w = 2 et x =1. Ainsi, les droits rw- correspondent à l'entier 6 = 4+2. Donc rw-rw-rw-
correspond à l'entier 666.
a. Préciser pour quelle catégorie d’utilisateurs chaque groupe définit les droits et
permissions.
b. A quels droits correspondent les entiers 751; 521; 214 et 150 ?
c. Par quels entiers sont codes les droits rw-r- -r- - et rwxr-xr-x ?
5. De l’énoncé de la partie V, donner les commandes permettant de :
a. changer les droits du répertoire seance2 pour donner l’accès en écriture à tous les
membres du groupe. (forme octale)
b. retirer les droits en exécution pour tout le monde au répertoire Unix. Que se
passe-t-il en cas où on voudrait se déplacez dans ce répertoire ?
c. modifiez les droits du répertoire Unix pour que seul le propriétaire ait les droits
d’accès en lecture, écriture et exécution, pour que le groupe ait les droits d’accès
en lecture et exécution, et pour que les autres n’aient aucun droit sur ce répertoire.
17