Commandes de base et syntaxe

Dangereuses ?

Utiles, mais peuvent être dangereuses. Utiles avec des live CD qui ne donnent pas toujours le contrôle absolu sur les disques montés en espace utilisateur root (de la session live). Utiles car en ce cas, il n'y a pas de gksudo nautilus pour prendre la main en mode graphique, et en mode root sur les partitions montées.

La mode du tout graphique

C'est une facilité pour le novice de se laisser aller tenter de tout faire en mode graphique, mais c'est souvent difficile. On en perd l'usage de la ligne de commande, y compris de la plus simple.

Dans les rares cas où l'on va devoir l 'utiliser, ce sera la galère. Il est donc préférable de se familiariser avec elle lorsqu'il n'y a pas urgence, et aussi lorsqu'on a un système de test, qui supportera nos éventuelles erreurs sans dommage.

Dépannage

  • Même en cas de dépannage par un live CD, il arrive que l' on n' ait pas accès au mode administrateur…
  • Cela signifie qu'il sera impossible de copier un répertoire contenant des fichiers système, ou des fichiers appartenant seulement à root…
  • Idem pour leur déplacement, copie, suppression ….

Rigueur extrême

La ligne de commande ne supporte pas l' approximation, la faute d'orthographe, le caractère vide ( blanc ) en trop ou manquant.

Les tutos ?

Les tutos sont sans cesse les mêmes et sont

  • ou bien trop simples ( et ne répondent pas à tous les cas de figure)
  • ou bien trop complexes et pas assez détaillés pour lé débutant.

Il faut aussi se familiariser avec la syntaxe des pages de manuel que l'on obtient en entrant:man, ou le <nom de la commande> suivi d'un espace de <deux moins><help> exemple

   fdisk --help

UBCD Parted

Bien que ce live CD de dépannage soit essentiellement un outil en mode graphique, il se complète parfaitement avec quelques lignes de commande.

Outils

RoxFiler = explorateur de fichiers.

Take a screenshot : si vous avez une clé usb connectée et montée, vous exporterez vos copies d'écran sur celle-ci afin de les conserver.

Mount-GTK : utilitaire graphique de montage de partitions.

Prend en charge tout support USB disque externe, etc..

Des commandes utiles

Commande rm

Attention, elle supprime définitivement le fichier ou répertoire !!

Supprimer une image clonezilla

L'image s'appelle “2012-05-02-13-img”.On veut supprimer ce qu'elle contient d'où le /

Il faut être admin = sudo , rm = remove = enlever en fr.

-r commande récursive ( ce que le répertoire ou l' image contient)

    sudo rm -r 2012-05-02-13-img/

Le plus délicat sera de se déplacer dans le répertoire pour y supprimer le fichier ou le dossier. C'est assez long,mais on ne risque pas de détuire d'autres données.

commandes_de_base

Attention au web

erreurs dans ce tuto

Exercice suite

Supprimer des sauvegardes sur un répertoire externe

Il faudra se déplacer dans le répertoire puis entrer la commande suivante ..sans le $ !!

   $ sudo rm -r 2012-05-02-13-img/

Prérequis: il faut connaitre le chemin ! Nous savons que l 'image a été sauvegardée dans une partition ext !

    $ sudo fdisk -l

Voici le seul détail du second disque externe (sdb)

Périphérique Amorce Début Fin Blocs Id Système /dev/sdb1 * 1 62503 502055316 7 HPFS/NTFS /dev/sdb2 62504 121601 474704685 5 Etendue /dev/sdb5 62504 74323 94944118+ 7 HPFS/NTFS /dev/sdb6 74324 121601 379760503+ 83 Linux

C'est sdb6! facile, c'est la seule partition au format linux…

Le bon chemin

pas dev !

    $ cd /dev/sdb6

ERREUR bash: cd: /dev/sdb6: N'est pas un dossier

C'est normal, les partitions sont montées, mais pas accessibles ici, elles sont dans media !

Il n'y a sinon pas d'erreur de syntaxe, puisque nous sommes dans le home de root ( rappel = liveCD), et que nous souhaitons nous déplacer dans un répertoire distant. ( chemin absolu)

cp chemin absolu ou relatif ?

console_ligne_de_commande#cd

Dans un chemin les noms des répertoires et des fichiers sont séparés par un “/”. Il existe deux types de chemin : absolu et relatif.

Le chemin absolu se base sur la racine de l'arborescence et commence par “/” : ex : /home/utilisateur/<dossier>/<fichier>.

Le chemin relatif dépend du répertoire courant où se trouve l'utilisateur.

Pour se déplacer dans un dossier de l'emplacement courant (par défaut home/utilisateur) vous emploierez cd suivi du nom du dossier :

    cd <dossier> 

Il faut un espace, mais pas de slash …

dir

  $ dir

liste le contenu du répertoire courant

1024\ x\ 768\ IBM\ EMEA\ Map.bmp Images bookmarks.html JClic

inutile –> remonter dans l'arborescence

cd ..

CD nous fait remonter d'un seul niveau …Elle permet de voir où on en est, mais il y a plus rapide: La commande cd seule qui remonte à la racine directement.

  • r51@r51-v-laptop:~$ cd ..
  • r51@r51-v-laptop:/home$ cd ..
  • r51@r51-v-laptop:/$ dir

Voici la racine de linux et les dossiers qui s'y trouvent:

bin    dev   initrd.img      lost+found  opt   sbin	sys  var
boot   etc   initrd.img.old  media	 proc  selinux	tmp  vmlinuz
cdrom  home  lib	     mnt	 root  srv	usr  vmlinuz.old

Nous voyons le dossier media, et nous y rendons.

   r51@r51-v-laptop:/$ cd/media

Mais la console (langage bash) nous retourne “bêtement” ( non !)

   bash: cd/media: Aucun fichier ou dossier de ce type

C'est normal ! C'est une mauvaise commande. Taper “cd media” suffit (voir ci-dessus les explications sur le chemin relatif).

 r51@r51-v-laptop:/$ cd media

Explorons le dossier media avec la commande ls

 r51@r51-v-laptop:/media$ ls
500-Nt1       D25       freebox      sda4  Tra_EXT4_360_G
500_Nt_Log_2  DISQUE-C  IBM_SERVICE  sda5  Ubuntu 10.04.2 LTS i386
500NtLog3     DISQUE-D  sam          sda8
cdrom         ED        sam-data     sdb1
cdrom0        floppy    sda1         sdb6
D20           floppy0   sda2         tel

Pas mnt !!

media contient les montages de partitions et le lien en dur vers celles-ci, on pourra donc se déplacer au sein de ces répertoires.

Rappel : c'est impossible dans mnt qui ne contient pas physiquement les partitions…

  • r51@r51-v-laptop:/media$ cd sdb6
  • r51@r51-v-laptop:/media/sdb6$ dir
  • r51@r51-v-laptop:/media/sdb6$ ls -l
  • total 0
  • r51@r51-v-laptop:/media/sdb6$ cd ..
  • r51@r51-v-laptop:/media$ ls-l

ls -l

Donne des infos que les fichiers, si pas de fichiers présents, elle retourne une erreur.

ls-l : commande introuvable =pas de fichiers ici, il n'y a que des répertoires.

Repérer le disque ,s'y déplacer...

  • r51@r51-v-laptop:/media$ cd Tra_EXT4_360_G
  • r51@r51-v-laptop:/media/Tra_EXT4_360_G$ ls

La commande ls liste le contenu du répertoire. On voit le répertoire UB_IMAGE que l'on veut supprimer ainsi que d'autres dossiers ou fichiers.

isi_104-3-Home_2.6_Go s-tib.tib isi-104-3_Ub_IMAGE

Nous sommes ici r51@r51-v-laptop:/media/Tra_EXT4_360_G

On se déplace dans l'image repérée en gras ci-dessus ( pour les besoins de l' édition de cet article), donc commande cd (sans /) et le nom du répertoire.

   $ cd isi-104-3_Ub_IMAGE

r51@r51-v-laptop:/media/Tra_EXT4_360_G/isi-104-3_Ub_IMAGE$

On y est ! ls pour lister les fichiers ou dossiers dans ce répertoire

2012-05-02-13-img 2012-05-02-20-img 2012-05-04-14-img

Passer root pour la suite.

rm options

rm(remove) deux options

-f : Ne demande pas de confirmation avant d'effacer

-r : Efface récursivement les fichiers ainsi que les répertoires

Quelle commande est appropriée, rm ?

  $ sudo rm 2012-05-02-13-img

impossible de supprimer «2012-05-02-13-img»: est un dossier

alors rmdir ?

  $ sudo rmdir 2012-05-02-13-img

non plus !!

rmdir: échec de suppression de «2012-05-02-13-img»: Le dossier n'est pas vide

aller dans le dossier et en voir le contenu avec ls, puis le supprimer ….

  $ cd 2012-05-02-13-img

Info: voici les fichiers crées par clonezilla dans l' image de sauvegarde d'une partition Ubuntu. Notez la sauvegarde du mbr, de la table des partitions (pt.parted), etc, ce sont de petits fichiers, l'image principale est sda3.ext4-ptcl-img.gz.aa. Elle est compressée (gz).

$ ls
Info-dmi.txt       parts                      sda-mbr
Info-lshw.txt      sda3.ext4-ptcl-img.gz.aa   sda-pt.parted
Info-lspci.txt     sda-chs.sf                 sda-pt.sf
Info-packages.txt  sda-hidden-data-after-mbr

$ cd .. permettra de remonter d'un cran, puis de supprimer l'ensemble du conteneur: le dossier 2012-05-02-13-img .

Le slash et les dossiers

Où le mettre ?

Si dans un chemin absolu, le slash est essentiel, une fois dans le répertoire de travail (ne pas confondre avec le rép courant), il devient inutile avant le nom de répertoire (comme devant un nom de fichier).

Mais il est obligatoire qu'il soit mis après !! Cela signifie que ce qui se trouve dans le conteneur sera détruit si l'on a entré rm.

commandes erronées

  $ sudo rm-rf /2012-05-02-13-img

sudo: rm-rf: command not found pourquoi =absence de l'espace entre rm et rf !!

  $ sudo rm -rf /2012-05-02-13-img

Pas de message ?? Oui, le commutateur f l'imposait….il est prudent de ne pas mettre ce commutateur f.

Vérifier que ce dossier a disparu…

$ ls   **2012-05-02-13-img**  2012-05-02-20-img  2012-05-04-14-img 

Non, il est toujours là !

sans commutateur f

$ rm -r 2012-05-02-13-img

Sans le f , un message apparaît : rm : descendre dans un répertoire protégé en écriture «2012-05-02-13-img» ?

Normal, seul root a le droit de supprimer des fichiers et dossiers, j'ai oublié sudo !!!

   sudo rm -r 2012-05-02-13-img

Toujours pas supprimé !! Pourquoi diable ?!! Il manque quelque chose …

Dossier/

Il faut le slash derrière le nom du dossier à supprimer /

Retentons

  $ sudo rm -r 2012-05-02-13-img/
  $ ls
  

2012-05-02-20-img 2012-05-04-14-img OK

Le dossier a disparu.Vérification supplémentaire: constater que le dossier a disparu en s'y déplaçant…

  $ cd 2012-05-02-13-img

bash: cd: 2012-05-02-13-img: Aucun fichier ou dossier de ce type OK

Vérifier en mode graphique….OK . Attention, pas de demande de confirmation avec f !!!

cp

Conseils de “Linux france” !!

Par défaut, cp ne copie pas les répertoires (voir l'option -r ou -R !!!).

man1/cp-1

option r

r Copier récursivement les répertoires, les sous-répertoires, et les fichiers réguliers qu'ils cont­iennent.

Les fichiers spéciaux et les FIFOs sont considérés comme des fichiers normaux, desquels on essayera de lire des données pour les écrire dans le fichier destination.

Ainsi `cp' risque de blo­quer indéfiniment durant la lecture d'une FIFO ou d'un fichier spécial /dev/tty. Il faut considérer ceci comme un bug.

bannir -r !!!

Cela signifie qu'il faut éviter l'option -r, et la remplacer par -R.

N'oublions pas que l'ouverture d'un fichier spécial inconnu, par exemple un scanner peut avoir des effets indésirables sur le matériel.

option -R

-R Copier récursivement les répertoires, et gérer cor­rectement les copies des fichiers spéciaux ou des FIFOs.

La commande cp

doc.ubuntu

cp

  • Équivalent MS-DOS/MS Windows : copy
  • Signification : copy
  • Permet de copier des fichiers ou des répertoires

Options les plus fréquentes :

  • -a : Archive. Copie en gardant les droits, dates, propriétaires, groupes, etc.
  • -i : Demande une confirmation avant d'écraser
  • -f : Si le fichier de destination existe et ne peut être ouvert alors le détruire et essayer à nouveau
  • -r : Copie un répertoire et tout son contenu
  • -u : Ne copie que les fichiers plus récents ou qui n'existent pas
  • -v : permet de suivre les copies réalisées en temps réel

Exemples d'utilisation

  cp monFichier sousrep/

Copie monFichier dans sousrep

   cp -r monRep/ ailleurs/

Copie le répertoire monRep vers ailleurs en créant le répertoire s'il n'existe pas.

Le slash est juste après le nom de répertoire …

commandes_et_parametres_ubuntu.fr

  cp <fichier_source> <fichier_cible>

Les éléments désignés entre les caractères “<” et “>” doivent être adaptés pour votre usage. Pour ce qui est du signe « $ », voir les notes.

Ainsi, la commande copiera le fichier source (premier paramètre) vers le fichier cible (deuxième paramètre).

Ce principe s'applique à la plupart des commandes.

Copie répertoire

commandes_de_base_et_syntaxe.txt · Dernière modification: 2012/05/21 09:28 (modification externe)
GNU Free Documentation License 1.3
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5