Le document ci-présent est un petit memento des commandes de type UNIX ou PowerShell les plus utiles au quotidien, allant de l'administration système à la gestion audio ou la programmation en différents langages.

Commandes UNIX

! : permet de rappeler la dernière commande utilisée, ou la dernière commençant par un texte précis que l'on peut ajouter derrière le symbole, ou la dernière contenant un mot placé en deux points d'interrogation

& : placé à la fin d'une ligne de commande, permet de lancer la commande en tâche de fond

&& : opérateur de multiplication logique de résultats de commande, avec court-circuit

|| : opérateur d'addition logique de résultats de commande, avec court-circuit

| : opérateur de redirection d'une sortie standard vers une entrée standard ("pipe" UNIX, sorte de tuyau connectant deux applications)

< : opérateur de redirection d'entrée standard à partir d'un fichier

> : opérateur de redirection de sortie standard vers un fichier

2> : opérateur de redirection de sortie d'erreur vers un fichier

CTRL+C : termine le processus en cours

CTRL+D : termine le flux en cours

CTRL+Z : suspend le processus en cours

adduser : ajoute un utilisateur ou un utilisateur à un groupe (adduser <user> <group> : pour ajouter par exemple un utilisateur au groupe sudo, ou au groupe sambashare)

addgroup : ajoute un groupe à un système GNU/Linux

afconvert : convertir un fichier audio sous macOS

afinfo : obtenir les informations sur un fichier audio sous macOS

afplay : lire un fichier audio sous macOS

apt : utilitaire de gestion des paquets d'installation sous GNU/Linux Debian

apt-get : utilitaire de gestion des paquets d'installation sous GNU/Linux Debian

ar : permet de créer une bibliothèque statique à partir de fichiers objet

arp : permet de manipuler les tables de traduction d'adresse du système

at : permet de lancer une commande à une heure définie

awk : utilitaire permettant de traiter à l'aide de programmes des fichiers ligne par ligne (le séparateur des champs peut être fixé avec -F, et le programme de traitement peut être stocké dans un fichier désigné par -f)

basename : renvoie le nom du fichier/dossier sans son chemin d'accès

bg : réveille "job" suspendu en le passant en tâche de fond

caffeinate : empêche l'économie d'énergie sous macOS (veille, écran de veille)

cat : redirige son entrée standard sur sa sortie standard, mais permet aussi de lire des fichiers

cd : change le répertoire courant

cflow : graphe d'appel d'un programme C sous GNU/Linux

chgrp : change le groupe d'une entité dans le système de fichier

chmod : change les autorisations d'accès d'une entité dans le système de fichier

chown : change le possesseur (et le groupe) d'une entité dans le système de fichier

clear : vide l'écran du terminal

cmp : comparaison/différences entre deux fichiers binaires (voir aussi diff)

colrm : enlève des colonnes dans chaque ligne d’un fichier texte

comm : traite les lignes communes à deux fichiers triés lexicographiquement

convert : utilitaire de conversion d'image sous GNU/Linux

cp : copie un fichier ou un répertoire

crontab : permet de configurer des tâches répétitives avec -e, et les liste avec -l

csrutil : utilitaire permettant de gérer la System Integrity Protection sous macOS

curl : utilitaire de téléchargement de fichier

cut : permet d'extraire des portions de lignes par octet, champ, etc.

date : affiche la date courante

dd : utilitaire de copie de flux plutôt à bas niveau

delgroup : supprime un groupe d'un système GNU/Linux

deluser : supprime un utilisateur d'un système GNU/Linux

df : permet d'afficher l'espace disque occupé et libre

diff : comparaison/différences entre deux fichiers texte (voir aussi cmp)

dig : permet d'interroger de manière interactive les serveurs DNS

dirname : renvoie le chemin d'accès du fichier/dossier sans son nom

diskutil : permet de manipuler les partitions sous macOS (avec les commandes list, eject, etc.)

dmesg : affiche (ou contrôle) les messages système

do-release-upgrade : impose une mise à jour de la distribution sous Ubuntu GNU/Linux

dpkg : gestionnaire de packages sous Debian GNU/Linux

dpkg-reconfigure : reconfiguration de certains réglages sous Debian GNU/Linux, avec par exemple le paramètre keyboard-configuration pour reconfigurer le clavier

du : permet d'afficher l'espace disque utilisé par un fichier ou un répertoire

efibootmgr : permet de manipuler l'ordre de boot en UEFI sous GNU/Linux

emacs : utilitaire d'édition de texte en ligne de commande

env : liste les variables d'environnement courantes

errinfo : affiche les appels système macOS ayant échoué et avec quel code

eval : évalue/exécute une chaîne de commandes

execsnoop : analyser les exécutions de processus sous macOS

expand : convertit les tabulations en espaces (voir unexpand)

export : fixe une variable d'environnement (pour défaire la variable, utiliser unset)

expr : permet d'évaluer une expression

fdisk : utilitaire de gestion des partitions disque

fg : réveille "job" suspendu en le passant à l'avant-plan

file : fournit des informations sur le fichier passé en paramètre

find : permet de lister tous les fichiers correspondant à -name et les affiche avec leur chemin complet

free : permet d'afficher l'espace mémoire utilisé sous GNU/Linux

fs_usage : activité du système de fichiers en temps réel sous macOS

fsck : utilitaire de vérification et de réparation de système de fichier

ftp : utilitaire permettant le transfert de fichiers sous le protocole FTP (lcd permet de changer de répertoire localement)

g++ : compilateur C++ du GNU

gcc : GNU Compiler Collection, compilateur de multiples langages

gcov : utilisé avec -fprofile-arcs et -ftest-coverage durant la compilation, permet d'analyser la couverture du code source C passé en paramètre

Get-Content : obtient le contenu d'un fichier en PowerShell

Get-Date : obtient la date courante en PowerShell

Get-FileHash : permet de calculer une somme de hachage en PowerShell

getopts : permet d'interpréter les arguments d'un script et de les traiter par exemple avec une boucle while et les variables $OPTIND et $OPTARG

gnuplot : utilitaire pour réaliser des représentations graphiques de données sous GNU/Linux

gprof : utilisé de concert avec -pg durant la compilation et l'édition de liens, permet de profiler un exécutable passé en paramètre

grep : permet de chercher les lignes répondant à un critère particulier, notamment un mot (-f prend les mots dans un fichier, -v inverse le résultat en n'affichant que les lignes ne répondant pas au critère)

groups : permet d'afficher des informations sur les groupes

gunzip : décompresse des fichiers

gzip : compresse des fichiers

halt : arrête le système, sans obligatoirement arrêter physiquement l'alimentation de la machine

head : permet d'afficher principalement de début d'un fichier, mais plus encore

heap : liste le tas alloué pour un processus sous macOS

help : affiche des informations sur une commande intégrée du shell

hexdump : dump hexadécimal d'un fichier

hdiutil : utilitaire de conversion d'images disque sous macOS

host : recherche DNS

hostname : renvoie le nom réseau du système

iconv : convertisseur générique d'encodage de texte

id : donne l'identifiant et autres de l'utilisateur

identify : fournit des informations sur une image, telles que le type, la taille, etc. sous GNU/Linux

ifconfig : permet de configurer une interface réseau

iftop : top des entrées-sorties réseau sous GNU/Linux

indent : indenter et formater un code source C

info : affiche les documents Info du système

iosnoop : analyser les entrées-sorties sous macOS

iostat : statistiques d'entrée/sortie du noyau sous macOS

iotop : présentation style top des entrées-sorties

ip : permet de manipuler le routage, etc. sous GNU/Linux

jobs : affiche les travaux en cours

kill : envoie un signal à un processus identifié par son numéro de processus

killall : envoie un signal à un processus identifié par un nom ou une expression régulière

lam : prend chaque ligne de plusieurs fichiers et concatène chaque ligne sous macOS

last : affiche les dernières connexions

ldd : lister les bibliothèques d'une application (sous GNU/Linux)

leaks : cherche les blocs mémoire non référencés dans un processus sous macOS

leave : permet d'indiquer une heure pour laquelle le système rappellera qu'il faut quitter l'ordinateur

less : utilitaire d'affichage de fichier texte, plus puissant que more

lipo : gérer les versions fat des exécutables macOS

ln : permet de créer des liens de fichiers (symboliques ou pas)

loadkeys : permet de charger la table de configuration d'un clavier sous GNU/Linux

locate : trouve un fichier recensé dans une base de données système

look : affiche les lignes d'un fichier trié commençant par un texte spécifié ; sans spécifier un fichier, la recherche se fait dans un fichier qui contient les mots de la langue anglaise

ls : liste les fichiers, en ajoutant les fichiers cachés avec l'option -a et en proposant un affichage long avec -l

lsblk : lister les périhpériques block sous GNU/Linux

lsbom : examiner ce que va mettre un package .pkg sur le HD sous macOS

lscpu : lister les CPU sous GNU/Linux

lshw : lister les périhpériques matériels sous GNU/Linux

lsmod : lister les modules chargés sous GNU/Linux

lsof : lister les fichiers et connexions réseau ouvertes

lspci : lister les périphériques PCI sous GNU/Linux

lsusb : lister les périphériques USB sous GNU/Linux

mail : client de courriel en ligne de commande

make : utilitaire permettant d'automatiser des tâches liées au temps par l'édiction de règles comprenant une cible, des dépendances et des actions

md5 : calcule la somme de contrôle selon l'algorithme MD5

mimeopen : ouvre un fichier selon son type MIME sous GNU/Linux

mimetype : affiche le type MIME du fichier sous GNU/Linux

mkdir : permet de créer des répertoires

mke2fs : crée un système de fichier ext2, ext3 ou ext4 sous GNU/Linux

mkfifo : crée une file de type FIFO ayant une entrée dans le système de fichiers, mais contenue normalement en RAM

mkfs.bfs : crée un système de fichier SCO bfs sous GNU/Linux

mkfs.cramfs : crée un système de fichier compressé en RAM (mais en lecture seule) sous GNU/Linux

mkfs.ext2 : crée un système de fichier ext2 sous GNU/Linux

mkfs.ext3 : crée un système de fichier ext3 sous GNU/Linux

mkfs.ext4 : crée un système de fichier ext4 sous GNU/Linux

mkfs.fat : crée un système de fichier FAT sous GNU/Linux

mkfs.minix : crée un système de fichier Minix sous GNU/Linux

mkfs.msdos : crée un système de fichier FAT sous GNU/Linux

mkfs.ntfs : crée un système de fichier NTFS sous GNU/Linux

mkfs.vfat : crée un système de fichier FAT sous GNU/Linux

mkntfs : crée un système de fichier NTFS sous GNU/Linux

mkswap : prepare une destination en tant que zone de swap sous GNU/Linux (cette zone peut être un fichier créé par dd/chmod et ajouté au fstab sans point de montage, en type swap et avec les options defaults)

more : utilitaire d'affichage de fichier texte

mount : permet de monter un système de fichiers dans le système

mv : déplace un fichier ou un répetoire, permet aussi de renommer

nano : éditeur en ligne de commande

nc : serveur ou client en une ligne de commande

net : utilitaire de configuration du partage Samba sous GNU/Linux

netstat : donne des informations sur l'état réseau, notamment avec l'option -r

nl : numérote les lignes d'un fichier

nm : liste les symboles d'un fichier objet

nmap : utilitaire d'exploration de réseau sous GNU/Linux

notify-send : affiche une notification sous GNU/Linux

nslookup : permet d'interroger de manière interactive les serveurs DNS

opensnoop : analyser les ouvertures de fichiers sous macOS

pandoc : convertir des formats texte en d'autres formats texte (txt, MarkDown, html, etc.) sous GNU/Linux

parted : éditeur de partitions sous GNU/Linux

passwd : permet de changer le mot de passe

paste : concatène des lignes de texte en provenance de multiples fichiers sur différentes colonnes (avec -s, la source provient d'un unique fichier)

pbcopy : copier à partir du presse-papier sous macOS

pbpaste : copier dans le presse-papier sous macOS

pdflatex : utilitaire pour convertir un fichier LaTeX en PDF sous GNU/Linux

perl : lance l'interpréteur Perl

pico : éditeur en ligne de commande sous GNU/Linux

ping : permet de tester une communication réseau en lançant un paquet particulier

pmset : permet de régler tout ce qui touche à la gestion de l'énergie sous macOS

popd : dépile un répertoire et passe dans ce répertoire (voir pushd)

poweroff : éteint le système

ps : afficher les processus en cours et des informations utiles avec -Af

ps2pdf : utilitaire pour convertir un fichier PostScript en PDF sous GNU/Linux

pushd : empile le répertoire courant et passe dans le répertoire donné (voir popd)

pwd : affiche le répertoire courant

pydoc : affiche la documentation de python (notamment en créant un serveur HTTP local sur le port indiqué par -p PORT)

python : lance l'interpréteur Python

python3 : lance l'interpréteur Python3 sous GNU/Linux

read : lit une ligne de l'entrée standard et la stocke dans la variable $REPLY

readelf : fournit des informations relatives à un fichier ELF sous GNU/Linux

reboot : redémarre le système

rev : écrit chaque ligne en sens inverse

rm : supprime des fichiers ou des répertoires

rmdir : supprime des répertoires forcément vides

route : manipuler les tables de routage statiques du système

rsync : utilitaire de synchronisation de dossiers

say : édicte sous macOS le texte fourni dans un fichier ou sur le flux standard, et permet de créer le fichier audio associé (AIFF, AAC, etc.) ; peut aussi être installé à partir du runtime GNUStep sous GNU/Linux

scp : ftp sécurisé

screen : émulateur de terminal permettant de détacher les sessions en cours sous GNU/Linux

screencapture : capture d'écran en ligne de commande sous macOS

select-editor : sélectionne l'éditeur par défaut (notamment pour crontab)

Select-String : permet de choisir des lignes contenant une chaîne donnée en PowerShell

seq : fabrique une séquence à partir d'une valeur de départ, d'un incrément et d'une valeur d'arrivée

service : permet de tester (status), démarrer (start), arrêter (stop) et autre un service sous GNU/Linux

setfile : changer les attributs d'un fichier sous macOS

setxkbmap : permet de changer la configuration de clavier sous GNU/Linux (fr pour du français)

sftp : utilitaire permettant le transfert de fichiers sous le protocole FTP sécurisé

shasum : calcule la somme de contrôle selon l'algorithme défini par l'option -a (1 par défaut)

shift : décale vers la gauche les paramètres d'un script d'un nombre N à fournir

shuf : fait une permutation aléatoire des lignes d'un fichier sous GNU/Linux

shutdown : utilitaire permettant d'arrêter, d'éteindre ou de redémarrer le système

sips : utilitaire de manipulation d'image sous macOS

softwareupdate : mise à jour macOS en ligne de commande

sort : trie les lignes d'un fichier texte (l'option -u permet de supprimer les doublons consécutifs après tri)

spell : permet de vérifier l'orthographe d'un fichier texte en affichant les mots qui ne correspondent pas à la graphie américaine sous GNU/Linux

split : découpe un fichier en plusieurs morceaux

ssh : connexion sécurisée sur une machine distante

stat : donne les informations sur le fichier

strace : listing complet des appels système d'un programme sous GNU/Linux

strings : trouve les chaînes affichables dans un fichier

strip : nettoie un exécutable

sudo : exécute une commande en tant que super-utilisateur ou en tant qu'un autre utilisateur

swapoff : désactive une ou plusieurs zones de swap sous GNU/Linux

swapon : active une ou plusieurs zones de swap sous GNU/Linux

tac : pareil que cat mais en inversant l'ordre des lignes sous GNU/Linux

tail : permet d'afficher principalement la fin d'un fichier, mais plus encore

tar : permet de créer des archives, compressées ou pas

tee : lit l'entrée standard et la redirige sur la sortie standard et un fichier

test : permet d'effectuer des tests, notamment sur les fichiers (existence, type, etc.)

textutil : convertir du texte (txt, Word, html, OpenDocument, RTF) sous macOS

time : chronomètre la commande passée en paramètre

timeout : lance une commande pendant une durée maximale spécifiée sous GNU/Linux

tload : affiche la charge système sous forme de graphique texte sous GNU/Linux

tmutil : utilitaire Time Machine en ligne de commande sous macOS

top : présentation des processus en cours ainsi que ce statistiques dans un format tabulé mis à jour en permanence

touch : permet de modifier les dates d'un fichier (comme si on y avait "touché"), et permet de créer un fichier s'il n'existe pas

tr : traduit à la volée certains caractères en d'autres caractères

traceroute : permet d'afficher la séquence de machines traversées pour atteindre une machine en particulier

trimforce : force la mise en marche du TRIM pour les SSD tiers sous macOS

truncate : change la taille d'un fichier sous GNU/Linux

tty : affiche le nom du terminal

uname : affiche le nom du système d'exploitation, et/ou le nom du processeur, et/ou le nom du nœud réseau

unexpand : convertit les espaces en tabulations (voir expand)

uniq : supprime les doublons de lignes consécutifs dans un fichier texte (-d n'affiche que les doublons, -u que les lignes uniques)

unset : supprime une variable d'environnement fixée avec export

updategrub : permet de mettre à jour les modifications apportées au fichier de configuration de GRUB sous GNU/Linux

upower : fournit des informations sur les sources d'alimentation sous GNU/Linux

uptime : indique le temps réel écoulé depuis le dernier redémarrage

uudecode : décode un fichier binaire en ASCII (base64 avec l'option -m)

uuencode : encode un fichier binaire en ASCII (base64 avec l'option -m)

valgrind : cherche les blocs mémoire non référencés dans un processus sous GNU/Linux

vi : utilitaire d'édition de texte en ligne de commande

visudo : utilitaire d'édition de texte en ligne de commande du fichier des sudoers

vm_stat : affiche les statistiques de la mémoire virtuelle sous macOS

vmmap : permet l'analyse du mapping mémoire d'un processus

vmstat : affiche les statistiques de la mémoire virtuelle sous GNU/Linux

w : affiche qui est connecté et ce qu'il fait

watch : permet de lancer périodiquement une commande sous GNU/Linux

wc : compte les lignes (-l), mots (-w), caractères (-m) ou octets (-c) d'un fichier

wget : utilitaire de téléchargement de fichier sur système GNU/Linux

whereis : cherche un programme dans le système

which : cherche un programme dans les chemins de l'utilisateur

who : donne informations sur les utilisateurs connectés

xargs : exécute une commande en forgeant les arguments

xcode-select : permet de gérer les options liées à XCode et aux outils de développement en ligne de commande sous macOS

xset : permet de régler les préférences pour X Windows sous GNU/Linux

xxd : conversion hexadécimale d'un fichier binaire ou l'inverse sous GNU/Linux

zcat : décompresse des fichiers

zenity : utilitaire d'affichage de diverses boîtes de dialogue sous GNU/Linux

Fichiers utiles :

/etc/fstab : contient les informations de mount

/etc/group : contient les noms des groupes du système

/etc/hostname : contient le nom réseau du système

/etc/hosts : contient des correspondances adresses IP/nom

/etc/network/interfaces : contient les informations relatives aux interfaces réseau

/etc/passwd : contient les identifiants des utilisateurs

/proc/cpuinfo : contient des informations sur le CPU dans un système GNU/Linux