Introduction à la ligne de commande

C'est quoi, la ligne de commande ?


jonas@gnugen:~ $
						

C'est quoi, la ligne de commande ?


jonas@gnugen:~ $ ls
						

C'est quoi, la ligne de commande ?


jonas@gnugen:~ $ ls
Documents Downloads Music Pictures Videos
						

des conversations avec ton ordi

Types de lignes de commandes

Shell UNIX

  • sh
  • bash
  • zsh, dash, msh, fish, ksh, csh, tsh, tcsh...

se retrouve notamment sur GNU/Linux

Concepts de base

Concepts de base

Context

Dans quel dossier est-ce que je me trouve ?


jonas@gnugen:~ $ pwd
/home/jonas
						

Concepts de base

Context

Filesystem paths

Absolute vs. Relative

  • Absolute :
    /home/jonas/myfreesoftwareproject
  • Relative from /home/jonas :
    myfreesoftwareproject
  • Relative from /usr :
    ../home/jonas/myfreesoftwareproject

Concepts de base

Environment

Variables qui sont définies dans la session actuelle.


jonas@gnugen:~ $ echo $SHELL
/bin/bash
						

jonas@gnugen:~ $ env
[...]
						

Commandes

Commandes

Commandes de base

  • ls
  • cd
  • ...

Commandes

Arguments

pris par des commandes

  • Long form (two dashes)
    
    jonas@gnugen:~ $ ls --long --all --reverse --human
    drwxr-xr-x. 1 jonas jonas  53G  4. Mai 2022 Videos
    drwx------. 1 jonas jonas   96 12. Sep 2022 .ssh
    drwxr-xr-x. 1 jonas jonas  18G 15. Sep 2022 Pictures
    drwxr-xr-x. 1 jonas jonas 8.7G 15. Sep 2022 Music
    drwxr-xr-x. 1 jonas jonas 512M 15. Sep 2022 Downloads
    drwxr-xr-x. 1 jonas jonas 4.3G 15. Sep 2022 Documents
    								

Commandes

Arguments

pris par des commandes

  • Short form (one dash, one letter)
    
    jonas@gnugen:~ $ ls -larh
    [...]
    								

Commandes

Feedback

imprimé

Une commande peut imprimer du feedback (et des erreurs)

Cependant, ceci n'est pas obligatoire. Pas de feedback imprimé correspond à succès.

Commandes

Feedback

return codes


jonas@gnugen:~ $ rm doesnotexist
rm: cannot remove 'doesnotexist': No such file or directory
						

jonas@gnugen:~ $ echo $?
1
						

0 == successful

not 0 == error

BASH en action

Où trouver une shell BASH sur votre ordi ?

BASH en action

GNU/Linux

Sur toutes les distros (Ubuntu, Fedora, Debian, Arch ...)

Console / Terminal

BASH en action

Mac OS

Terminal

BASH en action

Windows

Vient par défaut avec d'autres types de ligne de commande.

Deux options :

  • Git BASH
  • WSL - Windows Subsystem for Linux

BASH en action

Windows

Git BASH

gitforwindows.org

Commandes utiles

Quels fichiers et dossiers sont dans ce repertoire ?


jonas@gnugen:~ $ ls
Documents Downloads Music Pictures Videos
						

jonas@gnugen:~ $ ls Documents/
EPFL 'random stuff' Notes.txt
						

Commandes utiles

Ouvrir / quitter un dossier


jonas@gnugen:~ $ cd
						

jonas@gnugen:~ $ cd Documents
						

jonas@gnugen:Documents $ cd ../
						

Commandes utiles

Créer un nouveau dossier


jonas@gnugen:~ $ mkdir newfreesoftwareproject
						

jonas@gnugen:~ $ ls
Documents Downloads Music newfreesoftwareproject Pictures Videos
						

jonas@gnugen:~ $ cd newfreesoftwareproject
						

Commandes utiles

Copier des fichiers


jonas@gnugen:~ $ cp Documents/Notes.txt CopyOfNotes.txt
						

jonas@gnugen:~ $ ls
CopyOfNotes.txt Documents Downloads Music newfreesoftwareproject Pictures Videos
						

Commandes utiles

Déplacer des fichiers


jonas@gnugen:~ $ mv CopyOfNotes.txt NewNotes.txt
						

jonas@gnugen:~ $ ls
Documents Downloads Music newfreesoftwareproject NewNotes.txt Pictures Videos
						

jonas@gnugen:~ $ mv NewNotes.txt Documents/NewNotes.txt
						

jonas@gnugen:~ $ ls Documents/
EPFL 'random stuff' NewNotes.txt Notes.txt
						

Commandes utiles

Supprimer des fichiers


jonas@gnugen:~ $ rm Documents/NewNotes.txt
						

jonas@gnugen:~ $ ls Documents/
EPFL 'random stuff' Notes.txt
						

⚠ pas de corbeille ⚠
pensez avant de supprimer n'importe quoi ;)

Commandes utiles

Autres commandes

  • text editors
  • system configuration
  • gestion de version et collaboration -> git
  • ...

Tips & Tricks

  • tab completion (pour filenames/paths)
  • ctrl+R - recherche dans les dernières commandes déjà utilisées

Merci