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/usrLe dossier usr (sous dossier de a racine « / »)/usr/STRIM100STRIM100 est un sous dossier de /usr
3.2 – Naviguer dans les dossiers
pwdAffiche le dossier courant (« present working directory »)cdAller au dossier home (dossier rattaché à votre utilisateur)cd /usr/STRIM100Aller au dossier /usr/STRIM100cd INITAller aux dossier INIT qui est un sous dossier du dossier courantcd ..Aller au dossier parent du dossier courantcd $STRMWORKAller au dossier défini dans la variable d’environnement ‘STRMWORK’
3.3 – Lister le contenu d’un dossier
lsAffiche le contenu d’un dossierls -lAffiche le contenu d’un dossier de manière détailléels -aAffiche 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 fichierChange 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 fichierDonne le fichier au groupe utilisateurchown cliff fichierDonne le fichier à l’utilistauer Cliffchown -R cliff fichierDonne 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 MonFichier2Duplique un fichiermv MonFichier1 MonFichier2Déplace et/ou renomme un fichierrm MonFichierSupprime le fichier MonFichierrm -r MonDossierSupprime le dossier MonDossier et son contenu à UTILISER AVEC PRUDENCEmkdir MonDossierCrée un dossier nommé MonDossierrmdir MonDossierSupprime le dossier vide correspondant
3.6 – Afficher et éditer des fichiers
cat MonFichierAffiche à 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]: quitteless MonFichierIdentique àmoremais permet en plus, sur certains systèmes, d’utiliser la touche [Page-Up]vi MonFichierOuvre MonFichier avec l’éditeur de texte vi. Tous les GNU/Linux proposent ce logiciel.head MonFichierAffiche les premières lignes du contenu de MonFichiertail MonFichierAffiche les dernières lignes du contenu de MonFichiertail -n MonFichierAffiche 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/MesSoftsdéfinie la valeur de la variable MESSOFTS en lui donnant la valeur de « /usr/local/MesSofts »cd $MESSOFTSvous place donc dans le dossier « /usr/local/MesSofts »export LIBRARY_PATH=$MESSOFTS/Linux/libDéfinit la valeur de la variable LIBRARY_PATH avec celle de MESSOFTS suivie de « /Linux/lib »print MESSOFTSAffiche la valeur de la variable MESSOFTS soit « /usr/local/MesSofts »echo $MESSOFTSFait exactement la même choseenv | grep MESSOFTSAffiches 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 > NouveauFichierRedirige la sortie de la commande grep vers MonFichiergrep MaChaine MonFichier >> FichierExistantRedirige 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 MonFichieraffiche 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 MonFichierfind . -name aaa.txtCherche tous les fichiers nommé aaa.txt dans le dossier courant ou dans ses sous-dossiers.find / -iname vimrcCherche 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 xvExtrait (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 tvListe le contenu du lecteur de bande par défaut sans l’extraire.tar cv MonFichier1 MonFichier2Ecrit les fichiers sur la bande.tar cvf MonArchive.tar MonFichier1 MonFichier2Crée une archive « MonArchive.tar » contenant les fichiers MonFichier1 et MonFichier2.tar xvf MonArchive.tarExtrait le contenu de MonArchive.tar.tar cvfz MonArchive.tar.gz MonDossierCrée une archive compressée avec gzip contenant tout ce qu’il y a dans MonDossier.tar xvfz MonArchive.tar.gzExtrait un archive compressée avec gzip.tar cvfI MonArchive.tar.bz2Cré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.txtCrée le fichier compressé MonFichier.txt.gzgunzip MonFichier.txtExtrait 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.txtCrée le fichier compressé MonFichier.txt.bz2bunzip2 MonFichier.txtExtrait 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 lsaffiche 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