Commandes fondamentales

Introduction aux commandes

  • Documentation générale
    • En tout premier lieu consulter les HOWTO dans /usr/doc/HOWTO
      S'ils n'ont pas été installés, monter le CD, et installer le paquetage Mandrake/RPMS/howto-html ....rpm
    • Rechercher la doc sur les paquetages installés regoupée dans /usr/doc
    • Consulter le "Man" (= manuel) : en ligne de commande, man commande
  • La syntaxe générale :
    commande [options] paramètres
    En général, les options sont précédées du symbole - et peuvent être groupées (ex : rpm -ivh )
    Les paramètres précisent les fichiers concernés.

  • Historique des commandes :
    les touches flèches haut et bas permettent de parcourir les dernières commandes de l'utilisateur, stockées dans le rép. personnel dans le fichier /home/stagex/.bash_history

  • Rôle des alias
    • Grâce aux alias des commandes, l'utilisateur peut créer des noms de commandes, construites bien sûr par combinaison des commandes standard, et même renommer les commandes de base (ne pas en abuser !)
    • Exemples d'alias, destinés à simplifier la vie, comme ll à la place de ls -l), ou à mieux accueillir les nouveaux venus à Linux (qui ont encore la nostalgie du DOS) comme cd.. à la place de cd ..
    • Pour voir leur définition (Mandrake 6.x), éditer les scripts /etc/profile.d/alias.sh et /etc/bashrc
    • Pour en voir la liste, commande alias
    • Pour en ajouter en cours de session, par exemple : alias x="startx"
    • Voir le chapitre shell-bash, pour apprendre à ajouter des alias permanents.

Importance des options

[stagex@p0x ] cd     se placer dans son rép personnel
Comparer les effets de :
ls
ls -l liste avec les attributs des fichiers
ls -a liste complète, y compris les fichiers cachés, qui commencent par un point
ls -la
ls -R liste "récursive" des contenus des sous-rép.
ls --help pour tout savoir !

Parcours et gestion des répertoires

Voir dans le chapitre sur les systèmes de fichiers
A noter que la commande mkdir permet de créer plusieurs niveaux de répertoires :
mkdir -p docs/notes crée docs s'il n'existe pas, et le sous-rép. notes

Créer et consulter des fichiers textes

  • touch fich1 fich2 crée les 2 fichiers vides
  • On peut lire, créer ou modifier des fichiers de textes (par ex. des scripts, des fichiers de configuration) avec vi, l'éditeur apparemment rustique mais irremplaçable, qui reste le préféré de beaucoup d'administrateurs Unix.
  • Pour seulement consulter un fichier texte, le plus simple consiste à utiliser les commandes cat (texte court) ou less (texte long)
    Par exemple, examiner le fichier d'initialisation par less /etc/inittab
  • En mode graphique, sous X-KDE (lancer startx), l'éditeur kedit est automatiquement appelé quand on ouvre un fichier texte dans l'explorateur kfm
  • On peut saisir directement un fichier texte à la console avec cat et l'opérateur de redirection >.
    Pour finir la saisie taper Ctrl-d.

Saisie directe à la console.
Il s'agit de créer quelques lignes de texte saisies et sauvegardées dans le fichier essai.txtdu rép. personnel.
cd         pour aller dans son rép. personnel
touch essai.txt pour créer ce fichier vide
cat essai.txt pour vérifier
cat > essai.txt cat créerait le fichier s'il n'existait pas !
Je suis heureux d'apprendre
à travailler avec LINUX
Ctrl-d pour terminer et enregistrer
cat >> essai.txt pour ajouter du texte à la suite
enfant libre et gratuit d'Internet.
Ctrl-d
cat essai.txt pour afficher

Connaitre les utilisateurs

La commande fondamentale est id qui donne (par défaut d'options)
l'uid (N° identifiant), le gid (N° de son groupe primaire), et la liste de tous ses groupes.
  • exemple
    [stage1@p01 ]id
    uid=501(stage1) gid=501(stage1) groups=501(stage1), 504(stagiaire)
  • id toto renseigne sur toto
  • id -u donne l'uid
  • id -gn donne le nom de login

Recherche de fichiers

  • whereis commande pour rechercher les fichiers exécutables, les fichiers de configuration, les sources et les pages de manuel de commande.
    La recherche s'effectue dans /bin, /usr/bin, /etc ...
    Les options -b, -m limitent à la recherche des fichiers exécutables, des pages de manuel.

  • find rep -name expression permet de rechercher les fichiers dans le rép (ou à défaut dans le rép. courant) avec une expression pour sélectionner.


Exemples
whereis w
---> w: /usr/bin/w /usr/man/man1/w.1
whereis ftp
whereis -b ftp


find -name smb* recherche d'un fichier de configuration
find /usr -name pine localiser une application
find / -name grasp*


Gestion des fichiers

Les principales commandes sont :
  • cp (copy, copier fichiers et répertoires)
    On distingue 2 usages :
    • cp [option] source destination
      copie d'un seul fichier, en précisant le chemin et le nom du fichier destination

    • cp [option] ens-fichiers-source répertoire
      copie l'ensemble des fichiers dans le rép. spécifié, en gardant les noms

    • Principales options :
      -R , recopie récursive, permet de copier toute une arborescence
      -i avertit l'utilisateur de l'existence d'un fichier du même nom et lui demande s'il veut le remplacer.
      -p effectue une copie en gardant le propriétaire et le groupe d'origine.
      -v affiche en clair le nom des fichiers copiés.

    • Exemples
      cp -R /home /root/tmp, crée une copie dans /root/tmp/home
      Dans la doc (man cp), on recommande d'utiliser -R et non -r

  • rm (remove, supprimer des fichiers)
    • rm [option] fichiers
    • Attention, cette commande est très dangereuse. Les suppressions sont définitives, il n'y a de . Eviter de l'utiliser en tant que root !
    • L'option -i a été ajoutée d'office dans un alias pour demander confirmation à l'utilisateur, pour chaque fichier.
    • Options
      -r permet de supprimer un répertoire et ses sous répertoires (attention TRÈS dangereux)
      -f (force) permet de supprimer les fichiers protégés en écriture sans demande de confirmation. Cela permet d'inhiber l'option -i et de gagner du temps .. sauf dégats !
    • Exemples
      rm -r /home/toto/tmp, demande à l'utilisateur la permission de supprimer les fichiers un par un, et ne supprime pas le rep. s'il n'est pas vide.
      rm -rf /home/toto/tmp, détruit sans préavis l'arborescence (si on en a le droit !)

  • mv (move, renommer ou déplacer)
    • mv [option] source destination
      renomme simplement le fichier source, ce qui est un déplacement de nom ...
      exemple : mv toto titi

    • mv [option] fichiers répertoire
      déplace les fichiers sources dans le répertoire, en gardant les noms.
      exemple : mv /home/jean/images/*.jpg /tmp/

    • Principales options :
      -b (b=backup) effectue une sauvegarde des fichiers avant de les déplacer. La copie porte le même nom suivi d'un tilde.
      -i (i=interactive) demande confimation avant pour chaque fichier.
      -u (u=update) pour ne pas supprimer le fichier si sa date de modification est postérieure à celle du fichier remplaçant.

Gestion des processus

  • La commande ps permet de connaître les processus actifs à un moment donné, associés à un terminal et lancés par l'utilisateur courant.
  • Pour obtenir tous les processus, y compris ceux lancés par le système et connaître l'utilisateur associé à chacun on ajoute l'option aux.
  • kill num-pid, pour faire terminer un programme, kill -9 num-pid pour le "tuer", s'il ne répond plus (le programme, pas le système ;-)
  • Description des colonnes de la commande ps aux.
    • "USER" à quel utilisateur appartient le processus.
    • "PID" est le numéro qui identifie le processus
    • "%CPU" en % les ressources du microprocesseur utilisées par le processus.
    • "%MEM" en % les ressources en mémoire vive utilisées par le processus.
    • "RSS" mémoire réellement utilisée en ko par le processus.
    • "START" l'heure à laquelle le processus a été lancé.


Commandes de filtre

sort tri
more, less pagination
grep recherche d'une ligne dans un fichier texte
cut effectue la projection d'un fichier selon une colonne
tr effectue des remplacements de caractères
sed effectue des modifications sur les ligne du fichier

Voir le chapitre Introduction aux filtres


Divers

  • write user [tty] permet d'envoyer un message à user sur la console tty , bien sûr s'il est actuellement connecté, et si l'on est autorisé ( pour cela : mesg y).
  • wall envoie immédiatement un message sur les terminaux de tous les utilisateurs connectés (à condition que mesg soit positionné à yes; pour cela : mesg y)
  • sdiff permet de comparer 2 fichiers et de détecter leurs différences.