Les commandes UNIX s'utilise dans le cadre de procédure avec le shell dans un terminal, c'est des outils basics pour intéragir avec le système en ligne de commande. Cela est particulièrement utile pour les programmeurs et la gestion de serveur, ou il n'y a pas d'interface graphique. Egalement cela permet d'optimiser la productivité et automatiser des tâches avec des scripts bash. Vous pouvez absolument tout controler depuis votre terminal. Ceci est une liste de 42 commandes essentiels sous UNIX. Cela est nécessaire pour tous débutant en informatique que la maitrise des lignes de commande dans un terminal.
- vim
Vim est l'outil basic d'éditeur de texte du programmeur, c'est votre meilleur allié, ça maitrise au départ est complexe avec son mode modal, mais on s'y fait avec le tutorial à lancer en ligne de commande vimtutor
.
$ vim hello.c
Créer un fichier hello en langage C.
- ls
Affiche les informations sur les fichiers et les dossiers ainsi que les permissions d'accès
$ ls -la
total 3364
drwxr-xr-x 1 trivial trivial 206 28 juil. 20:31 .
drwxr-xr-x 1 trivial trivial 448 29 juil. 08:16 ..
-rwxr--r-- 1 trivial trivial 85344 28 juil. 19:33 hello
-rwxr--r-- 1 trivial trivial 85792 28 juil. 20:31 hello-gui
-rw-r--r-- 1 trivial trivial 116 28 juil. 20:31 hello-gui.red
-rw-r--r-- 1 trivial trivial 223 28 juil. 20:15 hello.red
-rw-r--r-- 1 trivial trivial 332088 28 juil. 19:32 libRedRT-defs.r
-rw-r--r-- 1 trivial trivial 414 28 juil. 19:33 libRedRT-extras.r
-rw-r--r-- 1 trivial trivial 69005 28 juil. 19:32 libRedRT-include.red
-rwxr--r-- 1 trivial trivial 1300352 28 juil. 19:33 libRedRT.so
-rwxr--r-- 1 trivial trivial 1551836 28 juil. 02:54 redc
- pwd
Affiche le dossier de travail
$ pwd
/home/trivial/red/src
- cd
Permet de naviguer dans les différents dossiers
Naviguer à la racine
$ cd /
Naviguer dans le dossier home
$ cd ~
Naviguer dans le dossier Documents
$ cd ~/Documents
Retourner au dossier parents
$ cd ..
- mkdir
Créer un nouveau dossier
$ mkdir sources
- rmdir
Supprimer un dossier
$ rmdir sources
- rm
Commande pour supprimer un fichier
$ rm fichier.txt
- mv
Commande pour bouger ou renomer un fichier
mv fichier1.txt fichier2.txt
- cp
Commande pour copier un fichier
$ cp fichier.txt fichierv2.txt
- touch
Créer un simple fichier vide brut ou avec une extension
$ touch fichier
- cat
Affiche le contenu d'un fichier
$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.121.246
nameserver 2a04:cec0:c029:6580::b
- clear
Permet de nettoyer l'ecran du terminal
$ clear
- echo
Permet d'afficher dans un terminal
$ echo "hello world"
hello world
- less
Permet d'afficher des pages
- man
Commande d'aide et d'affichage du manuel
$ man sudo
SUDO(8) System Manager's Manual SUDO(8)
NAME
sudo, sudoedit — execute a command as another user
SYNOPSIS
[...]
- uname
Obtenir les informations basics sur l'OS
$ uname -a
Linux arch-t480 6.4.12-zen1-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Thu, 24 Aug 2023 00:37:46 +0000 x86_64 GNU/Linux
- whoami
Connaitre l'utilisateur actif
$ whoami
trivial
- tar
Commande pour extraire et compresser des fichier sous Linux
Pour créer une archive tar
$ tar -cvf exempleArchive.tar /home/exempleArchive
- grep
Grep permet de chercher dans un fichier un pattern que nous définissons
cat fichier.txt | grep pattern
- diff
Permet d'afficher la différence entre deux fichiers
- export
Permet de créer des variables d'environnement et gérer le PATH
$ export myvar=5
$ echo $myvar
5
- ssh
Permet de ce connecter à un serveur distant sur le modèle "utilisateur"@"ip"
ssh trivial@83.13.145.56
- git
Outil de controle de version
- ps
Affiche les processus actifs
$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 23844 9972 ? Ss août29 0:21 /usr/lib/systemd/systemd --switched-root --syst
root 2 0.0 0.0 0 0 ? S août29 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< août29 0:00 [rcu_gp]
- kill
Permet d'arrêter un processus via le PID
$ sudo kill 51
- df
vérifier l'espace disque
$ df -H
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/mapper/vg-arch 256G 102G 152G 41% /
devtmpfs 4,2M 0 4,2M 0% /dev
tmpfs 8,3G 319M 8,0G 4% /dev/shm
tmpfs 3,4G 9,9M 3,3G 1% /run
tmpfs 8,3G 81M 8,2G 1% /tmp
/dev/mapper/vg-arch 256G 102G 152G 41% /_snapshot
/dev/mapper/vg-arch 256G 102G 152G 41% /home
/dev/nvme0n1p1 535M 254M 282M 48% /boot
tmpfs 1,7G 209k 1,7G 1% /run/user/1000
/dev/mapper/veracrypt1 349M 154M 172M 48% /mnt/veracrypt1
- lsblk
Affiche les partitions
$ lsblk -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 366M 0 loop
sda 8:0 1 0B 0 disk
zram0 253:0 0 8G 0 disk
luks-4779cffb-39d7-43a8-734e-5fff5180cff9 254:0 0 238G 0 crypt
vg-arch 254:1 0 238G 0 lvm /home
/_snapshot
/
veracrypt1_1 254:2 0 365,8M 0 dm
veracrypt1_0 254:3 0 365,8M 0 dm
veracrypt1 254:4 0 365,8M 0 dm /mnt/veracrypt1
nvme0n1 259:0 0 238,5G 0 disk
nvme0n1p1 259:1 0 511M 0 part /boot
nvme0n1p2 259:2 0 238G 0 part
- ip
Commande pour manipuler les outils réseaux, routage, équipements et tunneling
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether e8:6a:64:8d:c0:4b brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 50:76:af:2c:e2:42 brd ff:ff:ff:ff:ff:ff
inet 192.168.121.196/24 brd 192.168.121.255 scope global dynamic noprefixroute wlp3s0
valid_lft 2102sec preferred_lft 2102sec
inet6 2a04:cec0:c020:6580:c031:c188:4cdb:66/64 scope global dynamic noprefixroute
valid_lft 6140sec preferred_lft 6140sec
inet6 fe80::89aa:f14f:c341:2216/64 scope link noprefixroute
valid_lft forever preferred_lft forever
- ping
Outil réseau qui permet de ping la connexion à un site, état du réseau
$ ping www.google.fr
PING www.google.fr(par21s06-in-x03.1e100.net (2a00:1450:4007:813::2003)) 56 octets de données
64 octets de par21s06-in-x03.1e100.net (2a00:1450:4007:813::2003) : icmp_seq=1 ttl=111 temps=40.9 ms
64 octets de par21s06-in-x03.1e100.net (2a00:1450:4007:813::2003) : icmp_seq=2 ttl=111 temps=50.2 ms
^C
--- statistiques ping www.google.fr ---
2 paquets transmis, 2 reçus, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 40.920/45.561/50.203/4.641 ms
- traceroute
Traceroute est un outil de Linux qui vous permet d’étudier les itinéraires des paquets de réseau. Il peut vous aider à identifier le facteur limitant les parcours de paquets de réseau. Traceroute est également utile pour dépanner des connexions de réseau lent en vérifiant le chemin empreinte par des paquets vers une destination.
$ traceroute www.google.fr
traceroute to www.google.fr (142.250.179.99), 30 hops max, 60 byte packets
1 _gateway (192.168.121.246) 9.946 ms 9.825 ms 9.762 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
- wget
Outil de téléchargement de fichier, ou de website tout entier avec une fonction récursive
- ufw
Le par-feu le plus simple d'utilisation
- sudo
Commande pour obtenir les droits administrateur
- cal
Afficher le calendrier
$ cal
septembre 2023
lu ma me je ve sa di
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
- date
Affiche la date actuel
$ date
jeu. 07 sept. 2023 22:08:33 CEST
Affiche la date en seconde EPOCH UNIX
$ date +%s
1694117320
- dd
La commande dd permet de copier tout ou partie d'un disque − EN BON ÉTAT − par blocs d'octets, indépendamment de la structure du contenu du disque en fichiers et en répertoires. Exemple réaliser une image .iso d'un cd.
$ dd if=/dev/hdc of=/home/${USER}/moncd.iso bs=2048 conv=notrunc
Cette commande est utile pour graver des .iso vers des clés USB plus particulièrement.
- whereis
Permet de localiser un binaire executable
$ whereis ruby
ruby: /usr/bin/ruby /usr/lib/ruby /usr/share/man/man1/ruby.1.gz
- locate et find
Recherche de fichier
- top
Outil de monitoring, affiche les processus, espace disque, état de la charge mémoire, des CPU
- passwd
Commande pour changer de mot de passe à un utilisateur
$ passwd trivial
- chown
Gestion de la propriété des fichiers et répertoires. L’utilisation correcte de la commande chown peut empêcher les utilisateurs indésirables d’apporter des modifications à vos fichiers et contribuer à les protéger des personnes extérieures.
- shutdown
Permet d'éteindre l'ordinateur
$ sudo shutdown now
- chmod
Rendre executable un script ou un fichier
$ sudo chmod +x monScript.sh
Sinon pour en savoir plus: Unix. Pour aller plus loin avec la ligne de commande PDF