Linux en 10 minutes

Cette page et la traduction d’un célèbre document anglais nommé « Learn Unix in Ten Minutes ». Il vous permettra d’assimiler – ou de retrouver – des commandes utiles très rapidement. A vous la maîtrise du Shell!

1 – Informations légales

PREFACE

This is something that I had given out to students (CAD user training) in years past. The purpose was to have on one page the basics commands for getting started using the UNIX shell (so that they didn’t call me asking what to do the first time someone gave them a tape).

This document is copyrighted but freely redistributable under the terms of the GFDL . Send me comments, corrections, and extra stuff that you think should absolutly must be included. I’ll gladly listen.

2 – Préface

Le document original à été réalisé par C.R. Johnson à l’attention d’étudiants dans l’objectif de maîtriser les commandes de base Unix (et Linux) en peu de temps. C’est aussi un document de référence à garder sur soi en cas de besoin.

Ce document est publié sous licenge GFDL, peut être librement modifié et redistribué du moment qu’il comporte toujours la préface originale.

La version ci après est une traduction quelque peu adaptée du texte orginal.

3 – Commande de base: la navigation

3.1 – Les dossiers

Les chemins des fichiers et des dossiers sous Linux utilisent le slash « / » pour séparer les noms de dossiers.

Exemples:

  • / Le dossier racine
  • /usr Le dossier usr (sous dossier de a racine « / »)
  • /usr/STRIM100 STRIM100 est un sous dossier de /usr

3.2 – Naviguer dans les dossiers

  • pwd Affiche le dossier courant (« present working directory »)
  • cd Aller au dossier home (dossier rattaché à votre utilisateur)
  • cd /usr/STRIM100 Aller au dossier /usr/STRIM100
  • cd INIT Aller aux dossier INIT qui est un sous dossier du dossier courant
  • cd .. Aller au dossier parent du dossier courant
  • cd $STRMWORK Aller au dossier défini dans la variable d’environnement ‘STRMWORK’

3.3 – Lister le contenu d’un dossier

  • ls Affiche le contenu d’un dossier
  • ls -l Affiche le contenu d’un dossier de manière détaillée
  • ls -a Affiche le contenu d’un dossier et même des fichiers cachés. Le nom d’un fichier caché commence toujours par « . »
  • ls -ld * Affiche tous les fichiers et es dossier contenu par le dossier courant. Sans l’option « d » ls affiche aussi le contenu des sous dossier. Avec l’option « d » ls se contant d’afficher les fichier et dossier contenu par le dossier courant

Exemple:

 $ ls -l drwxr-xr-x    4 cliff     user      1024 Jun 18 09:40 WAITRON_EARNINGS -rw-r--r--    1 cliff     user    767392 Jun  6 14:28 scanlib.tar.gz ^ ^  ^  ^     ^ ^         ^       ^      ^    ^       ^ | |  |  |     | |         |       |      |    |       | | |  |  |     | proprio   groupe  taille date heure   nom | |  |  |     number of links to file or directory contents | |  |  permissions pour tout le monde | |  permissions des membres du groupe | permissions pour le propriétaire du fichier: r = lecture, w = écriture, x = exécuter - = rien type de fichier: - = fichier standard, d = dossier, l = lien symbolique etc. 

3.4 – Changer les permissions et les attributs d’un fichier

  • chmod 755 fichier Change les permission du fichier en rwx pour le propriétaire, rx pour le groupe les autres (en binaire: 111 = 7 = rwx et 101 = 5 = r-x)
  • chgrp utilisateur fichier Donne le fichier au groupe utilisateur
  • chown cliff fichier Donne le fichier à l’utilistauer Cliff
  • chown -R cliff fichier Donne le fichier et l’intégralité de son contenu à Cliff

Vous devez être, soit le propriétaire du fichier et/ou dossier, soit le super utilisateur root, pour pouvoir effectuer l’une de ces commandes.

3.5 – Déplacer, renommer et copier des fichiers

  • cp MonFichier1 MonFichier2 Duplique un fichier
  • mv MonFichier1 MonFichier2 Déplace et/ou renomme un fichier
  • rm MonFichier Supprime le fichier MonFichier
  • rm -r MonDossier Supprime le dossier MonDossier et son contenu à UTILISER AVEC PRUDENCE
  • mkdir MonDossier Crée un dossier nommé MonDossier
  • rmdir MonDossier Supprime le dossier vide correspondant

3.6 – Afficher et éditer des fichiers

  • cat MonFichier Affiche à l’écran le contenu de MonFichier en ASCII (Texte brut)
  • more MonFichierAffiche progressivement le contenu de MonFichier à l’écran: [Entrée]: descend d’une ligne, [Espace]: descend d’une page, [q]: quitte
  • less MonFichier Identique à more mais permet en plus, sur certains systèmes, d’utiliser la touche [Page-Up]
  • vi MonFichier Ouvre MonFichier avec l’éditeur de texte vi. Tous les GNU/Linux proposent ce logiciel.
  • head MonFichier Affiche les premières lignes du contenu de MonFichier
  • tail MonFichier Affiche les dernières lignes du contenu de MonFichier
  • tail -n MonFichier Affiche les n dernières lignes du contenu de MonFichier

4 – L’environnement GNU/Linux

4.1 – Les Shells

Le comportement de l’interface en ligne de commande diffère légèrement en fonction du programme shell utilisé. Suivant le shell utilisé, quelques habitudes peuvent être pratiques.

Vous pouvez connaître le shell que vous utilisez avec la commande printenv SHELL.

Vous pouvez aussi créer un fichier comportant un certain nombre de commandes à effectuer les une à la suite des autres tout comme le ferait un programme. On appelle cela un script. En réalité, utiliser des scripts au lieu de taper des commandes plus ou moins interactives est le but premier du shell.

4.2 – Les variables d’environnement

Vous pouvez apprendre à votre shell à se rappeler de certaines information que vous pourriez utilisez plus tard. On stocke de telles information dans des variables d’environnement.

  • export MESSOFTS=/usr/local/MesSofts définie la valeur de la variable MESSOFTS en lui donnant la valeur de « /usr/local/MesSofts »
  • cd $MESSOFTS vous place donc dans le dossier « /usr/local/MesSofts »
  • export LIBRARY_PATH=$MESSOFTS/Linux/lib Définit la valeur de la variable LIBRARY_PATH avec celle de MESSOFTS suivie de « /Linux/lib »
  • print MESSOFTS Affiche la valeur de la variable MESSOFTS soit « /usr/local/MesSofts »
  • echo $MESSOFTS Fait exactement la même chose
  • env | grep MESSOFTS Affiches des information sur l’environnement de travail à propos de MESSOFTS.

4.3 – L’historique interactif

L’historique interactif est une fonction des shell bash, tsch et certain autres. Il permet, à l’aide de la touche [Haut] d’accéder aux dernières commandes, de les éditer et de les re-exécuter.

4.4 – La complétion automatique

La complétion automatique est une fonction des shell bash, tsch et certain autres. elle permet de compléter automatiquement un nom de fichier partiellement saisi. Par exemple, si vous avec un fichier nommé LettrePourMamieJacqueline_2004034.txt et que vous voulez l’éditer, vous pouvez taper vi LettrePour en appuyer sur la touche [Tabulation] et le shell complétera automatiquement le nom du fichier sous réserve qu’il soit le seul à commencer ainsi.

Bash, le shell le plus couramment installé sur la grande majorité des système GNU/Linux, est aussi capable de compléter des nom de commandes ou de variables d’environnement. De plus, si plusieurs fichier on un nom q
ui commence de même, il sera possible, en appuyant deux fois de suite sur [Tabulation], d’afficher toutes les possibilités.

4.5 – Les redirections

  • grep MaChaine MonFichier > NouveauFichier Redirige la sortie de la commande grep vers MonFichier
  • grep MaChaine MonFichier >> FichierExistant Redirige la sortie de la commande grep vers la fin de MonFichier

4.6 – Les pipes

Le symbole pipe (parfois appelé tube en français) noté « | » est utilisé pour re-diriger la sortie d’une commande vers l’entrée d’une autre.

Par exemple, ls - l | more envoie la sortie de la commande d’affichage détaillée (ls -l) du contenu d’un dossier vers un outil d’affichage (more) ce qui donnera une très longue liste de contenu de tout les fichiers pouvant être lu dans le répertoire courant.

Il existe aussi un autre moyen de rediriger le résultat d’une commande vers une autre en utilisante des apostrophe inversé. On peut donc obtenir le même résultat que juste avant avec cette commande: more `ls -l`

4.7 – Rechercher une chaîne de caractère avec grep

  • grep MaChaine MonFichier affiche toutes les lignes de MonFichier contenant MaChaine
  • grep -r MaChaine ./* affiche toutes les lignes contenant MaChaine dans les ficheir du dossier courant et de ses sous-dossiers.

4.8 – Rechercher des fichiers avec find

  • find DossierParcouru -name MonFichier
  • find . -name aaa.txt Cherche tous les fichiers nommé aaa.txt dans le dossier courant ou dans ses sous-dossiers.
  • find / -iname vimrc Cherche vimrc dans toute l’arborecence du système (avec le « i » la recherces n’est pas sensible à la casse).
  • find /urs/local/games « *xpilot* » Cherche tous les ficheir dont le nom contient « xpilot » et se trouvant dans le répertoire « /urs/local/games »

5 – Travailler avec des données compressées

5.1 – La commande tar

La commande « tar » vient de « tape archive » (sauvegarde sur bande en anglais), il s’agit à l’origine d’une commande standard permettant d’exploiter de tel périphériques. Vous trouverez souvent des fichiers portant une extension .tar ou .tar.gz il s’agit de dossier archivé éventuellement compressé avec gzip.

  • tar xv Extrait (argument « x ») les fichiers contenu dans le lecteur de bande par défaut et en affiche le contenu détaillé (argument « v » pour verbeux).
  • tar tv Liste le contenu du lecteur de bande par défaut sans l’extraire.
  • tar cv MonFichier1 MonFichier2 Ecrit les fichiers sur la bande.
  • tar cvf MonArchive.tar MonFichier1 MonFichier2 Crée une archive « MonArchive.tar » contenant les fichiers MonFichier1 et MonFichier2.
  • tar xvf MonArchive.tar Extrait le contenu de MonArchive.tar.
  • tar cvfz MonArchive.tar.gz MonDossier Crée une archive compressée avec gzip contenant tout ce qu’il y a dans MonDossier.
  • tar xvfz MonArchive.tar.gz Extrait un archive compressée avec gzip.
  • tar cvfI MonArchive.tar.bz2 Crée une archive compressée avec bz2.

5.2 – Les autres commandes…

Sous Linux, lorsqu’on ne compresse pas avec tar, on utilise généralement gzip. Il s’agit d’un outil de (de)compression en accord avec la licence GNU.

  • gzip MonFichier.txt Crée le fichier compressé MonFichier.txt.gz
  • gunzip MonFichier.txt Extrait le fichier MonFichier.txt de MonFichier.txt.gz

On utilise aussi bzip2 qui est généralement plus performant que gzip mais qui à l’inconvénient de consommer plus de ressources processeur.

  • bzip2 MonFichier.txt Crée le fichier compressé MonFichier.txt.bz2
  • bunzip2 MonFichier.txt Extrait le fichier MonFichier.txt de MonFichier.txt.bz2

6 – Trouver de l’aide avec la commande man

La grande majorité des commandes Linux sont associé à une page de manuel. Ce pages de manuel peuvent être plus ou moins courte, détaillée ou austère, compréhensible ou obscure. Certain se plaisent à dire « man pages are only for real men » (Et en français: « Les pages man sont pour les vrais hommes »). Quoi qu’il en soit, la page man est la source de toutes les informations de bases pour une commande donnée.

  • man ls affiche la page de manuel de la commande ls.

3 réflexions au sujet de « Linux en 10 minutes »

  1. Sinon, histoire de comple9ter l’environnement unix et d’avoir un vrai shell (on ne peut pas dire que porlhsweel, ni compatible et mal de9fini pour cet usage, en soit un) cygwin c’est tre8s bien. Le serveur SSH y marche aussi tre8s bien et vu qu’il m’est difficile de m’en passer

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *