Outils pour utilisateurs

Outils du site


les_commandes_de_base_sous_linux

Commandes de base sur GNU/Linux

Introduction

Ce guide a été créé pour répertorier les commandes de base utilisées dans une console. Elles sont communes à toutes les distributions GNU/Linux. Il est plus simple de les apprendre car, tout peut arriver. Et oui, il suffit d'un plantage de l'interface graphique pour se retrouver avec un mode console forcé. Et là, ces commandes peuvent bien servir. Avec ça, il faut garder en tête que certaines commandes nécessitent d'être en super utilisateur pour être utilisées tout comme certaines commandes peuvent avoir des options. Le schéma à utiliser lorsque l'on veut utiliser une commande avec son option est :

nomdelacommande -option1 -option2

Enfin, pour en savoir plus sur une commande, il suffit de taper dans une console:

man nomdelacommande

Note : Pour quitter un manuel en console, on appuie sur q

commandeaction
pwd affiche le répertoire courant
cd rep se place dans le répertoire rep
cd se place dans le répertoire de l'utilisateur ~/
cd .. se place dans le répertoire parent
ls rep liste les fichiers du répertoire rep
ls -a ls avec les fichiers cachés
ls -l ls avec les droits d'accès

actions sur les fichiers/dossiers

commandeaction
mv source cible deplace le fichier source vers cible
cp source cible copie le fichier source vers cible
cp -R source cible copie le répertoire source vers cible
ln source lien créer un lien fort de source vers lien
ln -s source lien créer un lien symbolique de source vers lien
touch file créer le fichier file ou met à jour sa date de modification
mkdir rep créer un repertoire rep
mkdir -p rep/rep2 mkdir avec création des dossiers parents si nécessaire
rm file supprime le fichier file
rm -f file supprime le fichier file protégé en écriture
rmdir rep supprimer un répertoire vide
rm -R rep supprime un répertoire
du -h file ou rep affiche la taille du fichier file ou du répertoire rep

afficher/comparer les fichiers

commandeaction
wc fichier compte le nombre de lignes, de mots, d'octets de fichier
cat fichiers concatène les fichiers
more fichier affiche fichier page après page. 'Espace'=page suivante, 'Entrée'=ligne suivante, 'u'=remonter
less fichier affiche fichier avec une navigation Left/Right/Up/Down/PageUp/PageDown
head -n x fichier affiche les x premières lignes de fichier
tail -n x fichier affiche les x dernières lignes de fichier
tail -f fichier affiche la dernière ligne de fichier au fur et à mesure qu'il se remplit
diff file1 file2 affiche les différences entre deux fichiers texte
diff -u file1 file2 affiche les différences au format utilisé par patch
comp file1 file2 compare deux fichiers binaires
comp file1 file2 n N compare deux fichiers, file1 à partir du nième octet, et file2 à partir du Nième

utilisateurs

commandeaction
whoami affiche le login de l'utilisateur
who affiche les utilisateurs connectés
id afficher les uid, gid et groupes de l'utilisateur
id user afficher les uid, gid et groupes de user (root only)
finger user affiche les informations de user
write user afficher un message sur le terminal de user
tty afficher le nom de son terminal
su - sudo passer en mode administrateur
passwd changer le mot de passe de l'utilisateur courant
adduser ajouter un utilisateur
deluser supprime un utilisateur
addgroup ajoute un groupe
delgroup supprime un groupe

processus

commandeaction
ps afficher les processus de l'utilisateur rattachés à un terminal
ps ax afficher tous les processus
ps aux afficher tous les processus en indiquant les utilisateurs
pstree afficher les processus dans une arborescence
top afficher un tableau de bord des processus les plus gourmands
kill signal pid tuer un processus en utilisant son pid
pkill signal nom tuer un processus en utilisant le nom du programme

signaux utilisés par kill/pkill

signalaction
-1 (HUP) recharger le fichier de configuration du processus
-2 (INT) interrompre le processus
-3 (QUIT) quitter le processus
-9 (KILL) tuer le processus (à eviter, tenter -15 avant)
-15 (TERM) terminer le processus proprement
-18 (STOP) geler le processus
-20 (CONT) reprendre l'exécution d'un processus gelé

tâches périodiques (cron)

commandeaction
crontab -l liste les tâches de l'utilisateur
crontab -e editer les tâches de l'utilisateur
crontab -e -u user editer les tâches de user (root only)

syntaxe de crontab
le fichier crontab est composé de commandes comprenant 5 champs temporels, un nom d'usager si il s'agit du fichier de configuration principal et d'une commande à exécuter.
les 5 champs temporels:

  • m minutes (0-59)
  • h heures (0-23)
  • dom numéro du jour du mois (1-31)
  • mon numéro du mois (1-12)
  • dow numéro du jour de la semaine (0-7 avec dimanche = 0 & 7)

les types de variables:

  • x,y liste de valeurs
  • x-y intervalle de valeurs
  • * toute la valeur
  • /n période

exemples:

crontabaction
0 5 * * * commande exécute commande tous les jours à 5h00
*/5 * * * * commande exécute commande toutes les 5 minutes
10 22 * * 2/2 commande exécute commande un mardi sur deux à 22h10
53 21 * * 1-5 commande exécute commande du lundi au vendredi à 21h53
36 18 10,20 * * commande exécute commande les 10 et 20 du mois à 18h36
0 12 20 7 * commande exécute commande tous les 20 juillet à 12h00 (anniversaire)

matériel

commandeaction
lsusb liste les périphériques de type usb connectés
lspci liste les périphériques de type pci connectés
cat /proc/cpuinfo affiche les informations processeur
cat /proc/partitions affiche les partitions montées

exemples: (sources: linuxtrack)

commandeaction
lspci | grep -i vga | cut -d: -f3 afficher le modèle de sa carte graphique
lspci | grep -i network | cut -d: -f3 afficher le modèle de sa carte wifi
lspci | grep -i audio | cut -d: -f3 afficher le modèle de sa carte son

réseau

commandeaction
hostname affiche le nom d'hôte de la machine
ping machine envoie un ping à une machine
traceroute machine fait un traceroute vers machine
netstat affiche l'usage du réseau pas les processus
netstat -a netstat avec l'affichage des processus serveurs
lsof liste détaillée de l'usage des fichiers et du réseau
ifconfig affiche la configuration des interfaces réseaux
ifconfig interface IP masque configure une interface réseau
route affiche la table de routage
curl ifconfig.me vérifier son IP publique
ip address show eth0 | grep "inet " | tr -s " " ":" | cut -d: -f3 vérifier son IP locale pour eth0
/sbin/ifconfig eth0 | grep "inet " | tr -s " " ":" | cut -d: -f4
ip address show eth0 | grep "inet " | tr -s " " ":" | tr -s "/" ":" | cut -d: -f3

permissions

format des droits et permissions

format classique des droits et permissions d'un dossier/fichier: prenons l'exemple du dossier source de wmfs.

┌─[arp@thinkdeb]─[~]
└─|$ ls -l /home/arp/wmfs/wmfs
total 64
-rwxr-xr-x 1 arp arp  2449 Apr  1 18:05 configure
-rw-r--r-- 1 arp arp  1528 Apr  1 18:05 COPYING
drwxr-xr-x 3 arp arp  4096 Apr  1 18:05 debian
-rw-r--r-- 1 arp arp  2128 Apr  1 18:05 Makefile.in
-rw-r--r-- 1 arp arp    22 Apr  1 18:05 README
drwxr-xr-x 2 arp arp  4096 Apr  1 18:05 scripts
drwxr-xr-x 2 arp arp  4096 Apr  1 18:05 src
-rw-r--r-- 1 arp arp 12741 Apr  1 18:05 wmfs.1
-rw-r--r-- 1 arp arp   117 Apr  1 18:05 wmfs.desktop
-rw-r--r-- 1 arp arp  1320 Mar 26 16:26 wmfs-gdb.log
-rw-r--r-- 1 arp arp  8629 Apr  1 18:05 wmfsrc

les permissions: -rwxr-xr-x ou drwxr-xr-x
le premier caractère correspond au type d'objet. les suivants se lisent par groupe de trois et définissent respectivement les droits accordés:

  • au propriétaire du fichier/dossier
  • au groupe propriétaire du fichier/dossier
  • aux autres utilisateurs
labeltype d'objet
- fichier
d répertoire
l lien
s socket
p fifo
c device (mode caractère)
b device (mode block)
labeltype de droits
- pas d'accès
r accès en lecture
w accès en écriture
x accès en exécution pour les fichiers, traversée pour les dossiers
s bit set-UID (user), bit set-GID (groupe)
t sticky bit: impossible d'effacer les fichiers des autres
S bit set-UID sans les droits d'exécution
T sticky bit sans droits de travesée

changer les droits et permissions

commandeaction
chown user fichier change le propriétaire de fichier à user
chgrp groupe fichier change le groupe de fichier à groupe
chmod mode fichier change les droits d'accès au fichier

le mode de chmod peut être sous la forme groupe(s)+droit(s) ou sous la forme octale SUGO/UGO

  • la forme groupe(s)+droit(s): ou groupe= u pour user, g pour groupe et o pour others.
    $ chmod ugo+rx $HOME/repertoire           ## permet à tous de lister (lire) et traverser le répertoire
    $ chmod go-rwx $HOME/repertoire/fichier   ## retire tous les droits à tous sauf au propriétaire du fichier
  • la forme octale SUGO où:
    • S : 1 (sticky-bit), 2 (set-GID) ou 4 (set-UID)
    • U,G et O : 1 (exécutable), 2 (écriture), 4(lecture). on additionne les formes par chiffre pour obtenir un mode octal à 4 chiffres.
  • $ chmod 1750 $HOME/repertoire  ## le propriétaire et le groupe peuvent lire et traverser le répertoire, seul le propriétaire peut y écrire ou l'effacer.
    $ chmod 660 $HOME/fichier      ## le fichier est accessible au propriétaire et au groupe en lecture et écriture

recherche

commande/optionaction
locate motif recherche des fichiers dont le nom correspond au motif
updatedb mettre à jour la base de données de locate
find chemin options recherche les fichiers correspondant aux options dans chemin
find -name motif recherche sur le nom du fichier. ex: find -name '*.html'
find -type f/d/l recherche par type où f=fichier, d=répertoire et l=lien
find -exec cmd exécute la commande cmd à tous les fichiers trouvés

exemple: trouver toutes les images avec l'extension png dans le dossier images de l'utilisateur et les copier dans le dossier tmp ( '{}' représente les fichiers trouvés).

 find $HOME/pics -name '*.png' -exec cp {} $HOME/tmp/ \;

archives

les commandes utilisées possèdent bien plus d'options que celles présentées ici, je vous invite à consulter les manuels concernés.

formatcompressionextraction
.tar.bz2, .tbz2 tar -cvjf archive.tar.bz2 repertoire tar xvjf
.tar.gz, .tgz tar -cvzf archive.tar.gz repertoire tar xvzf
.bz2 bzip2 fichiers bunzip2
.rar - unrar x
.gz gzip fichiers gunzip
.tar tar -cvf archive.tar fichiers tar xvf
.zip zip -r archive.zip fichiers unzip
.Z compress fichiers uncompress
.7z 7z a fichiers 7z x
.xz xz -z repertoire unxz

kernel

diverses infos sur le noyau linux utilisé

commandedescription
cat /proc/version version du noyau Linux utilisé, son nom, la version du compilateur utilisé.
uname -r version du noyau utilisé.
dpkg -l | grep -Ei "linux-headers|linux-image" liste les noyaux installés sur votre machine.

Liens

les_commandes_de_base_sous_linux.txt · Dernière modification: 2014/12/21 19:42 (modification externe)