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/STRIM100cd INIT
Aller aux dossier INIT qui est un sous dossier du dossier courantcd ..
Aller au dossier parent du dossier courantcd $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 dossierls -l
Affiche le contenu d’un dossier de manière détailléels -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 utilisateurchown cliff fichier
Donne le fichier à l’utilistauer Cliffchown -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 fichiermv MonFichier1 MonFichier2
Déplace et/ou renomme un fichierrm MonFichier
Supprime le fichier MonFichierrm -r MonDossier
Supprime le dossier MonDossier et son contenu à UTILISER AVEC PRUDENCEmkdir MonDossier
Crée un dossier nommé MonDossierrmdir 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 MonFichier
Affiche progressivement le contenu de MonFichier à l’écran: [Entrée]: descend d’une ligne, [Espace]: descend d’une page, [q]: quitteless 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 MonFichiertail MonFichier
Affiche les dernières lignes du contenu de MonFichiertail -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 choseenv | 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 MonFichiergrep 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 MaChainegrep -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.gzgunzip 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.bz2bunzip2 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éponses sur « Linux en 10 minutes »
Tout en une page, bien pratique ce truc !
même moi j’ai presque tout compris lol
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