Commandes de base

Coreutils : Les commandes basiques de Linux

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

console_baniere




Introduction



Dans cet article nous allons partir à la découverte des commandes des coreutils.
Ce sont toutes les commandes standard des systèmes Linux : (chmod, cp, dd, ls, sort, tr, head, wc, who,...)

Nous allons parcourir les principaux par type d'outil et citer un ou plusieurs exemples d'utilisation.

Les commandes sont triées par type de commande puis par ordre alphabétique.

Voici sur un système Red Hat 8 la liste des commandes :

Code TEXT :
/usr/bin/[
/usr/bin/arch
/usr/bin/b2sum
/usr/bin/base32
/usr/bin/base64
/usr/bin/basename
/usr/bin/cat
/usr/bin/chcon
/usr/bin/chgrp
/usr/bin/chmod
/usr/bin/chown
/usr/bin/cksum
/usr/bin/comm
/usr/bin/cp
/usr/bin/csplit
/usr/bin/cut
/usr/bin/date
/usr/bin/dd
/usr/bin/df
/usr/bin/dir
/usr/bin/dircolors
/usr/bin/dirname
/usr/bin/du
/usr/bin/echo
/usr/bin/env
/usr/bin/expand
/usr/bin/expr
/usr/bin/factor
/usr/bin/false
/usr/bin/fmt
/usr/bin/fold
/usr/bin/groups
/usr/bin/head
/usr/bin/hostid
/usr/bin/id
/usr/bin/install
/usr/bin/join
/usr/bin/link
/usr/bin/ln
/usr/bin/logname
/usr/bin/ls
/usr/bin/md5sum
/usr/bin/mkdir
/usr/bin/mkfifo
/usr/bin/mknod
/usr/bin/mktemp
/usr/bin/mv
/usr/bin/nice
/usr/bin/nl
/usr/bin/nohup
/usr/bin/nproc
/usr/bin/numfmt
/usr/bin/od
/usr/bin/paste
/usr/bin/pathchk
/usr/bin/pinky
/usr/bin/pr
/usr/bin/printenv
/usr/bin/printf
/usr/bin/ptx
/usr/bin/pwd
/usr/bin/readlink
/usr/bin/realpath
/usr/bin/rm
/usr/bin/rmdir
/usr/bin/runcon
/usr/bin/seq
/usr/bin/sha1sum
/usr/bin/sha224sum
/usr/bin/sha256sum
/usr/bin/sha384sum
/usr/bin/sha512sum
/usr/bin/shred
/usr/bin/shuf
/usr/bin/sleep
/usr/bin/sort
/usr/bin/split
/usr/bin/stat
/usr/bin/stdbuf
/usr/bin/stty
/usr/bin/sum
/usr/bin/sync
/usr/bin/tac
/usr/bin/tail
/usr/bin/tee
/usr/bin/test
/usr/bin/timeout
/usr/bin/touch
/usr/bin/tr
/usr/bin/true
/usr/bin/truncate
/usr/bin/tsort
/usr/bin/tty
/usr/bin/uname
/usr/bin/unexpand
/usr/bin/uniq
/usr/bin/unlink
/usr/bin/users
/usr/bin/vdir
/usr/bin/wc
/usr/bin/who
/usr/bin/whoami
/usr/bin/yes


Outils pour les fichiers



chcon permet de changer le contexte de sécurité SELinux d'un fichier :
Code BASH :
chcon -R -t httpd_sys_rw_content_t /server/www



chgrp permet de changer le groupe propriétaire d'un fichier :
Code BASH :
chgrp users fichier.txt



chown permet de cnager l'utilisateur d'un fichier :
Code BASH :
chown -R adrien /home/adrien



cp permet de copier un fichier :
Code BASH :
cp fichier.txt copie_de_fichier.txt



dd permet la copie brute d'un périphérique physique :
Code BASH :
dd if=/dev/sda1 of=/home/adrien/copie_brute_de_sda1



df permet de montrer l'espace disque occupé par un système de fichiers monté :
Code BASH :
 df -h

Code TEXT :
Sys. de fichiers          Taille Utilisé Dispo Uti% Monté sur
devtmpfs                     10M       0   10M   0% /dev
tmpfs                       7,9G    352M  7,5G   5% /dev/shm
tmpfs                       7,9G    1,5M  7,9G   1% /run
/dev/mapper/rootvg-gentoo    84G     63G   17G  80% /
cgroup_root                  10M       0   10M   0% /sys/fs/cgroup
/dev/sda3                   975M    192M  717M  22% /boot
/dev/sda1                    99M    249K   99M   1% /boot/efi
/dev/mapper/rootvg-home     138G    104G   33G  77% /home
/dev/sdb1                   1,8T    1,8T   81G  96% /media/DATA
/dev/mapper/rootvg-vmssd     84G     35G   49G  42% /media/SSD
tmpfs                       1,6G     68K  1,6G   1% /run/user/1000
 



dir liste les fichiers de la même manière que ls -Cb :
Code BASH :
dir /

Code TEXT :
bin   dev  home  lib64         media  opt   root    sbin     srv  tmp  var
boot  etc  lib     lost+found  mnt    proc  run    selinux  sys  usr



install permet de copier un fichier et paramétrer ses attributs :
Code BASH :
install -m750 script.sh /usr/bin/monscriptperso



ln permet de créer un lien (symbolque ou physique) vers un fichier :
Code BASH :
ln -s fic lien_vers_fic



ls permet de lister les fichiers :
Code BASH :
ls -l /home

Code TEXT :
drwxrwxr-x  17 adeline nous  4096 27 sept.  2020 adeline
drwx-----x 101 adrien  nous 20480 18 juin  09:01 adrien
drwxr-xr-x   3    1002 1004  4096 11 avril  2019 invite
 



mkdir permet de créer un répertoire :
Code BASH :
mkdir dossier



mkfifo permet de créer un tube nommé fifo sous forme de fichier :
Code BASH :
mkfifo monfifo



mktemp permet de créer un nom unique pour un fichier temporaire :
Code BASH :
mktemp adrien.XXXX



mv permet de déplacer (ou renommer) un fichier :
Code BASH :
mv adrien adrien_new



rm permet de supprimer un fichier :
Code BASH :
rm fichier.txt



rmdir permet de supprimer un répertoire s'il est vide :
Code BASH :
rmdir dossier



shred permet d’écraser le contenu d'un fichier (s'applique aussi à un disque, une partition ) :
Code BASH :
shred fichier.txt



sync permet d'exécuter immédiatement les requêtes en écriture qui sont en attente :
Code BASH :
sync



touch permet de créer un fichier vide ou modifier le timestamp d'un fichier :
Code BASH :
touch fichiervide



truncate permet de réduire ou augmenter la taille d'un fichier donné :
Code BASH :
truncate -s 5K ls_help



vdir liste les fichiers de la même manière que ls -lb :
Code BASH :
vdir /home

Code TEXT :
drwxrwxr-x  17 adeline nous  4096 27 sept.  2020 adeline
drwx-----x 101 adrien  nous 20480 18 juin  09:01 adrien
drwxr-xr-x   3    1002 1004  4096 11 avril  2019 invite
 


realpath affiche le chemin absolu d'un fichier, d'un lien symbolique :
Code BASH :
realpath lien_vers_fic

Code TEXT :
/root/fic



Outils pour le texte



base64 permet d'encoder ou de décoder en base64 :
Code BASH :
echo coucou | base64
echo Y291Y291Cg== | base64 -d


cat permet d'afficher le contenu d'un fichier ou d'en concaténer plusieurs :
Code BASH :
cat /etc/group



cut sélectionne une colonne dans un fichier :
Code BASH :
cut -d':' -f 1 /etc/passwd



head permet d'afficher les premières lignes d'un fichier ;:
Code BASH :
head -5 /etc/passwd



md5sum permet de calculer la somme md5 d'un fichier
Code BASH :
 md5sum /etc/passwd

Code TEXT :
5c7733be02112522e70bb8857b2141bb  /etc/passwd



nl permet de numéroter les lignes d'un fichier :
Code BASH :
nl  /etc/shells 

Code TEXT :
     1    /bin/sh
     2    /bin/bash
     3    /usr/bin/sh
     4    /usr/bin/bash
 


paste permet d'afficher sur la sortie standard les lignes correspondantes séparées par une tabulation :
Code BASH :
paste /etc/group /etc/gshadow

Code TEXT :
root:x:0:    root:::
bin:x:1:    bin:::
daemon:x:2:    daemon:::
sys:x:3:    sys:::
adm:x:4:    adm:::
tty:x:5:    tty:::
disk:x:6:    disk:::



sha1sum permet de calculer la somme sha1 d'un fichier : (sha224sum, sha256sum, sha384sum, sha512sum)
Code BASH :
 sha1sum /etc/passwd

Code TEXT :
acbd59ff1f6df4189492c63299c3b04504435119  /etc/passwd/code]
 
 
[b]shuf[/b] permet de permuter de manière aléatoire les données du flux d'entrée :
[code=bash](echo 1; echo 2; echo 3; echo 4) | shuf[/code]
[code=text]3
4
2
1
[/code]
 
 
[b]sort[/b] permet de trier par ordre alphabétique les lignes d'un fichier (ou de l'entrée standard) :
[code=bash]sort /etc/passwd[/code]
 
 
[b]tac[/b] permet d'afficher un fichier en inversant les lignes :
[code=bash]tac /etc/group[/code]
 
 
[b]tail[/b] permet d'afficher les dernières lignes d'un fichier :
[code=bash]tail -5 /etc/passwd[/code]
 
 
[b]tr[/b] permet de changer un caractère particulier de l'entrée standard :
[code=bash]echo coucou | tr c t[/code]
 
 
[b]uniq[/b] permet de supprimer lignes doublons consécutives d'un fichier (souvent utilisé après sort)
[code=bash]sort liste.txt | uniq[/code]
 
 
[b]wc[/b] permet de compter le nombre de lignes, de mots et de caractères d'un fichier :
[code=bash]wc /etc/resolv.conf
wc -l /etc/passwd[/code]
 
 
-- Outils pour les shells --
 
 
[code=bash][/code]
 
 
[code=bash][/code]
 
 
[code=bash][/code]
 
 
[code=bash][/code]
 
 
[code=bash][/code]
 
 
[code=bash][/code]
 
 
 
-- Archives --
 
 
 
 
 
--- arch ---
 
 
 
Cette commande affiche l'architecture de la machine :
 
 
 
[code=bash]arch[/code]
 
 
 
[code=text]i686[/code]
 
 
 
--- cat ---
 
 
 
Cette commande affiche le contenu d'un fichier :
 
 
 
[code=bash]cat fichier.txt[/code]
 
 
 
[code=text]Bonjour
Voici un fichier
Au revoir[/code]
 
 
 
--- cd ---
 
 
 
Cette commande permet de changer de répertoire :
 
 
 
[code=bash]cd /home[/code]
 
 
 
--- chgrp ---
 
 
 
Cette commande change le groupe propriétaire d'un fichier :
 
 
 
[code=bash]chgrp users fichier.txt[/code]
 
 
 
--- chmod ---
 
 
 
Cette commande change les droits d'un fichier :
 
 
 
[code=bash]chmod +x fichier.txt[/code]
 
 
 
--- chown ---
 
 
 
Cette commande change l'utilisateur propriétaire d'un fichier :
 
 
 
[code=bash]chown adrien fichier.txt[/code]
 
 
 
--- cp ---
 
 
 
Cette commande copie un fichier :
 
 
 
[code=bash]cp fichier.txt copie.txt[/code]
 
 
 
--- date ---
 
 
 
Cette commande affiche la date :
 
 
 
[code=bash]date[/code]
 
 
 
--- df ---
 
 
 
Cette commande affiche la liste des systèmes de fichiers montés et l'espace occupé de chacun :
 
 
 
[code=bash]df[/code]
 
 
 
[code=text]Sys. de fichiers blocs de 1K  Utilisé Disponible Uti% Monté sur
/dev/md0p1          28706020  2746020   24478776  11% /
devtmpfs               10240        0      10240   0% /dev
shm                   771096        0     771096   0% /dev/shm
tmpfs                 771096      496     770600   1% /run
cgroup_root            10240        0      10240   0% /sys/fs/cgroup
/dev/md0p4          69021192 14804904   50687176  23% /home
/dev/md0p3          51475068  2965840   45871404   7% /var[/code]
 
 
 
--- du ---
 
 
 
Cette commande affiche la taille d'un dossier :
 
 
 
[code=bash]du -h /bin[/code]
 
 
 
[code=text]7.7M    /bin[/code]
 
 
 
--- echo ---
 
 
 
Cette commande affiche du texte :
 
 
 
[code=bash]echo coucou[/code]
 
 
 
[code=text]coucou[/code]
 
 
 
--- exit ---
 
 
 
Cette commande quitte l'interpréteur de commande :
 
 
 
[code=bash]exit[/code]
 
 
 
--- find ---
 
 
 
Cette commande recherche des fichiers :
 
 
 
[code=bash]find *.txt[/code]
 
 
 
[code=text]copie.txt
fichier.txt[/code]
 
 
 
--- free ---
 
 
 
Cette commande affiche l'état de la mémoire vive (RAM) et de pagination (SWAP) utilisée :
 
 
 
[code=bash]free[/code]
 
 
 
[code=text]             total       used       free     shared    buffers     cached
Mem:       1542196    1412488     129708      33652     252100     576296
-/+ buffers/cache:     584092     958104
Swap:      3906248      40340    3865908[/code]
 
 
 
--- grep ---
 
 
 
Cette commande affiche les lignes d'un fichier correspondant à une expression
 
 
 
[code=bash]grep Bonjour fichier.txt[/code]
 
 
 
[code=text]Bonjour[/code]
 
 
 
--- groups ---
 
 
 
Cette commande affiche la liste des groupes dont fait partie l'utilisateur :
 
 
 
[code=bash]groups[/code]
 
 
 
[code=text]lp wheel uucp cron audio cdrom video cdrw usb users adrien[/code]
 
 
 
--- head ---
 
 
 
Cette commande affiche les premières lignes de fichiers :
 
 
 
[code=bash]head -2 fichier.txt[/code]
 
 
 
[code=text]Bonjour
Voici un fichier[/code]
 
 
 
--- hostname ---
 
 
 
Cette commande affiche le nom d'hôte de la machine :
 
 
 
[code=bash]hostname[/code]
 
 
 
[code=text]oxygen.linuxtricks.fr[/code]
 
 
 
--- id ---
 
 
 
Cette commande affiche l'ID de l'utilisateur, l'ID du groupe et les groupes de l'utilisateur :
 
 
 
[code=bash]id[/code]
 
 
 
[code=text]uid=1000(adrien) gid=1000(adrien) groupes=1000(adrien),7(lp),10(wheel),14(uucp),16(cron),18(audio),19(cdrom),27(video),80(cdrw),85(usb),100(users)[/code]
 
 
 
--- kill ---
 
 
 
Cette commande tue un processus par son PID (Processus IDentifier) :
 
 
 
[code=bash] kill 25202[/code]
 
 
 
[code=text][1]+  Complété              cat /dev/zero > /dev/null[/code]
 
 
 
--- killall ---
 
 
 
Cette commande tue tous les processus par son nom :
 
 
 
[code=bash]killall cat[/code]
 
 
 
[code=text][1]+  Complété              cat /dev/zero > /dev/null[/code]
 
 
 
--- last ---
 
 
 
Cette commande affiche les derniers utilisateurs connectés sur le système :
 
 
 
[code=bash]last -n 3[/code]
 
 
 
[code=text]adrien   pts/4        94.185.65.78    Sat Aug 29 07:33    gone - no logout
adrien   pts/4        10.21.27.100     Sat Aug 29 06:50 - 07:33  (00:42)
adrien   pts/3        89.158.55.229    Sat Aug 29 06:44 - 09:24  (02:40)
wtmp commence Sun Apr 26 18:17:01 2015[/code]
 
 
 
--- ldd ---
 
 
 
Cette commande affiche les librairies partagées d'un programme :
 
 
 
[code=bash]ldd /bin/bash[/code]
 
 
 
[code=text]        linux-gate.so.1 (0xb76ea000)
        libreadline.so.6 => /lib/libreadline.so.6 (0xb769f000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7654000)
        libc.so.6 => /lib/libc.so.6 (0xb74bb000)
        /lib/ld-linux.so.2 (0xb76eb000)[/code]
 
 
 
--- ln ---
 
 
 
Cette commande créé des liens vers des fichiers :
 
 
 
[code=bash]ln -s fichier.txt lien-vers-fichier.txt[/code]
 
 
 
--- logname ---
 
 
 
Cette commande affiche le nom d'utilisateur connecté :
 
 
 
[code=bash]logname[/code]
 
 
 
[code=text]adrien[/code]
 
 
 
--- ls ---
 
 
 
Cette commande liste le contenu d'un répertoire :
 
 
 
[code=bash]ls[/code]
 
 
 
[code=text]copie.txt  fichier.txt  lien-vers-fichier.txt[/code]
 
 
 
--- man ---
 
 
 
Cette commande [b](très utile)[/b] affiche le manuel d'utilisation d'une commande :
 
 
 
[code=bash]man bash[/code]
 
 
 
--- md5sum ---
 
 
 
Affiche la somme MD5 d'un fichier :
 
 
 
[code=bash]md5sum fichier.txt[/code]
 
 
 
[code=text]dfee7f76979716f722d7caa4a774b5c8  fichier.txt[/code]
 
 
 
--- mkdir ---
 
 
 
Cette commande créé un répertoire
 
 
 
[code=bash]mkdir test[/code]
 
 
 
--- mv ---
 
 
 
Cette commande déplace un fichier ou le renomme :
 
 
 
[code=bash]mv fichier.txt fichier-renomme.txt[/code]
 
 
 
--- nl ---
 
 
 
Cette commande affiche le nombre de lignes d'un fichier :
 
 
 
[code=bash]nl fichier.txt[/code]
 
 
 
[code=text]     1  Bonjour
     2  Voici un fichier
     3  Au revoir[/code]
 
 
 
--- pidof ---
 
 
 
Cette commande affiche le PID d'un processus par son nom :
 
 
 
[code=bash]pidof cat[/code]
 
 
 
[code=text]25520[/code]
 
 
 
--- ping ---
 
 
 
Cette commande contacte un hôte par son adresse IP ou son nom :
 
 
 
[code=bash] ping -c 2 linuxtricks.fr[/code]
 
 
 
[code=text]PING linuxtricks.fr (212.227.108.142) 56(84) bytes of data.
64 bytes from 212.227.108.142: icmp_seq=1 ttl=50 time=32.5 ms
64 bytes from 212.227.108.142: icmp_seq=2 ttl=50 time=25.6 ms
-.-.- linuxtricks.fr ping statistics -.-.-
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 25.622/29.105/32.589/3.487 ms[/code]
 
 
 
--- ps ---
 
 
 
Cette commande affiche les processus en cours d'exécution :
 
 
 
[code=bash]ps[/code]
 
 
 
[code=text]  PID TTY          TIME CMD
20605 pts/4    00:00:00 bash
25520 pts/4    00:01:29 cat
25573 pts/4    00:00:00 ps[/code]
 
 
 
--- pstree ---
 
 
 
Cette commande affiche les processus sous la forme d'un arbre :
 
 
 
[code=bash]pstree[/code]
 
 
 
[code=text]init-+-6*[agetty]
     |-apache2-+-apache2
     |         `-2*[apache2---26*[{apache2}]]
     |-cron
     |-dhcpd
     |-fail2ban-server---2*[{fail2ban-server}]
     |-mdadm
     |-mysqld---43*[{mysqld}]
     |-named---4*[{named}]
     |-ntpd
     |-python2-+-python2---10*[{python2}]
     |         |-python2
     |         `-12*[{python2}]
     |-rsyslogd-+-{in:imklog}
     |          |-{in:imuxsock}
     |          `-{rs:main Q:Reg}
     |-screen---bash---su---bash
     |-screen---bash---irssi---{gmain}
     |-sshd-+-sshd---sshd-+-bash
     |      |             `-4*[{sshd}]
     |      `-sshd---sshd-+-bash-+-cat
     |                    |      `-pstree
     |                    `-4*[{sshd}]
     |-udevd
     |-zabbix_agentd---5*[zabbix_agentd]
     `-zabbix_server---26*[zabbix_server][/code]
 
 
 
--- pwd ---
 
 
 
Cette commande affiche le répertoire dans lequel on se trouve :
 
 
 
[code=bash]pwd[/code]
 
 
 
[code=text]/home/adrien/test[/code]
 
 
 
--- rm ---
 
 
 
Cette commande supprime un fichier ou un répertoire :
 
 
 
[code=bash]rm fichier.txt[/code]
 
 
 
--- rmdir ---
 
 
 
Cette commande supprime un dossier :
 
 
 
[code=bash]rmdir test[/code]
 
 
 
--- sed ---
 
 
 
Cette commande permet d'éditer le flux ou un fichier et de transformer le texte :
 
 
 
[code=bash] echo "Mon nom est adrien" | sed -e 's/adrien/christophe/g'[/code]
 
 
 
[code=text]Mon nom est christophe[/code]
 
 
 
--- shutdown ---
 
 
 
Cette commande sert à arrêter ou redémarrer le système :
 
 
 
[code=bash]shutdown now[/code]
 
 
 
--- tail ---
 
 
 
Cette commande affiche les dernières lignes d'un fichier :
 
 
 
[code=bash]tail -n 2 fichier.txt [/code]
 
 
 
[code=text]Voici un fichier
Au revoir[/code]
 
 
 
--- touch ---
 
 
 
Cette commande change la date de dernier accès d'un fichier. S'il n'existe pas, un fichier vide est créé :
 
 
 
[code=bash]touch fichier.txt[/code]
 
 
 
--- tty ---
 
 
 
Cette commande affiche le nom du terminal actuellement utilisé :
 
 
 
[code=bash]tty[/code]
 
 
 
[code=text]/dev/pts/4[/code]
 
 
 
--- uname ---
 
 
 
Cette commande affiche le nom d'hôte, le noyau utilisé, sa version, le processeur :
 
 
 
[code=bash]uname -a[/code]
 
 
 
[code=text]Linux oxygen.linuxtricks.fr 3.18.20-calculate #1 SMP Sun Aug 9 20:25:17 UTC 2015 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz GenuineIntel GNU/Linux[/code]
 
 
 
--- uptime ---
 
 
 
Cette commande affiche la charge système et son temps de fonctionnement :
 
 
 
[code=bash]uptime[/code]
 
 
 
[code=text] 10:41:58 up 16 days,  2:09,  2 users,  load average: 1.21, 1.07, 0.81[/code]
 
 
 
--- users ---
 
 
 
Cette commande affiche le nom des utilisateurs connectés :
 
 
 
[code=bash]users[/code]
 
 
 
[code=text]adrien root[/code]
 
 
 
--- w ---
 
 
 
Cette commande montre les utilisateurs connectés et ce qu'ils font :
 
 
 
[code=bash]w[/code]
 
 
 
[code=text] 10:43:09 up 16 days,  2:10,  2 users,  load average: 1.33, 1.13, 0.85
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
adrien   pts/0     01:27    9:15m  0.00s  0.00s -bash
adrien   pts/4     07:33    6.00s 13:36   0.00s w[/code]
 
 
 
--- wall ---
 
 
 
Cette commande envoie un message à tout le monde sur le système (Attention, cela affiche même si vous éditez en console un fichier) :
 
 
 
[code=bash]wall Bonjour à tous[/code]
 
 
 
--- whatis ---
 
 
 
Cette commande affiche une brève description de ce qu'est la commande associée :
 
 
 
[code=bash]whatis bash[/code]
 
 
 
[code=text]bash (1)             - GNU Bourne-Again SHell[/code]
 
 
 
--- who ---
 
 
 
Cette commande affiche qui est connecté sur le système :
 
 
 
[code=bash]who[/code]
 
 
 
[code=text]adrien   pts/0        2015-08-29 01:27 (94.185.65.78)
adrien   pts/4        2015-08-29 07:33 (94.185.65.78)[/code]
 
 
 
--- whereis ---
 
 
 
Cette commande affiche l'emplacement d'un fichier exécutable, d'une source ou d'un manuel :
 
 
 
[code=bash]whereis bash[/code]
 
 
 
[code=text]bash: /bin/bash /etc/bash /usr/share/man/man1/bash.1.bz2




:magic: