Petit mémo sur la ligne de commande

Rédigé par Nicolas Sulek Aucun commentaire
Classé dans : Système Mots clés : Shell
Voici quelques commandes en ligne de commande qui peuvent s'avérer très utiles, voire indispensables.




cd


Fonction


Changement de répertoires.

Exemples



  • déplacement dans /home/toto avec le chemin absolu


cd /home/toto


  • déplacement dans tmp avec le chemin relatif


cd tmp


  • aller dans son répertoire utilisateur


cd ~






mkdir


Fonction


Création de répertoire

Exemples



  • créer le répertoire tmp dans le répertoire dans lequel on se positionne


mkdir tmp


  • créer le répertoire rep3, si rep1 et/ou rep2 n'existent pas, les crée aussi


mkdir -p /rep1/rep2/rep3





rmdir


Fonction


Supprime un répertoire vide

Exemple



  • effacer le répertoire rep1, si non vide, ne l'efface pas et affiche un message d'erreur


rmdir /rep1





rm


Fonction


Suppression de fichier (-r : récursif (utile pour supprimer des répertoires non vides), -f pas de confirmation de suppression)

Exemples



  • supprimer le répertoire tmp et tous ses sous-répertoires


rm -rf /tmp


  • supprimer tous les fichiers core en demandant confirmation pour chaque fichier


rm -i *.core





cat


Fonction


Affiche le contenu d'un fichier

Exemple



  • afficher le contenu de toto


cat toto





more, less


Fonction


Idem à cat mais avec une lecture page par page

Exemple



  • afficher le contenu de toto page par page, espace pour changer de page


more toto





zcat


Fonction


Affiche le contenu d'un fichier zippé

Exemple



  • afficher le contenu du fichier zippé


zcat texte.gz





grep


Fonction


Recherche d'expression régulière (-r recherche récursive, -i pour ne pas tenir compte de la casse)

Exemples



  • rechercher la chaine 10.237 dans les fichiers de /etc et ses sous-répertoires


grep -r 10.237 /etc


  1. rechercher 10.237 dans le fichier /etc/sysconfig/interfaces


grep 10.237 /etc/sysconfig/interfaces





sort


Fonction


Permet de trier

Exemple



  • trier le fichier toto en ordre inverse et met le résultat dans tototri


sort -r toto > tototri





man


Fonction


L'indispensable appel aux pages de manuel

Exemple



  • pour afficher la page de la commande man


man man





ls


Fonction


Liste le contenu d'un répertoire (-l affiche toutes les infos, -a affiche les fichiers cachés commençant par .)

Exemples



  • afficher les fichiers et répertoires du répertoire de l'utilisateur sous lequel est exécuté la commande


ls -l ~


  • idem précédemment mais afficher aussi les fichiers commençant par . : .profile, .bashrc, …


ls -al ~





mv


Fonction


Renomme ou déplace un fichier

Exemple



  • si tata n'existe pas, toto est renommé en tata, si tata existe, toto est déplacé dans tata


mv /toto /tata





cut


Fonction


Découpage de chaines de caractères (-c pour spécifier un intervalle de caractères, -f pour définir le champ que l'on veut récupérer, -d pour spécifier un délimiteur de champ)

Exemples



  • récupérer la chaine de caractères du fichier toto composée des caractères de 20 à 30


cut -c20-30 toto


  • récupérer le deuxième champ de toto, les champs étant délimités par un espace


cut -f2 -d " " toto





bzip2


Fonction


Pour (dé)compresser un fichier .bz2 (-d pour décompresser, -z pour compresser)

Exemples



  • décompresse le fichier toto.bz2 dans le répertoire courant


bzip2 -d toto.bz2


  • compresse le fichier toto en bz2


bzip2 -z toto





tar


Fonction


Pour (dé)compresser un fichier tar (c : création, v : verbeux, f : fichier, p : préservation des droits, x : extraction, z : pour zipper ou dézipper à la volée un .tar.gz, j : idem pour les .tar.bz2)

Exemples



  • créer une archive toto.tar à partir de /home/toto en conservant les droits


tar cvpf toto.tar /home/toto


  • idem précédemment avec compression gzip


tar cvpfz toto.tar.gz /home/toto


  • idem précédemment mais avec compression bz2


tar cvpfj toto.tar.bz2 /home/toto


  • extrait le fichier toto.tar pour récupérer son contenu


tar xvpf toto.tar


  • idem précédemment avec décompression gzip


tar xvpfz toto.tar.gz


  • idem précédemment avec décompression bz2


tar xvpfj toto.tar.bz2





su


Fonction


Changer d'utilisateur, sans paramètre, passage en root

Exemple



  • devenir l'utilisateur toto, si on est root, pas de demande de mot de passe, sinon mot de passe obligatoire


su toto





find


Fonction


Recherche de fichiers, avec expression régulière et exécution de commande sur le résultat

Exemples



  • rechercher dans le répertoire courant et ses sous-répertoires les fichiers qui se nomment rc.conf et les transmettre à chmod pour leur mettre l'attribut de lecture pour other


find . -name "rc.conf" -exec chmod o+r '{}' \;


  • afficher tous les fichiers et les répertoires du répertoire courant


find .





tail


Fonction


Affiche la dernière partie d'un fichier

Exemples



  • afficher les 10 dernières lignes de toto


tail toto


  • afficher les 100 dernières lignes de toto


tail -l 100


  • afficher les 5000 derniers caractères de toto


tail -c 5000


  • afficher la fin d'un fichier avec rafraichissement automatique


tail -f toto





head


Fonction


affiche le début d'un fichier

Exemples



  • afficher les 10 premières lignes de toto


head toto


  • afficher les 100 premières lignes de toto


head -l 100


  • afficher les 5000 premiers caractères de toto


head -c 5000





screen


Fonction


Permet de lancer des commandes et de se déconnecter sans terminer ces commandes

Exemples



  • lancer le terminal


screen


  • dans screen, détacher un terminal


Control A-control D


  • raccrocher un terminal détaché


screen -r





df


Fonction


Retourne la quantité d'espace disque du système de fichier.

Exemples



  • afficher l'espace total, disponible, occupé en blocs de 512o et donne le type de chaque partition


df -T


  • afficher l'espace total, disponible, occupé en lecture compréhensible par un humain


df -h


  • afficher l'espace total, disponible, occupé en Mo


df -m


  • afficher l'espace total, disponible, occupé en Ko de la partition /dev/hda1


df -k /dev/hda1





cfdisk


Fonction


Outil de partitionnement convivial

Exemple



  • lancer cfdisk sur le disque /dev/hdb


cfdisk /dev/hdb





fdisk


Fonction


Outil de partitionnement moins convivial

Exemple



  • lancer cfdisk sur le disque /dev/hda


fdisk /dev/hda

Commandes utiles :



  • pour créer une nouvelle partition (n)

  • pour supprimer une partition (d)

  • mode expert (x)

  • afficher la table des partitions (p)

  • afficher l'aide (m)

  • appliquer les modifications et écrire la table des partitions (w)

  • quitter sans sauvegarder (q)






nano


Fonction


Éditeur de texte (pas toujours installé de base)

Commandes utiles



  • quitter l'éditeur (Control-X)

  • sauvegarder (Control-O)

  • rechercher (Control-W)

  • rechercher et remplacer (Echap-R)

  • couper une ligne (Control-K)

  • coller (Control-U)






vi,vim


Fonction


Éditeur de texte (souvent installé de base)

Commandes utiles



  • quitter l'éditeur (:q)

  • quitter l'éditeur de force (:q!)

  • sauvegarder et quitter (:wq)

  • passer en mode insertion (Insert)

  • une 2ème fois passer en mode remplacement (Insert)

  • pour passer en mode navigation (Echap)






updatedb


Fonction


Met à jour la base de données des fichiers et répertoires présents sur le système.

Exemple



  • effectuer la mise à jour


updatedb





(s)locate


Fonction


Effectue une recherche en faisant des requêtes sur la base constituée par updatedb

Exemple



  • rechercher toto sur tout le système


locate toto





mkfs


Fonction


Formate une partition.

Exemples



  • formater /dev/hda1 en ext3


mkfs.ext3 /dev/hda1


  • formater /dev/hdb12 en reiserfs


mkfs.reiserfs /dev/hdb12





fsck


Fonction


Équivalent à Scandisk sous Windows, scanne et répare le système de fichier.

Exemples



  • scanner tous les systèmes de fichiers présents dans /etc/fstab


fsck -A


  • réparation automatique de /dev/hda1


fsck -a /dev/hda1


  • réparation interactive de /dev/hda1


fsck -r /dev/hda1





pwd


Fonction


Affiche le répertoire courant

Exemple



  • afficher le nom complet du répertoire en cours


pwd





whoami


Fonction


Retourne le nom d'utilisateur effectif

Exemple



  • afficher l'utilisateur en cours d'utilisation


whoami





who


Fonction


Affiche les utilisateurs connectés

Exemple



  • équivalent de whoami


who -m





passwd


Fonction


Change le mot de passe.

Exemples



  • changer le mot de passe de toto


passwd toto


  • changer le mot de passe de l'utilisateur courant


passwd





touch


Fonction


Change l'horodatage d'un fichier ou crée un fichier vide.

Exemples



  • crée le fichier vide toto


touch toto


  • mettre le fichier toto au 31 décembre à 8h00


touch -t 12310800 toto





basename


Fonction


Élimine le chemin d'accès et le suffixe d'un nom de fichier.

Exemple



  • retourner uniquement readme


basename /home/toto/readme.txt





(u)mount


Fonction


Monte et démonte une partition du système de fichier.

Exemples



  • monter la partition correspondant à /mnt/toto dans /etc/fstab


mount /mnt/toto


  • monter /dev/hda1 à l'endroit précisé dans /etc/fstab


mount /dev/hda1


  • monter /dev/hda1 dans /tmp


mount /dev/hda1 /tmp


  • monter /dev/hda1 en précisant son type vfat (fat32) dans /tmp


mount -t vfat /dev/hda1 /tmp


  • démonter la partition montée dans /mnt/toto


umount /mnt/toto


  • démonter /dev/hda1


umount /dev/hda1


  • monter une image iso dans /mnt/loop pour pouvoir en consulter le contenu


mount -o loop monfichier.iso /mnt/loop


  • remonter la partition de /usr en lecture/écriture


mount -o remount,rw /usr





chown


Fonction


Modifie le propriétaire et le groupe d'un fichier

Exemples



  • mettre root propriétaire du fichier toto


chown root toto


  • mettre root comme propriétaire de toto et de ses sous-répertoires et mettre le groupe admin propriétaire de toto et de ses sous-répertoires


chown -R root.admin /toto





chgrp


Fonction


Modifie le groupe d'un fichier.

Exemples



  • mettre le groupe admin comme propriétaire de toto


chgrp admin toto


  • mettre le groupe admin comme propriétaire de toto et de ses sous-répertoires.


chgrp -R admin toto





chmod


Fonction


Modifie les autorisations d'accès à un fichier.

Options



  • u = user (propriétaire)

  • g = group (groupe)

  • o = other (autre, le reste des utilisateurs)

  • a = all (tout le monde, donc u, g et o)



  • r : read (lecture)

  • w : write (écriture)

  • x : exécute (exécution/accès)



  • + : rajoute

  • - : enlève


Exemples



  • donner les droits de lecture, écriture et exécution sur le fichier toto


chmod u+rwx toto


  • enlever les droits d'écriture pour le groupe et les autres sur le fichier toto


chmod go-w toto


  • donner les droits d'écriture pour tout le monde sur /tmp et ses sous-répertoires


chmod -R a+w /tmp





tree


Fonction


Affiche un répertoire sous forme d’arborescence (pas installé par défaut).

Exemple



  • afficher toto sous forme d’arborescence


tree /toto





top


Fonction


Affiche les tâches en temps réel.

Commandes utiles



  • pour quitter (q)

  • trier par utilisation de mémoire décroissant (M)

  • trier par utilisation du processeur décroissant (P)






slay


Fonction


Tue tous les processus d'un utilisateur donné (pas installé par défaut).

Exemple



  • tuer tous les processus exécutés en tant qu'utilisateur toto


slay toto





kill


Fonction


Envoie un signal à un processus en fonction de son PID (numéro d'identification de processus).

Exemples



  • envoyer le signal TERM au processus 12345


kill 12345


  • envoyer le signal -9 au processus 12345 (signal nettement plus violent que TERM)


kill -9 12345





du


Fonction


Affiche les statistiques sur l'utilisation du disque.

Exemples



  • afficher le volume total de toto en Mo


du -sm toto


  • afficher le volume en Ko de chaque répertoire de toto


du -k toto





ps


Fonction


Retourne la liste des processus exécutés à un instant donné.

Exemples



  • afficher tous les processus avec le tty auquel ils sont rattachés


ps -a


  • afficher les processus appartenant à toto


ps -u toto


  • afficher les processus de l'utilisateur courant


ps -u


  • afficher tous les processus avec les noms de leur propriétaire et leur tty


ps aux





netstat


Fonction


Affiche les connexions réseaux, les tables de routage, les statistiques de des interfaces, …

Exemples



  • afficher tous les sockets qu'ils soient en écoute ou non


netstat -a


  • affiche les adresses IP et les numéros de ports en numérique au lieu de les résoudre.


netstat -n





lsof


Fonction


Liste les fichiers ouverts. Un fichier ouvert peut-être un fichier standard, un répertoire, un fichier de bloc, un fichier de caractère spécial, une bibliothèque, un flot de données, un fichier réseau, …

Exemples



  • retourner la liste des fichiers ouverts pour tout le systèmes


lsof


  • afficher la liste des fichiers ouverts de /toto


lsof /toto





fuser


Fonction


Affiche les processus utilisant un fichier ou un socket.

Exemple



  • afficher le numéro de processus utilisant ps


fuser /bin/ps





sed


Fonction


Éditeur de flux.

Exemples



  • changer la première occurrence de la chaîne toto par TOTO (la première chaîne toto rencontrée dans le texte uniquement)


sed "s/toto/TOTO/" fichier


  • changer la troisième occurrence de la chaîne toto par TOTO (la troisième chaîne toto rencontrée dans le texte uniquement)


sed s/"toto"/"TOTO"/3 fichier


  • changer toutes les occurrences de la chaîne toto par TOTO (toutes les chaînes toto rencontrées sont changées).


sed s/"toto"/"TOTO"/g fichier


  • insérer la balise au début de chaque ligne contenant tutu


more toto |sed /tutu/i\ "" > toto2


  • remplacer les balises <br /><br /> par <br /><hr /><br />


more toto | sed s/"\<br\/\>\<br\/\>"/"\<br\/\>\<hr\/\>\<br\/\>"/g > toto2





diff


Fonction


Permet de comparer deux fichiers.

Exemple



  • afficher les différences entre toto et toto2


diff toto toto2





uniq


Fonction


Élimine les lignes dupliquées dans un fichier.

Exemples



  • trier toto et envoyer le résultat sur uniq qui va afficher toto trié en ayant enlevé les doublons


sort toto |uniq


  • idem mais en indiquant le nombre de doublons pour chaque ligne


sort toto |uniq – c





|


Fonction


Tube permettant de rediriger le résultat de la commande exécutée à gauche du | en tant qu'entrée sur la commande à droite du |

Exemples



  • retourner le nombre de lignes affichées par ls -l


ls -l |wc -l


  • affiche toto qui est redirigé vers grep qui va extraire tata du texte et wc va compter le nombre d'occurrences


cat toto |grep tata|wc -l

` `


Fonction


Exécution de commande à l'intérieur d'une autre commande.

Exemples



  • exécuter date à l'intérieur de la commande echo


echo « Aujourd\'hui on est le `date`


  • ls -l ~ retourne la liste des fichiers de ~ qui sert de liste pour la boucle for. Chaque élément de la liste est affiché ensuite par cat.


for i in `ls -l ~`;do cat $i;done





$


Fonction


Permet de définir une variable.

Exemples



  • affecter 1 à $toto


$toto=1


  • affiche la valeur de toto


echo $toto





<, >, >>


Fonction


Permet de rediriger les entrées-sorties dans un fichier.

Exemples



  • rediriger le contenu de toto dans toto2 (avec écrasement du contenu de toto2), équivalent à une copie de fichier


cat toto > toto2


  • rediriger le contenu de toto dans toto2 (avec ajout à la fin du contenu de toto2)


cat toto >> toto2


  • envoyer le contenu de toto sur la commande cat qui va afficher le contenu de toto


cat < toto


  • rediriger le contenu de toto dans toto2 (avec écrasement du contenu de toto2), équivalent à une copie de fichier, et rediriger les erreurs de cette commande dans le fichier erreur


cat toto > toto2 2> erreur

qmv, un outil de renommage qu'il est bien

Rédigé par Nicolas Sulek Aucun commentaire
Classé dans : Logiciel Mots clés : Shell
Voici un petit outil permettant de renommer facilement une série de fichiers sans trop d'effort, qmv .

Dans Debian et Ubuntu, il se trouve dans le paquet renameutils en compagnie de deux autres programmes :

  • imv (interactive move) qui est simpliste mais qui peut être utile quand on a la flemme de taper le nom du fichier à renommer deux fois. Il permet en effet de renommer un fichier depuis un terminal en utilisant directement la bibliothèque GNU Readline.

  • deurlname (désurlisation du nom ? ) qui supprime des noms de fichier les caractères codés présents dans les URL comme %20 qui représente l'espace.



Mais celui qui nous intéresse est qmv (“quick move”) qui permet d'éditer directement les noms de fichiers dans un éditeur de texte !
Le nom de tous les fichiers d'un répertoire sont écrits dans un fichier texte que l'on peut éditer. Ensuite, le fichier est parcouru et les changements sont appliqués aux fichiers. Par défaut, il utilise l'éditeur de texte nano, mais on peut lui passer en paramètre n'importe quel éditeur.

qmv comporte pas mal d'options permettant de changer l'affichage des fichiers notamment, mais pour l'utiliser, un bête qmv dans le répertoire qui contient les fichiers à renommer suffit.
Il faut ensuite savoir utiliser son éditeur de texte préféré :-D