Show Menu
Cheatography

OS_part2_linux Cheat Sheet (DRAFT) by

Aide mémoire pour OS Linux

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Linux File System

Tous est fichier ou processus
Un processus est un fichier ouvert
Le caractère / n'est pas autorisé dans le nom d'un fichier

Structure de fichiers GNU/Linux

/
Répertoire racine
/bin/
Commandes de base du système
/boot/
Noyau et fichiers de config­uration
/dev/
Fichiers représ­entant des périph­ériques
/etc/
Fichiers de config­uration du système
/lib/
Biblio­thèques de base du système
/lost+­found
Fichiers détériorés que le système a essayé de récupérer
/opt/
Outils spécif­iques installés par l'admi­nis­trateur (souvent remplacé par /usr/l­ocal/)
/proc/
Accès aux inform­ations du système

Chemins

/dir/
Commence par / est dit absolu, il part de la racine
dir/
Chemin relatif, commence depuis le répertoire courant
~dir/
Chemin de type user, part du répertoire personnel de l'util­isateur courant
~user/dir/
Part du répertoire personnel de l'util­isateur spécifié

Commande de base

mount | affiche syst. fichier montés
umount |détacher montage
mount device dir | monte device sur dir
df [chemin] | show cap. tot. d'un système de fichiers df /users
du [-s] [chemin] | taille occupée file or directory
 

Commande interne ou externe

type cd
cd is a shell builtin | cmd interne
type ls
ls is /usr/b­in/ls | cmd externe
Les commandes externes sont exécutés par l'inte­rmé­diaire d'un shell enfant.
Les commandes internes sont direct­ement intégrée au processus shell

Droit d'accès

Le propri­étaire du fichier
Les utilis­ateurs du même groupe de travail que le propri­étaire
Les autres utilis­ateurs
Lecture (r)
Ecriture (w)
Exécution (x)
Ces droits peuvent être changé que par le propri­étaire du fichier (chmod)
-rwxr-----
Le premier - fichier ordinaire.
Le propri­étaire peut rwx
Les utilis­ateurs du même groupe peuvent r
Les autres utilis­ateurs n'ont aucun droit.

Manipu­lation de fichiers

cat file1 file2
show content of file1 file2 ...
tac file1 file2
show content of file1 from the end to the top and file2 from the end

Manipu­lation de fichiers

cat file1 file2
show content of file1 file2 ...
tac file1 file2
show content of file1 from the end to the top and file2 from the end

Variables d'envi­ron­nement

env
Affiche la liste des variables d'env.
Var = val
Créer Var avec la valeur val (process actif)
export Var = val
Créer Var avec val (process actif et sous-p­rocess)
echo $Var
affiche la val de Var

Utilit­aires UNIX

compress [file]
diff file1 file2 | compare ligne à ligne
file fichier | détermine le type de fichier
find [options]
find . -name "­*.p­df"
find docs -name "­*.p­df" -exec xpdf {} `:´
-empty | les fichiers vides
-name filename | les fichiers filename
-type filetype | les fichiers de type
type : d (direc­tory) f (file) l (link)
-newer filename | plus récent que filename
-size [+-]n | recherche par taille

alias

alias ls='ls -la' | ls par ls -la dans le script
 

Méta-c­ara­ctères shell

Les méta-c­ara­ctères sont interp­rétés spécia­lement par le shell avant de lancer la commande
ls *.c
Le shell remplace *.c par les fichiers courant dont le nom termine par .c
Avant d'exéc­uter, le shell analyse la ligne et remplace les méta-c­ara­ctères
*
Remplace une suite de caractères (null à l'infini)
?
Remplace un seul caractère
[]
Remplace un des caractères ou intervalle [a-z]
ls [hg]*
tous fichiers commençant par h ou g
ls .[a-z].
Tous fichiers ayant .une_l­ettre.
{}
Remplace par chaque élément [a,b,c]
ls file_{­uni­x,l­inux}
affiche le fichier file_unix et file_linux
ls '*.c'
Empêche l'inte­rpr­étation des méta-c­ara­ctères

Manipu­lation de fichiers

cat file1 file2 | show content of file1 file2 ...
zcat file | décompress et affiche
tac file1 file2 | show content of file1 from the end to the top and file2 from the end
cd dir | se déplace dans dir
cd | reviens dans le rép de co.
cd - | reviens dans le rep précèdent
cd .. | remonte d'un niveau
cp [-ipr] src dest | copie src to dest
-i | demande confir­mation si écrasement
-p | préserve les dates d'accès et modif
-r | copie récursive (l'arb­ore­scence)
echo message | affiche message
ls [-aldF] | affiche le contenu du répertoire
-l | affiche les droits d'accès
-a | affiche les fichiers commençant par .
-d | Décrit le répertoire et pas son contenu
-F | Format court * si exe / si rep
mkdir chemin | créer le répertoire chemin
rmdir chemin | supprime le répertoire
--igno­re-­fai­l-o­n-n­on-­empty | supprime si non vide
mv [-i] src dest | déplace src vers dest (peut servir pour renommer)
-i | confir­mation en cas d'écra­sement
pwd | affiche le répertoire courant
rm [-ri] file | supp file
-i | confir­mation pour chacun
-r | recursive, détruit l'arbo­res­cence
head [-n] file | affiche les n premières lignes du fichier
tail +8 file | affiche à partir de la ligne 8
tail -8 file | affiche les 8 dernières lignes
more file | affiche page par page
less file | page par page amélioré
tar cvf namear­chive file/dir | créer namear­chive contenant file ou dir
tar tvf namear­chive | affiche son contenu
tar xvf namear­chive | décomp­resse l'archive
wc [-cwl] [file] | affiche le nombre de :
-c | charactère
-w | word
-l | ligne
who | affiche quel user nous sommes
touch -acmt file | modifie la date d'accès
-a | l'heure du dernier accès au file
-c |ne créer pas les file
-m | change l'heure de dernière modif.
-t | utilise la data indiquée au lieu de now
grep [option] motif file | affiche les lignes de file qui contie­nnent motif
-v | aff lignes qui n'ont pas motif
-c | seulement le nombre de lignes
-n | indique les numéros des lignes
-i | ne distinque pas maj et min
sort [-rnu] file | trie les lignes
-r | reverse -u | évite les doublons -n | tri numérique
tr chaine1 chaine2 | remplace ch1 par ch2
uniq [-cud] file | examine ligne par ligne et détermine lignes duppli­quées conséc­utives
 

rsync

conçu pour syncrh­oniser des répert­oires sur 2 machines
copie que les fichiers changés
transfère que ce qui change au sein d'un fichier
peut compresser les blocs transférés
conserve les permis­sions
peut foncti­onner via ssh (utile pour maj site web)

Périph­ériques spéciaux

/dev/null | pour se débarr­asser d'une sortie
/dev/zero | permet de créer un fichier rempli de 0
dd if=/de­v/zero of=dis­k.img bs=1k count=2048
echo $RANDOM > file | génére un nombre aléatoire

Contrôle de tâches

ls -Ral / > ls-Ral.txt & | le & fait tourner la tâche en fond
jobs | affiche les tâches qui tournent
kill [-signal] num_tache | arrête la tâche
sleep n | bloque le shell pendant n sec
cmd1 ; cmd2 ; cmd3 | sépare les cmd par ;
cmd1 || cmd2 | cmd2 si cmd1 échoue
cmd1 && cmd2 | cmd2 si cmd1 ok
which cmd | affiche le chemin de l'exe

Script

La première ligne du script doit préciser l'inte­rpr­éteur du script.
#! /bin/bash
Ici nous utilisons bash
chmod a+x file | rend le scipt exécutable

Entrées / sorties

Entrée standard est le clavier
Sortie standard est l'écran
Sortie standard des erreurs est l'écran
ls > result | redirige la sortie standard dans un fichier
ls > result | ajoute le contenu dans result
cat < file | le paramètre se trouve dans file
cat < file > result | entrée file et sortie result
ls 2> error | redirige les erreurs dans file
ls &> file | redirige les erreurs et la sortie std
ls | sort -r | affiche le contenu du rep à l'envers le | utilise la sortie de cmd1 dans cmd2
tee [-a] file | sert à afficher le res d'une cmd à l'écran et dans un fichier
ifconfig | tee log | affiche res à l'écran et dans log
-a | ajoute à la suite du fichier
yes | rm -r dir/ | la cmd yes sert à remplir l'entré ici confirmer la suppre­­ssion

liens symbol­iques et physiques

Symb. fichier spécial qui est une référence au nom d'un autre (fichhier ou répert­oire)
ln -s nom_fi­chier nom_lien
ls -l affiche -> quand c'est un lien
rm nom_lien | supp le lien
Phys. fichier ordinaire avec le même contenu

Manip des processus

kill -STOP 1023 | stop le process 1023
top | affiche en continu les processus
ps [-e] [-l] | affiche la liste des process.
-l obtiens plus d'info | -e tous les users

Autres

wget url | téléch­arger un fichier
-m fait un site miroir
bc | basic calculator -l pour float
Consoles multiples ctrl + alt + F1à6