IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Le Shell > Les commandes de bases
        Comment exécuter un programme ?
        Comment lister les variables d'environnement ?
        Comment écrire un script shell simple ?
        Comment ajouter des alias ?
        Comment modifier un fichier en mode console ?
        Comment rajouter la coloration syntaxique dans vim ?
        Comment ouvrir une autre console ?
        Connaître le type d'un fichier
        Comment afficher/concaténer des fichiers ?
        Comment connaître le temps d'exécution d'une commande ?
        Quels raccourcis bash pour gérer mes commandes?
        Qui est connecté à cette machine?
        Comment envoyer un message à toutes les personnes connectés?
        Comment enlever les Bips-Bips des consoles?
        Quels sont les raccourcis claviers intéressants en ligne de commande ?
        Comment faire des opérations arithmétiques en shell?

rechercher
precedent    sommaire    suivant    telecharger


Comment exécuter un programme ?
auteur : nyal
Pour exécuter un programme, il faut dans un premier temps que celui-ci possède le format adéquat (elf) et puisse être exécuté sur son architecture (i386, mips, sparc, etc). Vous pouvez vérifier cela avec la commande file :
$ file nom_du_programme
Ensuite il faut que le fichier possède les droits en exécution pour vous.
$ chmod +x programme
Il ne vous reste plus qu'à l'exécuter en spécifiant le chemin absolu du fichier :
$ /usr/local/bin/xmms
Cela est assez fastidieux. Pour résoudre ce problème, il suffit de rajouter dans la variable PATH de votre shell le chemin de l'exécutable. Pour le shell sh/Bash :
$ export PATH="${PATH}:/usr/local/bin"
Pour les shells csh, tcsh :
$ setenv PATH "${PATH}:/usr/local/bin"

Comment lister les variables d'environnement ?
auteur : armatatuxa
Sans option, la commande export affiche la liste des variables d'environnement -- tandis que, toujours sans option, la commande set, et en moins exhaustive mais fonctionnant avec tous les shells la commande env, affichent la liste des variables locales :
$ export
(...)
declare -x HOME="/u/moi"
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin"
declare -x LOGNAME="moi"
declare -x SHELL="/bin/bash"
declare -x MAIL="/mail/moi/inbox"
declare -x USER="moi"
declare -x HOSTNAME="moi.exemple"
(...)
$ set  # ou env
(...)
HOME=/u/moi
HOSTNAME=moi.exemple
HOSTTYPE=i686
IFS=$' \t\n'
INPUTRC=/etc/inputrc
LD_LIBRARY_PATH=/usr/local/lib
MAIL=/mail/moi/inbox
(...)

Comment écrire un script shell simple ?
auteur : Francois Trazzi
Ouvrez votre éditeur de texte et tapez les différentes commandes que le script exécutera :
#!/bin/sh
echo "lancement d'un script simple.."
# on lance mozilla
mozilla&
La ligne #!/bin/sh (ou shebang line) est une convention. Cela signifie que l'interpréteur de commande sera le Bourne Shell (sh). Si rien n'est précisé il prendra le shell par défaut de l'utilisateur.
Attention à pas confondre avec une ligne en commentaire (# ceci est un commentaire).
Pour exécuter le script vous devrez au préalable appliquer les permissions nécessaires :
$ chmod +x nomduscript.sh
$ ./nomduscript.sh

Comment ajouter des alias ?
auteur : Francois Trazzi
$ alias ll='ls -l'
Grâce à cet alias, lorsque vous taperez
$ ll
dans votre terminal, cela exécutera la commande
$ ls -l
Pour voir la liste des alias activés, vous pouvez taper :
$ alias

Comment modifier un fichier en mode console ?
auteurs : zdra, Olivier Van Hoof (ovh)
Il existe plusieurs éditeurs de texte en console, mais le plus répandu est sans doute vi. Quelle que soit votre distribution, vous êtes sûr de pouvoir compter sur lui ;)
Utilisation :
$ vi fichier
Pour modifier le texte, appuyer sur "a" (curseur placé avant la lettre), "i" ou INSERT(curseur placé après). Une fois les modifications faites, appuyer sur ESCAPE, ensuite on donne les commandes à exécuter en tapant ":" (deux points) suivi de la lettre qui correspond à la commande :
  • :w pour sauver les modification
  • :q pour quitter
  • :wq pour sauver et quitter.
En résumé, vi est simple et très complet. Noter qu'il existe aussi vim (pour vi improved), avec l'ajout notamment de la coloration syntaxique, et aussi gvim, en mode graphique...

Malheureusement les éditeurs les plus "classiques" et "puristes" sous linux sont aussi les plus complexes à utiliser, et sont fort déroutants pour les débutants. Je vous rassure il existe des éditeurs nettement plus simples comme nano ou pico (fort semblables), qui s'utilisent avec les touches normales et intuitives (flèches du clavier, touches home et end, etc.). En gros l'utilisation de nano est très simple :
nano monfichier.txt
Ouvre le fichier monfichier.txt pour l'éditer, "nano" tout court va créer un nouveau fichier.

Dans le programme, Ctrl+W (w pour "write") permet de sauver le fichier, et Ctrl+X quitte le programme (en vous demandant s'il faut enregistrer les modifications le cas échéant).

Une autre alternative appréciée de bien des gens est le programme mc (midnight comander), le couteau suisse en mode console de linux, équivalent au norton commander de l'époque héroïque du DOS. Ce programme regroupe donc un gestionnaire de fichier (avec la vue à 2 panneaux classique), un éditeur de texte, des utilitaires de recherches, de copie de fichiers, etc.


Comment rajouter la coloration syntaxique dans vim ?
auteurs : ggnore, Luc Hermitte
Pour rajouter la coloration syntaxique

vi /etc/vim/vimrc
enlever le " devant

" syntax on
Il est tout de même préférable d'utiliser le fichier ~/.vimrc pour rajouter la coloration syntaxique. En effet le fichier /etc/vim/vimrc impacte tous les utilisateurs.


Comment ouvrir une autre console ?
auteurs : nyal, Olivier Van Hoof (ovh)
En mode console :
Alt+F1, Alt+F2 etc. où le chiffre représente la console désirée (il y en a 4 disponibles par défaut).

En mode graphique, tapez dans un shell :
$ xterm &

Connaître le type d'un fichier
auteur : Francois Trazzi
La commande file vous renseigne sur le type et le format d'un fichier :
$ file code.c
code.c: ASCII C program text
$ file file.png
file.png: PNG image data, 1014 x 704, 16-bit/color RGB, non-interlaced

Comment afficher/concaténer des fichiers ?
auteur : Francois Trazzi
La commande cat permet d'afficher le contenu d'un ou plusieurs fichiers (à la suite dans le second cas) :
$ cat fichier1
contenu du fichier1
$ cat fichier2
contenu du fichier2
$ cat fichier3
contenu du fichier3
$ cat fichier1 fichier2 fichier3
contenu du fichier1
contenu du fichier2
contenu du fichier3

Comment connaître le temps d'exécution d'une commande ?
auteur : nyal
Exécutez le programme time avec la commande pour argument :
$ time commande 
real 0m15.953s 
user 0m14.500s 
sys 0m1.320s
Les trois valeurs sont :
  • real : temps total qui s'est écoulé
  • user : temps du CPU qui s'est écoulé en user mode
  • sys : temps du CPU qui s'est écoulé en kernel mode
Il faut savoir qu'un processus s'exécute dans plusieurs modes : user mode ou kernel mode. Le changement de mode s'effectue lorsque le processus utilise des appels système. Ce sont des fonctions dans les programmes pour accéder à des fonctionnalités du noyau (comme écrire sur un terminal, ouvrir un fichier, etc). C'est ce que représentent les valeurs user et sys.
Vous devez maintenant vous poser la question suivante : l'addition des temps du user mode et du kernel mode ne me donne pas la valeur du temps total d'exécution. Pourquoi ?
C'est très simple : un système d'exploitation ne fait pas tourner en temps réel tous les processus (vous n'avez qu'un processeur). Il doit jongler entre les processus (on nomme cela un scheduler). Mais il fait cela tellement vite que vous avez l'impression que vos processus tournent en parallèle.
Vous avez donc compris que le temps total qui s'est écoulé représente : le temps d'exécution de votre processus + celui des autres processus qui se sont écoulés dans le même temps.


Quels raccourcis bash pour gérer mes commandes?
auteur : becket
La plupart des gens connaissent les rappels de commandes avec bash en utilisant, simplement,les touches "flèche haut" et "flèche bas".
Mais il existe une serie de rappels moins utilisés, plus ou moins connues :

!! : relance la derniere commande utilisé 
!32 : relance la commande 32 de l'historique ( history pour lire l'historique ) 
!ls : relance la derniere commande de l'historique qui commence par ls 
!-2 : relance l'avant derniere commande 
!!s:/ls /ls -l/ : relance la derniere commande en modifiant ls par ls -l [/list][/list]

Qui est connecté à cette machine?
auteur : Sylvain Luce
Quand vous avez beaucoup d'utilisateurs sur votre linux, il est interressant de savoir qui est présent et quelle est son activité.
La commande :

who
vous permet de savoir qui est connecté. Pour savoir s'ils sont actifs (utilisation du clavier), il vous suffit de faire un

finger nom_du_user 
Le temps "idle" correspond au temps entre la dernière pression du clavier et maintenant.


Comment envoyer un message à toutes les personnes connectés?
La commande wall permet de lancer un message en broadcast à toutes les personnes connectées à votre machine via un terminal.
Deux méthodes :
Soit vous écrivez un fichier et lancez :

wall mon_fichier
Soit vous lancez "wall", tapez votre message et terminez par CTRL+D


Comment enlever les Bips-Bips des consoles?
auteur : rigel
Pour faire taire les bips de la console, chaque fois que vous appuyez sur tab, éditer le fichier /etc/inputrc et ajoutez juste la ligne :

set bell-style none

Quels sont les raccourcis claviers intéressants en ligne de commande ?
auteur : Gnux
  • C-b Recule d'un caractère (idem flèche à gauche)
  • C-f Avance d'un caractère (idem flèche à droite)
  • C-a Va en début de ligne
  • C-e Va en fin de ligne
  • C-p Reprend la commande précédente (idem flèche montante)
  • C-n Reprend la commande suivante (idem flèche descendante)
  • C-d Détruit le caractère
  • C-k Détruit le reste de la ligne
  • C-u efface la ligne
C = touche CTRL


Comment faire des opérations arithmétiques en shell?
auteur : Arnaud Feltz
Bash ne sait pas travailler avec les nombres réels. Pour faire une opération avec des nombres relatifs, bash suffit

echo "3*2 = " $[ 3 * 2 ]
Pour toute opération avec des réels, il faut utiliser bc. Exemple : combien fait 5/2 ?

echo "5/2"|bc -l
bc m'affiche 2.50000000000000000000, comment limiter le nombre de décimales ? Avec

echo "scale=1;(5/2)"|bc -l
affichera 2.5. 1 est le nombre de chiffres après la virgule.


rechercher
precedent    sommaire    suivant    telecharger

Consultez les autres F.A.Q's


Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2005 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.