Site Tools


commandes_de_base_et_syntaxe


commandes_de_base_et_syntaxe [2023/05/19 09:10] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== 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.
 +
 +[[http://doc.ubuntu-fr.org/tutoriel/console_commandes_de_base?s[]=processus#rm|commandes_de_base]]
 +
 +=====Attention au web =====
 +
 +==== erreurs dans ce tuto ====
 +
 +[[http://moralles.free.fr/spip.php?article298|moralles.free]]
 +
 +===== 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                   62503   502055316    7  HPFS/NTFS
 +/dev/sdb2           62504      121601   474704685    5  Etendue
 +/dev/sdb5           62504       74323    94944118+    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 ? ====
 +[[http://doc.ubuntu-fr.org/tutoriel/console_ligne_de_commande#cd|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:
 +
 +<file>
 +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
 +</file>
 +
 +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
 +
 +<file>
 +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
 +
 +</file>
 +
 +==== 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).
 +
 +<file>
 +$ 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
 +
 +</file>
 +
 +$ 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" !!
 +
 +<note importante>Par défaut, cp ne copie pas les répertoires (voir l'option -r ou -R !!!).</note>
 +
 +[[http://www.linux-france.org/article/man-fr/man1/cp-1.html|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 =====
 +
 +[[http://doc.ubuntu-fr.org/tutoriel/console_commandes_de_base#cp|console_commandes_de_base#cp_ubuntu.fr]]
 +
 +===== 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
 +
 +<note tuyau> Depuis un liveCD, copier un répertoire sans erreur ! </note>
 +   * Elle doit se faire en root. 
 +
 +   * Ne pas placer sudo devant la commande, mais exécuter sudo -i
 +
 +   * On se retrouve dans le répertoire de root, se déplacer dans le dossier qui contient le répertoire à copier, puis lancer la commande:
 +
 +<code> cp -R -a -v <nom_du_rep>/ /chemin_de_destination </code>
 +===== 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.
 +
 +<note importante> Le slash est juste après le nom de répertoire ...</note>
 +
 +[[http://doc.ubuntu-fr.org/console#commandes_et_parametres|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 ======
 +===== Exemple =====
 +
 +     cp -R rep/ /media/sdc6/rep/
 +
 +  * Le rep de la fin de ligne est un répertoire qui a été créé auparavant.
 +  * La place des / est déterminante.
 +  * L'espace entre rep/ et /media aussi !
 +
 +<note>Selon les cas, il faudra ajouter sudo devant la ligne de commande !</note>
 +
 +
 +{{tag>linux averti commandes de base et syntaxe}}