0% ont trouvé ce document utile (0 vote)
65 vues9 pages

Script

Transféré par

francoisxavierbance65
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
65 vues9 pages

Script

Transféré par

francoisxavierbance65
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

### A.

Commandes Linux

#### Exercice 1 – Documentation en ligne

1. **Quelle documentation contient ce manuel ? Comment est-il structuré ?**

Le manuel en ligne (accédé via la commande `man`) fournit des informations sur les commandes,
les systèmes, et les bibliothèques de Unix/Linux. Il est structuré en sections numérotées :

- **Section 1** : Commandes utilisateur (e.g., `ls`, `grep`)

- **Section 2** : Appels système (e.g., `write`, `open`)

- **Section 3** : Fonctions de bibliothèque

- **Section 4** : Fichiers de configuration

- **Section 5** : Formats de fichiers (e.g., `/etc/passwd`)

- **Section 6** : Jeux

- **Section 7** : Macro-commandes, conventions, standards

- **Section 8** : Commandes administratives et système (e.g., `shutdown`, `mount`)

Chaque section peut contenir des sous-sections détaillant la syntaxe, les options, les descriptions et
des exemples d'utilisation.

2. **La commande `write` porte le même nom que l'appel système `write`. Comment accède-t-on à
la page du manuel concernant l'appel système `write` ?**

Le manuel de l'appel système `write` est dans la section 2. Pour y accéder, on utilise :

```

man 2 write

```

Cela permet de spécifier que l'on veut consulter la page du manuel dans la section 2 (les appels
système).
3. **Commande `ls` : précisez les options que vous savez utiliser et celles que vous pourriez
éventuellement utiliser.**

Quelques options courantes pour la commande `ls` :

- `-l` : Affiche la liste des fichiers avec des détails (permissions, taille, date de modification, etc.).

- `-a` : Affiche tous les fichiers, y compris les fichiers cachés (ceux qui commencent par un point).

- `-h` : Affiche les tailles de fichiers dans un format lisible (par exemple, `1K`, `5M`).

- `-R` : Affiche récursivement le contenu des sous-répertoires.

- `-t` : Trie les fichiers par date de modification.

- `-S` : Trie les fichiers par taille.

- `-r` : Affiche les fichiers dans l'ordre inverse.

D'autres options plus avancées incluent `-i` (affiche les numéros d'inodes), `-d` (affiche uniquement
les répertoires), et `-1` (affiche chaque fichier sur une ligne).

---

#### Exercice 2 – Création d'arborescence

1. **Création de l'arborescence sans bouger du répertoire racine (~)**

On peut créer une arborescence de répertoires en utilisant la commande `mkdir` avec l'option `-p`
pour créer des répertoires parents au besoin.

Exemple d'arborescence :

```

~/mon_rep/rep1/rep2

```
La commande correspondante serait :

```

mkdir -p ~/mon_rep/rep1/rep2

```

---

#### Exercice 3 – Navigation dans l'arborescence

1. **Création du répertoire `test` et de ses sous-répertoires `pub` et `bin` :**

```

mkdir ~/test

mkdir ~/test/pub

mkdir ~/test/bin

```

2. **Modification des droits d'accès :**

- **Répertoire `test` et `pub` (lecture et exécution pour tous, écriture pour le propriétaire) :**

```

chmod 755 ~/test

chmod 755 ~/test/pub

```

Ici, `755` permet au propriétaire de lire, écrire et exécuter, et aux autres utilisateurs de lire et
exécuter.

- **Répertoire `bin` (exécution pour tous, lecture et écriture pour le propriétaire et son groupe) :**

```

chmod 770 ~/test/bin


```

Cela donne au propriétaire et au groupe tous les droits, et aux autres utilisateurs aucun droit.

3. **Création du fichier `doc.txt` et copie dans `pub` :**

```

touch ~/test/doc.txt

cp ~/test/doc.txt ~/test/pub/

```

4. **Afficher le contenu de `doc.txt` dans `pub` depuis le répertoire `bin` :**

```

cat ~/test/pub/doc.txt

```

5. **Afficher la liste des fichiers dans `test` et ses sous-répertoires :**

```

ls -R ~/test

```

6. **Supprimer les fichiers se terminant par `~` dans `test` et ses sous-répertoires :**

```

find ~/test -type f -name '*~' -exec rm {} \;

```

7. **Afficher et supprimer les fichiers `toto` et `titi` dans le répertoire d'accueil de `balev` :**

```
cat /home/balev/toto /home/balev/titi

rm /home/balev/toto /home/balev/titi

```

---

#### Exercice 4 – Navigation dans l'arborescence (suite)

**Répertoire actuel : `/usr/local` et objectif : accéder à `/usr/local/games/mariokart`**

Les commandes valides sont :

- **A :** `cd /games/mariokart` — Incorrect, il manque `/usr/local` au début.

- **B :** `cd games/mariokart` — Incorrect, cela suppose que `games/mariokart` est dans le
répertoire courant (`/usr/local`).

- **C :** `cd local/mariokart` — Incorrect, il manque `/usr`.

- **D :** `cd /usr/local/games/mariokart` — Correct, chemin absolu.

- **E :** `cd /usr/local/../local/games/mariokart` — Correct, mais redondant.

- **F :** `cd ../games/mariokart` — Incorrect, cela essaie de monter d'un niveau, mais vous êtes déjà
au bon niveau.

La bonne commande est donc **D**.

---

#### Exercice 5 – Visualisation de fichiers

1. **Fichiers se terminant par '5' :**

```

ls *5

```
2. **Fichiers commençant par 'annee4' :**

```

ls annee4*

```

3. **Fichiers commençant par 'annee4' et de 7 lettres maximum :**

```

ls annee4?

```

4. **Fichiers commençant par 'annee' sans chiffres :**

```

ls annee[^0-9]*

```

5. **Fichiers contenant la chaîne 'ana' :**

```

grep -l 'ana' *

```

6. **Fichiers commençant par 'a' ou 'A' :**

```

ls [aA]*

```
---

#### Exercice 6 – Manipulation de fichiers

1. **Différence entre `mv toto titi` et `cp toto titi` :**

- `mv toto titi` : Déplace ou renomme le fichier `toto` en `titi` (le fichier `toto` est supprimé).

- `cp toto titi` : Copie le fichier `toto` dans un fichier nommé `titi`.

2. **Copier les fichiers dont l'avant-dernier caractère est '4' ou '1' dans `/tmp` :**

```

find . -type f -regex '.*[41]$' -exec cp {} /tmp/ \;

```

---

#### Exercice 7 – Gestion des droits d'accès

1. **Commandes pour donner des droits spécifiques à un répertoire `essai_droit` :**

Si le répertoire est à 755 par défaut :

- Pour donner les droits `777` (rwxrwxrwx) :

```

chmod 777 essai_droit

```

- Pour donner les droits `775` (rwxrwxr-x) :


```

chmod 775 essai_droit

```

Ces droits peuvent aussi être modifiés en notation symbolique. Par exemple :

```

chmod u+x,g-w,o-r essai_droit

```

---

#### Exercice 8 – Redirection et tubes

**Ligne équivalente pour la redirection et le tube :**

```

ls -l /usr/bin | tee tmp | less

```

Cette commande redirige la sortie de `ls` vers un fichier `tmp` et passe aussi le contenu à `less`.

---

#### Exercice 9 – La commande cat

1. **`cat devinette.txt | grep ce | wc -l` :**

Affiche le nombre de lignes contenant "ce".

**Réponse :** 1
2. **`cat devinette.txt | grep 4 | wc -l` :**

Affiche le nombre de lignes contenant "4".

**Réponse :** 1

---

#### Exercice 10 – Les commandes grep et cut

1. **Lignes correspondant à 'Sami'

Vous aimerez peut-être aussi