Accueil

SUITE TUTORIEL page n°2
Page actualisée le :11/06/2008

Bash: plus de 20 commandes utiles par l' exemple. (N°1)

Des rajouts de commandes seront effectués à un rythme régulier, si possible.

BUT :
Apprendre par des exercices simples et visualiser le résultat dans la console.
Vous essayez et comparez votre résultat avec celui que vous devez obtenir.
Si vous voulez maitriser Linux, maitriser les commandes du shell.

Je ne connais rien à Linux... Est-ce obligatoire d' apprendre cela ?
A quoi cela sert-il ?Pourquoi utiliser la Console ? Comment ouvrir, fermer une Console ?
Je ne comprends pas le vocabulaire utilisé : Bash, Shell, Console, Terminal ?...
J' ai plusieurs Consoles, laquelle utiliser ? J 'hésite, quels sont les risques ?...
Consulter la MINI-FAQ puis quelques BASES ESSENTIELLES.

Pour comprendre la structure d ' une commande-type : afficher un tableau -type

   Plan du Tutoriel
Deux possibilités. (Cliquer sur le lien correspondant).
  • 1) Aide-mémoire :
    Il affiche uniquement les commandes et leurs paramètres.

  • 2) Sommaire :
    Une liste de commandes Bash classées par thèmes et difficultés
    Niveau 1 : Fichiers, répertoire, texte, recherche, documentation.
    Niveau 2 : Droits, permissions, partitions, volume, processus, réseaux.
    Annexe. Les Outils utiles : Editeurs, Gparted, wget...
    Un clic permet d' afficher le tableau correspondant à la commande...
    si elle est expliqué,
    sinon consulter le man correspondant. .


Début du tutoriel.

   INDEX des COMMANDES expliquées (niveau 1)
         Les INDISPENSABLES : pwd    ls    cd    mkdir    rmdir    rm
   cat    cp    mv    wr    cut    head    tail





   pwd
  Dans quel répertoire suis-je ?
(Détails complets en tapant dans la console man pwd ou man -f pwd)
  paramètres :
 pwd

Affiche le chemin complet et absolu du répertoire de travail courant.
Code:
 pwd
-desktop: ~/jean$ pwd
/home/perso/jean


   ls
  Lister le contenu d'un ou de plusieurs répertoires.
(Détails complets en tapant dans la console man ls ou man -f ls )
  paramètres :
 ls rep1
 ls ~/rep1
 ls ~/rep1/*.jpg
 ls -R récurent
 ls ~/rep1/*.*
 ls -a cachés
 ls -F types
 ls -1 colonne
 ls -1 ~/
 ls -m ~/
Triés par :
 ls -X extensions
 ls -t dates

Liste le répertoire courant
(Affichage par ordre alphabétique.
Code de couleurs :
bleu=répertoire, noir=fichier, vert=exécutable fuschia=mp3,jpg etc...)
Code:     (desktop:home/perso/jean#)
 ls
-desktop: ~/jean$ ls
chant0_2.mp3  fichier0_1.txt  photo0_3.jpg  radios.sh   rep1  rep2

Répertoire courant et de ses sous-répertoires.
Code:     (desktop:home/perso/jean#)
 ls -R
-desktop: ~/jean$ ls -R
chant0_2.mp3  fichier0_1.txt  photo0_3.jpg  radios.sh   rep1  rep2
./rep1:
chant0_2.mp3  fichier1_1   music12  photo1_3.jpg   rep11
./rep1/music12: ./rep1/rep11:
chant11_2.mp3  fichier11_1  photo11_3.jpg
./rep2:
fichier2_1  chant2_2.mp3  photo2_3.jpg   rep21 ./rep2/rep21:
fichier21_1  fichier21_2

Lister rep1, sous-répertoire de /jean
Code:     (desktop:home/perso/jean#)
 ls rep1
-desktop: ~/jean$ ls rep1
chant1_2.mp3  fichier1_1  music12  photo1_3.jpg  rep11

Notation chemin absolu.
Tous les fichiers aussi en chemin absolu.
Noter le caractère particulier * pour n´ obtenir que
les fichiers et toutes les extensions.
Code:     (desktop:home/perso/jean#)
 ls /home/perso/jean/*.*
-desktop: ~/jean$ ls /home/perso/jean/*.*
/home/perso/jean/chant0_2.mp3     /home/perso/jean/photo0_3.jpg
/home/perso/jean/fichier0.1.txt      /home/perso/jean/radios.sh

Notation chemin relatif.
Tous les fichiers aussi en chemin relatif.
Code:     (desktop:home/perso/jean#)
 ls *.*
-desktop: ~/jean$ ls rep1/*.*
rep1/chant1_2.mp3      rep1/photo1_3.jpg
Répertoire avec fichiers classés par TYPE.
Noter l'astérique après l'extension sh
Code :      (desktop:home/perso/jean#)
 ls -F
-desktop: ~/jean$ ls -F
chant0_2.mp3    fichier0_1.txt photo0_3.jpg    radios.sh*    rep1/    rep2/
Répertoire avec fichiers classés par EXTENSION.
Code:      (desktop:home/perso/jean#)
 ls -X
-desktop: ~/jean$ ls -X
rep1    rep2    photo0_3.jpg    chant0_2.mp3    radios.sh    fichier0_1.txt
Répertoire avec fichiers cachés.
Code:      (desktop:home/perso/jean#)
 ls -a
-desktop: ~/jean$ ls -a
  .    ..   chant0_2.mp3   fichier0_1.txt   photo0_3.jpg    radios.sh    rep1  rep2
Lister en une seule colonne.
Code:      (desktop:home/perso/jean#)
 ls -1
-desktop: ~/jean$ ls -l
chant0_2.mp3
fichier0_1.txt
photo0_3.jpg
radios.sh
rep1
rep2

Comment utiliser le caractère * pour un tri sélectif
Divers exemples à analyser.
Code 1:      (desktop:home/perso/jean#)
Tous les fichiers , qqs les extensions. Aucun répertoire.
 ls *.*

Code 2:      (desktop:home/perso/jean#)
Uniquement, tous les fichiers .jpg.
 ls *.jpg
Code 3:      (desktop:home/perso/jean#) Uniquement, tous les fichiers .mp3.  ls rep1/*.mp3
Code 4:      (desktop:home/perso/jean#) Uniquement, tous les fichiers se terminant par 3.  ls rep1/*3
Code 5:      (desktop:home/perso/jean#) Uniquement, TOUS les fichiers contenant un 3 (nom et extension).  ls rep1/*3*
Code 6:      (desktop:home/perso/jean#) Uniquement, tous les fichiers dont le nom commence par 3.  ls rep1/3*
Code 7:      (desktop:home/perso/jean#) Uniquement, tous les fichiers jpg contenant 3 dans le nom.  ls rep1/*3*.jpg
-desktop: ~/jean$ ls *.*
-desktop: ~/jean$ ls
chant0_2.mp3  fichier0_1.txt  photo0_3.jpg  radios.sh   rep1  rep2
-desktop: ~/jean$ ls *.jpg
photo0_3.jpg
-desktop: ~/jean$ ls *.mp3
chant0_3.mp3
-desktop: ~/jean$ ls *3
chant0_2.mp3
-desktop: ~/jean$ ls *3*
chant0_2.mp3   photo0_3.jpg
-desktop: ~/jean$ ls 3*
ls: 3*: Aucun fichier ou répertoire de ce type

Obtenir plus de renseignements:
Nom, type du fichier, permissions d´ accès, nom du propriétaire,
du groupe, la taille en octets, l´ horodatage etc...
Code:      (desktop:home/perso/jean#)
 ls -l

Renseignements triés en combinant plusieurs arguments:
l avec c , i , t , r , d :
Nom, type du fichier, permissions d´ accès, nom du propriétaire,
du groupe, la taille en octets, l´ horodatage etc...
Code 1:      (desktop:home/perso/jean#)
Avec date de changement de statut et non pas de modification.
 ls -cl
Code 2:      (desktop:home/perso/jean#) Répertoires classés par date et non par ordre alphabétique.  ls -lt
Code 3:      (desktop:home/perso/jean#) Tri inversé.  ls -lr
Code 4:      (desktop:home/perso/jean#) Sans lister le contenu des répertoires.  ls -d
Code 5:      (desktop:home/perso/jean#) Numéro d´index des fichiers avant leur nom.  ls -i



   cd
  CHANGER de REPERTOIRE.
(Détails complets en tapant dans la console man cd)
La commande pwd est rajoutée, au début et à la fin, pour controle.
  paramètres:
 cd
 cd ../
 cd -
 cd ~
Atteindre un répertoire par un chemin relatif au répertoire courant
Code:     (desktop:home/perso#)
pwd
cd jean
pwd

Atteindre un répertoire (rep11) par un chemin relatif
au répertoire courant
Code:     (desktop:home/perso/jean#)
pwd
cd rep1/rep11
pwd

Remonter dans l' arborescence (ici 1 niveau).
Code:     (desktop:home/perso/jean/rep1/rep11#)
pwd
cd  ../
pwd

ALLER directement par ~ dans '/home/perso'
'perso' étant le dossier personnel
Code:     (desktop:home/perso/jean/rep1/rep11#)
pwd
cd ~
pwd

A partir de la racine / remonter dans l'´ arborescence /var à /www).
Code:     (desktop: /#)
pwd
cd  ../..//var/www/
pwd         (ici pour controle).



   mkdir :   Créer un répertoire.
   rmdir ou rm :   Effacer un répertoire..
Selon le cas utiliser rmdir ou rm.
Si arborescence : -p avec mkdir ou remdir mais -R avec rm
Ces commandes ont un effet immédiat!!
ATTENTION rm -Rf utilisé avec * peut détruire définitivement votre système.
(Détails complets en tapant dans la console man mkdir ou man rmdir ou man rm)
La commande ls ou ls -R est rajoutée, au début et à la fin, pour controle.
  paramètres:
 mkdir [nom]
 mkdir -p [parents]
 mkdir -v (verbose)
 mkdir -pv

Pour supprimer :
 rmdir
 rmdir -p

 rm
 rm-f
 rm -R ou -r
 rm -Rf
 rm-i
CREER :
mkdir crée un répertoire correspondant à chacun des noms mentionnés.
Créer un répertoire. (ici /musique dans le répertoire courant )
puis effacer ce répertoire vide par rmdir.
Code:     (desktop:home/perso/jean#)
ls
mkdir musique
ls

Si le répertoire existe déja un message d´ erreur s´ affiche.
Code:     (desktop:home/perso/jean#)
ls 
mkdir  jazz
ls 

Créer plusieurs répertoires dans le répertoire courant.
Si le répertoire existe déja un message d´ erreur s´ affiche.
Code:     (desktop:home/perso/jean#)
ls
mkdir  jazz  musique
ls

Créer plusiers niveaux de répertoires.
Code:     (desktop:home/perso/jean#)
ls
mkdir  -p videos/familles/claude
ls -R

Créer plusiers niveaux de répertoires et visualiser les étapes.
-p crée les différents niveaux
-v utilisé dans beaucoup de commandes, pour visualiser.
Code:     (desktop:home/perso/jean#)
ls -R
mkdir  -pv videos/familles/claude
ls -R

EFFACER :
UNIQUEMENT pour supprimer un répertoire VIDE. ( /jazz )
Si le répertoire n´ est pas vide utiliser rm.
Code:     (desktop:home/perso/jean#)
ls         (ici pour controle).
rmdir jazz
ls         (ici pour controle).

UNIQUEMENT pour supprimer un répertoire VIDE. ( /music)
Si le répertoire n´ est pas vide un message d´ erreur s´ affiche.
Il ne sera pas effacé.
Code:     (desktop:home/perso/jean#)
ls         (ici pour controle).
rmdir music
ls         (ici pour controle).

UNIQUEMENT pour supprimer un répertoire VIDE. ( /videos )
Effacer les répertoires parents s’ils deviennent vides.
Code:     (desktop:home/perso/jean#)
ls         (ici pour controle).
rmdir -p videos/famille/claude
ls         (ici pour controle).
Equivaut à rmdir videos/famille/claude; rmdir videos/famille; rmdir claude



   rm :
  paramètres:
 rm
 rm-f
 rm -R ou -r
 rm -Rf
 rm-i
Effacer un répertoire, ses sous-répertoires, leurs fichiers.
Ici videos, famille, claude et leurs fichiers.
ATTENTION rm -Rf utilisé avec * peut détruire votre système!!
Code:     (desktop:home/perso/jean#)
rm -Rf videos
ls         (ici pour controle).

Supprimer (fichier) avec demande de confirmation.
Si le répertoire n´ est pas vide utiliser rm
Code:     (desktop:home/perso/jean#)
ls         (ici pour controle).
rm -i fic1_0.txt
ls         (ici pour controle).
rm demande à l´ utilisateur de confirmer l´effacement du fichier.



Accueil

SUITE page n°2
Dja   347 Visites  

Dernière modification : 12/12/17