.

les commade de base sous mandriva


Bon c'est pas tout ça, voici les commandes de shell (console) de base sous Linux :
Le tableau est l'oeuvre (légèrement retouchée) de Jean-Christophe, Marc et Anne de lea-linux.org. Certaines commandes sont détaillées sur la page Détail des commandes de base sous linux, avec quelques astuces pratiques.
Pour vous repérer :
  • Linux est sensible à la casse, c'est à dire qu'il distingue les majuscules des minuscules. Ainsi, si je vous dit que la commande est 'mkdir', ce n'est pas la peine d'essayer MKDIR ou mKdiR, cela ne fonctionnera pas. Il en va de même pour les noms de fichiers et de répertoires.
  • De plus, sous Unix, les dossiers (càd. les répertoires, les chemins) sont séparés par des slash : écrivez /etc/X11/xorg.conf (et jamais etc\X11\xorg.conf par pitié :)
  • Répertoires spéciaux :
      . représente le répertoire courant (ou actuel, où on est),
      .. représente le répertoire parent (celui au-dessus dans l'arborescence).
      ~ représente le répertoire maison (home) de l'utilisateur.
  • Fichiers cachés : sous les systèmes dérivés d'Unix, les fichiers cachés commencent par un point. Par exemple, ~/.bashrc est un fichier caché, dans le répertoire maison de l'utilisateur (et il contient la configuration éventuellement personnalisée du shell de l'utilisateur).
Commande shelléquivalent M$DosÀ quoi ça sertExemple
cdcdva dans le répertoire indiqué.
cd .. : va dans le répertoire parent (au-dessus) du répertoire courant
cd /home/user/.nsmail/ : va dans ce répertoire
cd ~/.nsmail/ : m^eme chose.
lsdiraffiche le contenu d'un répertoire
ls affiche le contenu du répertoire courant
ls -l affiche le contenu du répertoire courant de manière détaillée
ls -a /home/user (ou ls -la ~affiche le contenu du répertoire de l'utilisateur avec les fichiers cachés.
cpcopy
xcopy
copie un ou plusieurs fichiers
cp toto /tmp copie le fichier toto dans le répertoire /tmp
cp toto titi copie le fichier toto sur/à la place du fichier titi
cp -R ~/ /tmp/bak copie le répertoire /home/user ainsi que tout ce qu'il contient dans /tmp/bak
rmdelefface un ou plusieurs fichiers
rm toto titi efface les fichiers totoet titi
rm -f toto titi efface les fichierstoto et titi sans demander confirmation
rm -rfdeltreeefface un répertoire et son contenu
rm -rf /dossiernonvide/* efface (sans demander de confirmation) tous les fichiers et répertoire de/dossiernonvide
mkdirmdcrée un répertoire
mkdir ~/mes\ documents crée le répertoire mes documents dans le sous répertoire /home/user
L'emploi de l'anté-slash \ est nécessaire en raison de l'espace entre "mes" et "documents".
rmdirrmefface un répertoire s'il est vide
rmdir ~/.nsmail efface le répertoire.nsmail de /home/user si celui-ci est vide.
mvren
move
déplace ou renomme  un ou des fichiers
mv tata titi renomme tata en titi
mv * *.bak ne fonctionne pas !!!!
mv * /tmp/bak déplace tous les fichiers du répertoire courant vers le répertoire /tmp/bak.
finddir -strouve un fichier répondant à certains critères
find /home -name "*blabla*"trouve tous les fichiers contenant le motblabla dans leur nom et se trouvant dans le répertoire /home.
locatedir -strouve un fichier d'après son nom
locate blabla tous les fichiers contenant le mot blabla dans leur nom complet (avec le répertoire) : à la différence de find, locate trouve ses informations dans une base de donnée créée par updatedb.
manhelpaffiche l'aide concernant une commande particulière
man ls affiche l'aide (page demanuel) de la commnade ls. On quitte man en appuyant sur la touche q.
chmodpas d'
équivalent
modifie les permissions d'un fichier
chmod o+r /home/user autorise les autres (o=other) (ie: ceux qui ne sont ni le propriétaire, ni membre du groupe propriétaire) à lire (r=read) le répertoire /home/user
chmod a+rw ~/unfichier autorise tout le monde (a=all) à lire et écrire (w=write) dans le fichier/home/user/unfichier.
chownpas d'
équivalent
modifie le propriétaire d'un fichier
chown user unfichier rend userpropriétaire de unfichier.
chgrppas d'
équivalent
modifie le groupe proprétaire d'un fichier
chgrp -R nobody /home/httpd rend le groupe : nobody (un groupe ayant très peu de droits sur un système linux) propriétaire de /home/httpd ainsi que tout les fichiers qu'il contient (-R).
ln -spas d'
équivalent
crée un lien vers un fichier
ln -s /dev/fd0 /dev/disquettecrée un lien vers /dev/fd0 (le lecteur de disquette) nommé /dev/disquette. La manipulation de /dev/fd0 et/dev/disquette est équivalente, sauf l'effacement.
greppas d'
équivalent
recherche une chaine dans un fichier (en fait recherche une expression régulière dans plusieurs fichiers)
grep chaine *.txt recherche le texte 'chaine' dans tous les fichier se terminant par .txt.
whichpas d'
équivalent
trouve le répertoire dans lequel se trouve un commande
which emacs retourne le nom du répertoire dans lequel se trouve la commande emacs.
cattypeaffiche un fichier à l'écran
cat ~/.bashrc affiche le contenu du fichier ~/.bashrc

La ligne de commandes sous Linux : Guides

Bouquins, manuels

Un bouquin papier n'a pas ces utiles commentaires d'utilisateurs, de forum associé (quoique ;), n'est pas mis à jour et ne permet pas d'y trouver un mot clé facilement comme une page ou un site web ; il est mal adapté aux cas particuliers... OK mais il est stable, permet d'être mieux guidé que NNN sources web, d'anoter les pages, de lire au soleil ou de de le balancer quand on pige plus le schmilblick... Et il permet de rétribuer un auteur dont on apprécie le blog ou le style.
Difficile d'être objectif sur le choix des bouquins ici comme ailleurs, mais bon en voici au moins un
  • Le shell bash : Exploitez et programmez votre shell, de Cameron Newham & Bill Rosenblatt, éd. O'Reilly. ~40 €
    Ce livre permet une approche pratique et une exploitation du shell bash (le plus répandu).
    eyrolles.com

Taper ses premières commandes sous Linux

Quelle est la structure générale d'une commande ?

L'unité de base d'une commande simple ou complexe, c'est sa structure :
commande argument1 argument2 ...
Ici, commande est un ordre bien précis, et les arguments sont des précisions données à l'ordre.
Ainsi, quand on tape ls -l fichier.txt, l'ordre est ls, et on lui donne comme consignes supplémentaires d'utiliser un format long (ou détaillé) -l, et de ne lister que le fichier fichier.txt.
Il en va de même pour la commande : firefox [adresse_internet].
On peut construire des commandes plus évoluées à partir de ce schéma élémentaire.
Aller plus loin / sources :
  - http://www.normalesup.org/~george/old-site/info/shell.html
  - Le paragraphe "Syntaxe générale des commandes" de l'article Ligne de commande de wikipedia

Le shell ou le retour du C:\> ! (et les commandes)

La suite de l'article de Jean-Christophe, Marc et Anne sur lea-linux.org est vraiment à lire si vous débutez avec la ligne de commande. En effet on y voit comment utiliser :
  • Jokers : ? et * :
    On utilise les caractères ? et * pour représenter (remplacer) des caractères quelconques dans les noms de fichiers et de répertoires.
    ? représente un seul caractère, tandis que * en représente un nombre quelconque. Par exemple ?ierre.txt représente tout fichier commençant par un caractère quelconque et se poursuivant par "ierre.txt" (comme pierre, Pierre et lierre) ; *.jpg représente tous les fichiers se terminant par jpg ; "*toto*" tous les fichiers contenant "toto". Oui vous avez bien vu : on peut mettre plusieurs étoiles en même temps !!! Il faut également savoir que c'est le shell qui interprète ces caractères avant de transmettre (càd. d'éxécuter) la ligne de commande. Par exemple, si vous tapez : rm -Rf *.tmp, le shell transformera cette ligne de commande en : rm truc1.tmp truc2.tmp truc3.tmp.
    Jokers avancés : []
    Vous pouvez aussi utiliser les crochets pour spécifier des caractères : [a] signifie : égal à 'a'. Exemple : rm *[a]* efface tous les fichiers contenant la lettre 'a'. [!a] signifie : différent de 'a'. Exemple : rm *[!a]* efface tous les fichiers, sauf ceux contenant la lettre 'a'. [abc] signifie : l'un des caractères a, b ou c. Exemple : rm [abc]*.tmp efface tous les fichiers commençant par a, b ou c. [a-l] : signifie : tous les caractères compris entre a et l. Exemple : rm fic_[a-l]*efface tous les fichiers commençant par fic_ suivi d'une quelconque lettre entre a et l.
  • Options de la commande ls : comment trier sur la date, afficher les fichiers cachés, lire les droits sur un fichier
  • Obtenir des informations sur les commandes ou comment se débrouiller en console sans presque rien y connaître ;)
    La commande apropos : très très utile pour afficher les commandes en rapport avec un mot clé. Exemple :
    apropos effacer clear : effacer l'écran du terminal klogctl [syslog] : Lire et/ou effacer les tampons circulaires de messages du noyau rm : Effacer des fichiers syslog : Lire et/ou effacer les tampons circulaires de messages du noyau userdel : Effacer un compte utilisateur et les fichiers associés
  • Afficher des informations sur le système : version de Linux, microprocesseur, RAM, état des partitions...
  • Obtenir des Informations sur les fichiers : Où suis-je, taille d'un répertoire, type d'un fichier...
  • Utiliser les raccourcis :
      - Taper une fois la touche [Tab] permet de compléter automatiquement un nom de programme, de fichier et de répertoire s'il est unique : cd /et[Tab]c/X[Tab]11/ par exemple.
      - Flèches du curseur : vers le haut (ou Ctrl-P) et vers le bas (ou Ctrl-N) permet de remonter et redescendre dans l'historique des commandes, et donc de retrouver toutes les commandes passées précédemment par cet utilisateur. Détails dans "Astuces Shell" ci-dessous.
      - [Ctrl] [C] arrête le processus (ou programme) en cours.
      - [Ctrl] [Alt] [Fn] nous place sur la console virutuelle numéro 'n' (il y a en général 6 consoles virtuelles, la 7è étant réservée au serveur graphique X).
      - [Ctrl] [Alt] [Backspace] permet de tuer X et de revenir soit au gestionnaire d'affichage (et au login graphique), soit au shell. À éviter si possible : il est plus sain de quitter X en se déconnectant proprement.
      - [Ctrl] [Alt] [Del] : Suivant votre configuration, ces touches permettent de rebooter votre ordinateur (commee reboot ou shutdown -r now). Si vous souhaitez juste arrêter votre ordinateur afin de l'éteindre, tapez halt, ou shutdown -h now.
  • L'article passe ensuite à l'utilisation du Shell où il fait toujours merveille... :)

Introduction au shell et commandes

l'enveloppe shell"L'interpréteur de commandes est l'interface (autrement dit l'enveloppe) entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire le système d'exploitation et l'utilisateur grâce aux lignes de commandes saisies par ce dernier. Son rôle consiste ainsi à lire la ligne de commande, interpréter sa signification, exécuter la commande, puis retourner le résultat(...)" Comment ça marche démysthifie le shell et l'invite de commande, et explique clairement l'entrée - sortie standard, les redirections ou encore les tubes de communication (pipes).

Utiliser bash pour tous

SAIT (Site d'Aide Informatique de Tian) propose de vous guider quel que soit votre niveau avec cet article.
Les 2 premières phrases expliquent comment taper une commande ; les exemples suivants présentent les alias, les fonctionsvariables d'environnement et comment éxécuter (= lancer) un fichier de script en console).
http://www.c-sait.net/cours/bash.php

Astuces lignes de commande

Des fiches pratiques sur les meilleures astuces en ligne de commande rédigées de façon claire par différents utilisateurs de CCM :)

Utilisation de programmes en mode console : présentation et exercices

Au passage, présente les systèmes de fichiers LINUX.
http://www.ac-creteil.fr/reseaux/systemes/linux/

Les commandes fondamentales de Linux

Voir les guides et liens plus détaillés et/ou plus avancés sur la page suivante : Commandes détaillées

Éditer des fichiers en ligne de commande

Ces éditeurs se contrôlent avec le clavier, et ne nécessitent pas de souris (inopérante en mode console)
Modifier des fichiers en mode console : Un bon petit guide simple et à jour pour sortir de X, utiliser vim, et nano

VI : les bases

  • Un résumé bien utile des commandes de VI (quand le site fonctionne ;) :
    http://www.linuxfocus.org/Francais/May2000/article153.shtml
  • Notez que vim (pour VI iMproved) remplace avantageusement VI, surtout si vous débutez avec ce puissant éditeur (il reprend toutes les fonctionnalités de VI et en ajoute de manière à simplifier l'utilisation...)
  • Vim en 3 pages ... : François Poulain de parinux.org propose un guide - synthèse pour Vim :
    "Résumé: Vi Improved est un éditeur très puissant qui a trop de commandes pour pouvoir toutes les énoncer dans un document comme celui-ci, mais l'objectif de ce document est de rassembler l'ensemble des commandes efficaces de Vim en 3 pages, afin de vous permettre d'utiliser simplement et rapidement Vim."
    Une adresse alternative de ce guide au cas où...