Bash - les commandes

De UnixManiax
Aller à la navigation Aller à la recherche


Le shell bash

Le bash (Bourne again shell) est un interpréteur de commandes (shell) pour linux. Il en existe d'autres (ksh, csh...), mais bash est utilisé par défaut sur la plupart des distributions. Pour la petite histoire, bash est compatible avec le Bourne shell (développé par Steve Bourne pour les Unix) et incorpore des fonctionnalités intéressantes de ksh et csh. La page officielle est ici : http://www.gnu.org/software/bash/bash.html.

Ci-dessous, les principales commandes de bash.

cal

  • description : (calendar) affiche le calendrier et l'année et/ou du mois désiré (mois en cours par défaut)
  • options :
    • cal année : affiche le calendrier de l'année année
    • cal mois année : affiche le calendrier du mois mois de l'année année
  • exemples :
cal
cal 1976
cal 4 1976

cat

  • description : cat a deux fonctions. Il peut afficher le contenu d'un fichier ou alors concaténer (ajouter) le contenu de plusieurs fichiers.
  • exemples :
cat a.txt ==> affiche le contenu de a.txt
cat a.txt b.txt ==> affiche le contenu de a.txt puis celui de b.txt
cat a.txt b.txt > c.txt ==> prend le contenu de a.txt, ajoute celui de b.txt et met le tout dans c.txt

cd

  • description : (change directory) se place dans le répertoire indiqué
  • options : cd .. se place dans le répertoire parent

clear

  • description : efface l'écran

cp

  • description : (copy) copie un ou plusieurs fichiers ou répertoires sources vers un répertoire de destination
  • syntaxe : cp source destination
  • exemples :
cp /mnt/cdrom/*.jpg /home/fred ==> copie tous les fichiers jpg du répertoire /mnt/cdrom dans le répertoire /home/fred

date

  • description : affiche ou configure la date système
  • options :
    • date : affiche la date et l'heure
    • date -u : affiche la date et l'heure universelles (méridien de Greenwich)
    • date -s : (set) configure la date système
  • exemples :
date -s 12:15:30 ==> passe l'heure système à 12h 15min 30sec
date -s 20010921 ==> passe la date système au 21 septembre 2001

df

  • description : (disk free) affiche l'espace disque utilisé et restant sur toutes les partitions montées ou sur la partition passée en argument
  • options :
    • df -h : affiche les tailles en ko, Mo ou Go pour plus de clarté
    • df -T : affiche le type de système de fichier des partitions
  • exemples :
df -h -T
df - /dev/hda1

dir

  • description : (directory) identique à 'ls'. C'est souvent un alias vers 'ls'.

echo

  • description : affiche la ligne de texte passée en paramètre
  • syntaxe : echo "chaîne"
  • options : echo -n chaîne : n'ajoute pas de retour à la ligne automatique à la fin

exit

  • description : quitte la session/console en cours

file

  • description : donne le type du fichier passé en paramètre
  • syntaxe : file nom_fichier
  • exemples :
file readme.txt
file /etc/fstab

free

  • description : affiche des infos sur la RAM totale et dispo
  • options : free -s n : rafraîchit l'écran toutes les n secondes

init

  • description : modifie le runlevel courant. Voir 'runlevel'
  • exemples : init 4

kill

  • description : tue le processus dont le numéro est donné en paramètre. On trouve le numéro de processus (PID : Process IDentifier) grâce à la commande 'ps'
  • syntaxe : kill num_process
  • options : kill -9 : ne vérifie pas l'existance de processus fils ou de fichiers ouvert. C'est une méthode plus "brutale" à utiliser quand kill ne suffit pas

locate / updatedb

  • description : permet une recherche rapide de fichiers. Plutôt que de rechercher partout dans l'arborescence, ce qui prend beaucoup de temps, locate va rechercher ses infos dans sa base de données. La réponse est donc quasi-immédiate. Attention : si vous venez de créer ou supprimer des fichiers, il faut mettre à jour la base de données avec la commande updatedb qui, elle, prend un peu de temps, puisqu'elle relit toute l'arborescence.

ls

  • description : (list) affiche le contenu du répertoire indiqué (le répertoire courant par défaut)
  • options :
    • ls -1 : affiche un fichier par ligne
    • ls -a : affiche en plus les fichiers cachés
    • ls -l : affiche plus d'informations
  • exemples :
ls *.tmp
ls /home/fred
ls /home/fred/*.tmp

man

  • description : (manual) affiche l'aide concernant une commande. Cette aide est souvent très complète et indique toutes les * options de la commande
  • exemples :
man echo

mkdir

  • description : (make directory) créé un répertoire
  • exemples :
mkdir rep
mkdir /home/fred/rep

more

  • description : affiche un fichier page par page avec des pauses entre chaque page, dans le cas d'un fichier dont le résultat ne tient pas sur une seule page. Fait de même avec le résultat d'une commande, s'il est combiné avec un |.
  • syntaxe : commande | more
  • exemples :
more /home/fred/fichier.txt
cat /home/fred/fichier.txt | more
ls | more

mv

  • description : (move) renome ou déplace un fichier
  • syntaxe : mv ancien-nom nouveau-nom
  • exemples :
mv old_name.txt new_name.txt
mv /home/fred/old.txt /home/fred/repertoire/new.txt

passwd

  • description : (password) change le mot de passe de l'utilisateur spécifié (utilisateur courant par défaut)
  • exemples :
passwd ==> change le mot de passe de l'utilisateur courant
passwd fred ==> change le mot de passe de fred nécessite les droits suffisants.

ps

  • description : affiche l'état des processus en cours dans la session. Indique le numéro des processus (PID : Processus IDentifier)
  • options :
    • ps -e : affiche tous les processus en cours sur la machine
    • ps -aux : rajoute des infos sur l'utilisation mémoire et processeur de chaque processus
    • ps -u : n'affiche que les infos concernant l'utilisateur spécifié (utilisateur courant par défaut)
  • exemples :
ps -aux
ps -u
ps -u fred

pstree

  • description : comme 'ps' mais affiche les processus sous forme d'arbre

pwd

  • description : (print working directory) affiche le répertoire courant

rm

  • description : (remove) supprime les fichiers ou les répertoires passés en paramètre
  • options :
    • rm -f : (force) ignore les fichiers non existants, ne pose aucune question
    • rm -r : (recursive) efface tous les sous-répertoires. A utiliser de préférence avec -f
    • rm -i : (interactive) demande confirmation à chaque suppression

rmdir

  • description : (remove directory) supprime le répertoire passé en paramètre. Attention toutefois, cette commande ne permet pas d'effacer un répertoire non vide ; il faut alors utiliser 'rm -r'
  • syntaxe : rmdir nom_repertoire
  • exemples :
rmdir /home/fred/repertoire

runlevel

  • description : Affiche le runlevel courant et le précédant. Le runlevel est le niveau d'exécution de Linux, il dépend de la distribution. Par exemple, sur la Mandrake le runlevel 4 correspond à un fonctionnement multi-utilisateurs en mode texte, le runlevel 5 : idem en mode graphique, le runlevel 6 à un reboot de la machine... Si vous ne savez pas ce que vous faites évitez de modifier le runlevel. Si vous souhaitez le changer il faut utiliser la commande 'init'

set

  • description : affiche les variables système concernant l'utilisateur
  • exemples :
set ==> affiche toutes les variables
set | grep PATH ==> affiche uniquement la ligne indiquant le PATH - attention à la casse (maj/min)

top

  • description : affiche des infos sur l'utilisation mémoire et processeur de la machine
  • options :
    • top -s sec : rafraichit l'écran toutes les sec secondes (5 secondes par défaut)
    • top -d nb : répète nb fois le top avant de quitter la procédure
  • exemples :
top
top -s 2 ==> rafraîchit toutes les 2 secondes
top -s 1 -d 5 ==> rafraîchit toutes les secondes et quitte au bout de 5 fois

whatis

  • description : affiche une aide très sommaire sur une commande
  • exemples :
whatis mkdir

whereis

  • description : recherche les fichiers exécutables, les sources et les pages de manuel d'une commande
  • exemples :
whereis firefox