Skip to content
Snippets Groups Projects
Verified Commit 988f9566 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

moved slides to older times

parent c1ac4c6e
No related branches found
No related tags found
No related merge requests found
Showing
with 216 additions and 0 deletions
---
title: Introduction à la l'interface en ligne de commande
date: 2021-09-21
---
# Introduction
## Généralités
* *Command line interface* (CLI) en anglais.
* Interface textuelle vers l'ordinateur.
* Peut s'appeler le *shell*, le *terminal*, la *console*, ...
* Semble obscure, mais est très pratique (automatisation de tâches, copier-coller, ...).
* Vous devrez l'utiliser tout au long de vos études.
* Existe sous Linux, MacOS, et même Windows (les commandes peuvent varier!).
* Ici on ne parlera que de *Linux*.
# A quoi ça sert?
## Équivalent textuel d'un GUI
Toutes les informations obtenues avec une interface graphique, peuvent être obtenues à l'aide de la ligne de commande (liste loin d'être exhaustive):
* Changement d'un répertoire: `cd`{.bash}
* Affichage du contenu d'un répertoire: `ls`{.bash}
* Déplacement de fichier: `mv`{.bash}
* Copie de fichier: `cp`{.bash}
* Création de répertoire: `mkdir`{.bash}
* Recherche de fichier: `find`{.bash}
* Recherche de texte dans un fichier: `grep`{.bash}
* Etc, etc, etc, etc, etc
## Mais aussi
* Télécharger des documents, compiler, éditer des fichiers, ...
# Ouvrir un terminal
Dépendant de votre distribution de Linux l'ouverture d'un terminal peut varier.
Ce qui marche *presque* tout le temps:
1. Appuyer sur le bouton `Super` (`Windows`) du clavier.
2. Commencer à taper "terminal".
![](figs/terminal_open.png){width=100%}
Raccourcis clavier:
* `Ctrl+Alt+T`{.bash}
* `Super+T`{.bash}
* Vous pouvez customiser les raccourcis.
# Une fois le terminal ouvert
Vous pouvez taper des commandes puis `Entrée`.
```bash
$ pwd
/home/orestis
```
Exemple: `pwd`{.bash} affiche le répertoire courant (**p**rint **w**orking **d**irectory).
**Attention: les commandes sont sensibles à la casse!**
Exemple: `cd`{.bash} change de répertoire (**c**hange **d**irectory).
:::::::::::::: {.columns}
::: {.column width="45%"}
```bash
$ pwd
/home/orestis
$ cd ..
$ pwd
/home
```
:::
::: {.column width="45%"}
```bash
$ cd orestis
$ pwd
/home/orestis
$ cd ../..
$ pwd
/
```
:::
::::::::::::::
# Remarque: chemins relatifs ou absolus
Un *chemin* est relatif à moins que le chemin commence par `/` ou `~`.
```bash
$ pwd
/home/orestis
$ cd Downloads
$ pwd
/home/orestis/Downloads
$ cd /tmp
$ pwd
/tmp
$ cd ~/Downloads
$ pwd
/home/orestis/Downloads
```
# Ouvrir un éditeur de texte et éditer un ficher
* Installer un éditeur de texte: `codium`, `vim`, `nvim`, ...
* Ouvrir l'éditeur de texte (ici codium):
```bash
$ codium
```
* Écrire `Hello World!` dans le fichier et sauver sous `cours.dat`.
* Ou alors utiliser `nano`, `vi`, `nvim`, ...
```bash
$ nano cours.dat
```
* Écrire `Hello World!` puis `Ctrl+X` et `Y`.
# Quelques commandes utiles (1/3)
## `mkdir`, création de répertoire
```bash
$ mkdir tmp
$ cd tmp
$ pwd
/home/orestis/tmp
```
## `ls`, affiche le contenu d'un répertoire
```bash
$ ls
Desktop Documents git Music Public tmp
Docker Downloads go Pictures Templates Videos
$ ls -ltr
... # des répertoires
drwxr-xr-x 3 orestis orestis 4096 31 aoû 09:54 Documents
drwxr-xr-x 11 orestis orestis 4096 7 sep 15:59 Downloads
drwxr-xr-x 2 orestis orestis 4096 9 sep 11:14 Pictures
drwxr-xr-x 2 orestis orestis 4096 9 sep 12:41 tmp
-rw-r--r-- 1 orestis orestis 6 9 sep 12:52 cours.dat
```
# Quelques commandes utiles (2/3)
## `cp`{.bash}, copie de fichiers/répertoires
```bash
$ cp cours.dat tmp/ # cp cours.dat -> tmp
$ ls tmp # affiche le rép tmp
cours.dat
$ cp -r tmp tmp2 # option -r => recursive
$ ls
cours.dat Docker Downloads go Pictures Templates tmp2
Desktop Documents git Music Public tmp Videos
```
## `mv`{.bash}, déplacement de fichiers/répertoires
```bash
$ ls tmp
$ mv cours.dat tmp # déplace cours.dat -> tmp
$ ls tmp
cours.dat
```
# Quelques commandes utiles (3/3)
## `rm`{.bash}, effacer des fichiers/répertoires
```bash
$ ls tmp
cours.dat
$ rm tmp/cours.dat
$ ls tmp
$ rm -r tmp tmp2
$ ls
Desktop Documents git Music Public Videos
Docker Downloads go Pictures Templates
```
# La touche `tab`{.bash}
Probablement la touche la plus utile du clavier:
* permet la complétion d'une commande.
* permet la complétion d'un nom de fichier.
* permet d'afficher les complétions possibles.
Fait gagner un temps considérable.
# Éditeurs de texte
Il existe différents éditeurs de texte qui pourraient être utiles:
* `vscode`{.bash} ou `codium`{.bash} (la version sans l'espionnage MS)
* `vim`{.bash}
* `geany`{.bash}
* `gedit`{.bash}
* ...
Ne vous reposez pas trop sur l'éditeur pour tout faire à votre place.
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment