1
0
Bifurcation 0
miroir de https://github.com/PAPAMICA/Wiki-Tech.io.git synchronisé 2024-12-28 10:30:24 +01:00
Wiki-Tech.io/Linux/Débutant/Commandes.md

396 lignes
12 Kio
Markdown
Brut Vue normale Historique

2021-05-08 12:18:11 +02:00
---
title: Commandes utiles
2021-06-16 09:11:58 +02:00
description: Les principales commandes Linux avec descriptions et exemples !
2021-05-08 12:18:11 +02:00
published: true
2021-10-04 19:05:07 +02:00
date: 2021-10-04T17:05:05.583Z
2021-06-16 09:11:58 +02:00
tags: linux, ssh, commandes, commande
2021-05-08 12:18:11 +02:00
editor: markdown
2021-06-14 09:36:43 +02:00
dateCreated: 2021-05-24T10:35:22.227Z
2021-05-08 12:18:11 +02:00
---
# Système
| | |
| --- | --- |
| `reboot` | Redémarre |
| `shutdown -now` | Éteint sans délais |
| `systemctl (start/stop/restart/status) <service>` | Démarre/Arrête/Redémarre/Affiche le statut d'un service |
| `uname -a` | Afficher les informations systèmes de linux |
| `uname -r` | Afficher la version du noyau |
| `uptime` | Afficher le temps d'activité du système et affiche la charge |
| `hostname` | Affiche le nom d'hôte de la machine |
| `hostname -I` | Affiche l'adresse IP de l'hôte |
| `last reboot` | Afficher l'historique des redémarrages |
| `date` | Afficher la date et l'heure du système |
| `cal` | Affiche le calendrier du mois |
2021-06-14 09:36:43 +02:00
| `w` | Affiche les utilisateurs actuellement connectés en SSH (date/heure/IP) |
2021-05-08 12:18:11 +02:00
| `whoami` | Affiche où nous sommes connecté en tant que qui |
2021-06-14 09:36:43 +02:00
| `screenfetch` | Affiche les informations systèmes (nécessite le paquet *screenfetch*) |
2021-05-08 12:18:11 +02:00
# Matériel
| | |
| --- | --- |
| `dmesg` | Affiche les messages du noyau |
| `cat /proc/cpuinfo` | Affiche les informations du CPU |
| `cat /proc/meminfo` | Affiche les informations de la RAM |
| `free -h` | Affiche la mémoire libre et utilisé (-h pour lisible par l'homme, -m for MB et -g pour GB) |
| `lspci -tv` | Affiche les périphériques PCI |
| `lsusb -tv` | Affiche les périphériques USB |
| `dmidecode` | Affiche les information DMI/SMBIOS (informations systèmes) depuis le BIOS |
| `hdparm -i /dev/sda` | Affiche les informations du disque /dev/sda |
| `hdparm -rT /dev/sda` | Faire un test de vitesse de lecture sur le disque /dev/sda |
| `badblocks -s /dev/sda` | Test le disque /dev/sda pour d'éventuels blocks défectueux |
2021-06-14 09:36:43 +02:00
| `smartctl -a /dev/sda` | Affiche toute les informations SMART du disque /dev/sda |
| `smartctl -t short /dev/sda` | Démarre un test SMART sur le disque /dev/sda (short/long/conveyance sont disponible) |
2021-05-08 12:18:11 +02:00
# Réseau
| Ancienne commande : | Nouvelle commande : |
| --- | --- |
| `ifconfig -a` | `ip a` |
| `ifconfig enp6s0 down` | `ip link set enp6s0 down` |
| `ifconfig enp6s0 up` | `ip link set enp6s0 up` |
| `ifconfig enp6s0 192.168.2.24` | `ip addr add 192.168.2.24/24 dev enp6s0` |
| `ifconfig enp6s0 netmask 255.255.255.0` | `ip addr add 192.168.1.1/24 dev enp6s0` |
| `ifconfig enp6s0 mtu 9000` | `ip link set enp6s0 mtu 9000` |
| `ifconfig enp6s0:0 192.168.2.25` | `ip addr add 192.168.2.25/24 dev enp6s0` |
| `netstat` | `ss` |
| `netstat -tulpn` | `ss -tulpn` |
| `netstat -neopa` | `ss -neopa` |
| `netstat -g` | `ip maddr` |
| `route` | `ip r` |
| `route add -net 192.168.2.0 netmask 255.255.255.0 dev enp6s0` | `ip route add 192.168.2.0/24 dev enp6s0` |
| `route add default gw 192.168.2.254` | `ip route add default via 192.168.2.254` |
| `arp -a` | `ip neigh` |
| `arp -v` | `ip -s neigh` |
| `arp -s 192.168.2.33 1:2:3:4:5:6` | `ip neigh add 192.168.3.33 lladdr 1:2:3:4:5:6 dev enp6s0` |
| `arp -i enp6s0 -d 192.168.2.254` | `ip neigh del 192.168.2.254 dev wlp7s0` |
# Fichiers et répertoires
2021-06-14 09:36:43 +02:00
## cat - Afficher le contenu d'un fichier
2021-05-08 12:18:11 +02:00
2021-06-14 09:36:43 +02:00
**Permet d'ouvrir un fichier et d'afficher son contenu.**
2021-05-08 12:18:11 +02:00
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
cat <option> fichier
2021-05-08 12:18:11 +02:00
```
| Option | Commentaire |
| --- | --- |
2021-06-14 09:36:43 +02:00
| `-b` | Numéroter toutes les lignes non vides |
| `-n` | Numéroter toutes les lignes |
2021-05-08 12:18:11 +02:00
2021-06-14 09:36:43 +02:00
## cd - Changer de répertoire
2021-05-08 12:18:11 +02:00
2021-06-14 09:36:43 +02:00
**Permet de se déplacer dans l'arborescence**
2021-05-08 12:18:11 +02:00
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
cd /répertoire/de/destination
2021-05-08 12:18:11 +02:00
```
2021-08-02 11:09:18 +02:00
## diff - Comparer deux fichiers
2021-08-02 11:10:47 +02:00
**Permet de comparer deux fichiers**
2021-08-02 11:09:18 +02:00
```bash
diff -u <premier_fichier> <second_fichier>
```
**Permet de comparer deux fichiers sur deux serveurs distants**
```bash
diff <(ssh <user@server1> 'cat /path/to/file1') <(ssh <user@server2> 'cat /path/to/file2')
```
2021-06-14 09:36:43 +02:00
## df - Afficher la taille d'un répertoire
2021-05-08 12:18:11 +02:00
2021-06-14 09:36:43 +02:00
**Permet d'afficher la taille d'un répertoire.**
2021-05-08 12:18:11 +02:00
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
df <option> répertoire
2021-05-08 12:18:11 +02:00
```
| Option | Commentaire |
| --- | --- |
2021-06-14 09:36:43 +02:00
| `-h` | Permet d'obtenir un résultat plus lisible pour un humain (*ex Mo, Ko,...*) |
| `-i` | Affiche les inodes |
| `-k` | Affiche le résultat en kilobytes |
| `-m` | Affiche le résultat en megabytes |
| `-d **n**.` | Affiche la taille des sous-répertoires jusqu'au **n**ème |
2021-05-08 12:18:11 +02:00
2021-06-14 09:36:43 +02:00
## find - Chercher un fichier
Permet de trouver un fichier précis ou une liste de fichier
2021-05-08 12:18:11 +02:00
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
find <DOSSIER> <OPTIONS> -iname "<FICHIER>"
2021-05-08 12:18:11 +02:00
```
2021-06-14 09:36:43 +02:00
| Option | Commentaire |
| --- | --- |
| `-iname <FICHIER>` | Cherche par nom de fichier |
| `-name <FICHIER>` | Cherche par nom de fichier (sensible à la casse) |
| `-type f/d` | Cherche un certain type (`f` = fichier - `d` = dossier) |
| `-size +/- <TAILLE>` | Cherche en fonction de la taille |
| `-user <UTILISATEUR>` | Cherche en fonction de l'utilisateur |
| `-group <GROUPE>` | Cherche en fonction du groupe |
| `-perm <PERMISSION>` | Cherche en fonction de la permission |
2021-05-08 12:18:11 +02:00
2021-06-14 09:36:43 +02:00
Exemple : Chercher des fichier de plus de 200ko qui ne contienne pas le dans le nom “2015” dans le dossier “/photosdevacances”
2021-05-08 12:18:11 +02:00
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
find /photosdevacances -type f -size +200k -not -iname "*2015*"
2021-05-08 12:18:11 +02:00
```
2021-06-14 09:36:43 +02:00
## **head - A**fficher l'en-tête d'un fichier
2021-05-08 12:18:11 +02:00
2021-06-14 09:36:43 +02:00
**Affiche l'en-tête d'un fichier**
2021-05-08 12:18:11 +02:00
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
head <option> fichier
2021-05-08 12:18:11 +02:00
```
| Option | Commentaire |
| --- | --- |
2021-06-14 09:36:43 +02:00
| `-n` | Spécifie le nombre de ligne à afficher |
2021-05-08 12:18:11 +02:00
2021-06-14 09:36:43 +02:00
## less - Afficher un fichier page par page
2021-05-08 12:18:11 +02:00
2021-06-14 09:36:43 +02:00
**Affiche le fichier page par page. C'est donc pratique pour les longs fichiers.**
2021-05-08 12:18:11 +02:00
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
less fichier
```
## ls - Lister le contenu d'un répertoire
**Permet de lister le contenu d'un répertoire**
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
ls <option> répertoire
2021-05-08 12:18:11 +02:00
```
| Option | Commentaire |
| --- | --- |
2021-06-14 09:36:43 +02:00
| `-a` | Lister tout le répertoire (y compris fichier caché) |
| `-l` | Afficher le répertoire sous forme de tableau, avec permission, ... |
2021-05-08 12:18:11 +02:00
| `-i` | Affiche les inodes |
2021-06-14 09:36:43 +02:00
| `-h` | Affiche la taille dans un format lisible par l'homme (Mo par exemple) |
| `-R` | Liste également les sous-répertoires |
| `-s` | Affiche la taille des répertoires |
## mkdir - Créer un répertoire
**Créer un répertoire.**
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
mkdir -p /chemin/répertoire/à/créer
```
| Option | Commentaire |
| --- | --- |
| `-p` | Créer les répertoires parents si ces derniers n'existent pas |
*Exemple : Je souhaite créer un répertoire **truc** dans /home/user1/test1, mais le fichier test1 n'existe pas.*
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
mkdir -p /home/user1/test1/truc
```
2021-05-08 12:18:11 +02:00
## mv - Déplacer un fichier ou dossier
**Permet de déplacer un fichier ou un répertoire.**
2021-06-16 08:59:18 +02:00
```bash
2021-05-08 12:18:11 +02:00
mv <option> /chemin/source /chemin/destination
```
| Option | Commentaire |
| --- | --- |
| `-f` | Forcer le déplacement |
| `-i` | Demander la confirmation de l'utilisateur |
2021-06-14 09:36:43 +02:00
## pwd - Afficher le répertoire courant
**Affiche le répertoire dans lequel on se situe.**
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
pwd
```
2021-05-08 12:18:11 +02:00
## rm - Supprimer un fichier ou dossier
**Permet de supprimer un fichier ou un dossier**
2021-06-16 08:59:18 +02:00
```bash
2021-05-08 12:18:11 +02:00
rm <option> /chemin/truc/a/supprimer
```
| Option | Commentaire |
| --- | --- |
| `-d` | Efface un répertoire |
| `-f` | Force la suppression |
| `-i` | Demande confirmation à l'utilisateur (*Inutile avec* `*-f*`) |
| `-r` | Récursif |
2021-06-16 08:59:18 +02:00
## scp - Télécharger ou envoyer un fichier à distance via SSH
2021-06-16 09:10:06 +02:00
**Permet de télécharger un fichier depuis un serveur distant vers sa machine**
2021-06-16 08:59:18 +02:00
```bash
2021-06-16 09:10:06 +02:00
scp -P <PORT> <USER>@<IP>:/chemin/du/fichier/sur/le/serveur /local/dossier
2021-06-16 08:59:18 +02:00
```
2021-06-16 09:10:06 +02:00
**Permet de télécharger un fichier depuis sa machine vers un serveur distant**
2021-06-16 08:59:18 +02:00
2021-06-16 09:10:06 +02:00
```bash
2021-10-04 19:05:07 +02:00
scp -P <PORT> fichier.txt <USER>@<IP>:/chemin/sur/le/serveur
2021-06-16 09:10:06 +02:00
```
**Permet de télécharger un dossier depuis sa machine vers un serveur distant**
```bash
2021-10-04 19:05:07 +02:00
scp -P <PORT> -r /local/dossier/ <USER>@<IP>:/chemin/sur/le/serveur
2021-06-16 09:10:06 +02:00
```
**Permet de télécharger un fichier depuis un serveur distant vers un autre serveur distant**
```bash
scp -P <PORT> <USER>@<IP>:/chemin/du/fichier/sur/le/serveur -P <PORT> <USER>@<IP>:/chemin/du/fichier/sur/le/serveur
```
2021-06-16 08:59:18 +02:00
| Option | Commentaire |
| --- | --- |
2021-06-16 09:10:06 +02:00
| `-P` | Configure le port SSH |
| `-C` | Active la compression |
| `-v` | Active le mode verbose |
| `-q` | Active le mode silencieux |
| `-p` | Préserve les attributs des fichiers et dossiers |
2021-06-16 08:59:18 +02:00
| `-r` | Récursif |
2021-06-14 09:36:43 +02:00
## sftp - Récupérer un fichier sur un serveur
**Permet de se connecter en SFTP à un serveur**
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
sftp -P <PORT> <UTILISATEUR>@<SERVEUR>
```
**Permet de récupérer simplement un fichier**
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
get <CHEMIN>/<FICHIER>
```
## tail - Afficher la fin d'un fichier
**Affiche la fin d'un fichier**
2021-06-16 08:59:18 +02:00
```bash
2021-06-14 09:36:43 +02:00
tail <option> fichier
```
| Option | Commentaire |
| --- | --- |
| `-f` | permet de mettre à jour en temps réel l'affichage de la fin du fichier |
2021-05-08 12:18:11 +02:00
## tar - Compression et décompression
**Permet de compresser ou décompresser en fonction des options**
2021-06-16 08:59:18 +02:00
```bash
2021-05-08 12:18:11 +02:00
tar -[options] <nom_fichier_destination> <fichier_ou_dossier_source>
```
| Option | Commentaire |
| --- | --- |
| `-c` | Création d'une archive |
| `-v` | Verbose |
| `-f` | Indique un nom de fichier de destination |
| `-z` | Compression gzip |
| `-j` | Compression bzip |
| `-x` | Extraction d'une archive |
| `-t` | Lire le contenu d'une archive |
| `-r` | Ajouter un fichier à une archive existante |
*Exemple : Archiver un dossier.*
2021-06-16 08:59:18 +02:00
```bash
2021-05-08 12:18:11 +02:00
tar -cvf test.tar /chemin/dossier/a/compresser
```
Exemple : Désarchiver un dossier.
2021-06-16 08:59:18 +02:00
```bash
2021-05-08 12:18:11 +02:00
tar -xvf test.tar /chemin/dossier/destination
```
2021-08-09 08:58:21 +02:00
2021-08-10 10:36:35 +02:00
## watch
**Permet de rafraichir une commande à interval régulier**
```bash
watch <option> <commande>
```
|Option | Commentaire |
| --- | --- |
| `-b` | Émet un bip si la commande sort avec un code non nul |
| `-c` | Interprète les séquences de couleurs et de styles ANSI |
| `-d` | Met en évidence les changements entre mises à jours |
| `-e` | Termine si la commande sort avec un code non nul |
| `-g` | Termine quand la sortie de la commande change |
| `-n` | Secondes de délai entre mises à jours |
| `-p` | Essaie d'exécuter la commande à intervalles réguliers |
| `-t` | Masque l'en-tête |
| `-w` | Désactive le retour à la ligne |
| `-x` | Passe la commande à exec au lieu de « sh -c » |
2021-08-09 08:58:21 +02:00
2021-05-08 12:18:11 +02:00
# Sessions, Utilisateurs et Permissions
## groups - Afficher les groupes d'appartenance d'un utilisateur
**Permet d'afficher dans quels groupes se trouve l'utilisateur**
2021-06-16 08:59:18 +02:00
```bash
2021-05-08 12:18:11 +02:00
groups utilisateur
```
## passwd - Changer le mot de passe
**Permet de changer le mot de passe d'un utilisateur**
2021-06-16 08:59:18 +02:00
```bash
2021-05-08 12:18:11 +02:00
passwd <option> utilisateur
```
| Option | Commande |
| --- | --- |
| `-d` | Supprimer le mot de passe |
| `-e` | Faire expirer le mot de passe |
| `-i` | Rendre un compte inactif |
| `-l` | Verouille le mot de passe et empêche sa modification par l'utilisateur |
| `-S` | Affiche le status du compte |
| `-u` | Déverouille un mot de passe |
# Logiciel
## Tipee
| | |
| --- | --- |
| `tipee` | Connaitre le temps restant de la journée |
| `tipee punch` | Badger les heures |
Lien : [Gitlab](https://gitlab.infomaniak.ch/mickaelasseline/python-tipee)
## Git
| | |
| --- | --- |
| `git status` | Permets d'afficher le statut du dépôt dans lequel nous sommes (quelle branche, s'il y a des commit à réaliser…) |
| `git add nom_du_fichier` | Permet de “tracker” (suivre) le fichier, et ainsi, le faire reconnaître par Git pour des prochaines actions (merge, commit, status…) |
| `git init “nom_du_dossier”` | Initialise le dossier, créant ainsi un dossier caché “.git" qui sera reconnu par l'outil Git et les plateformes comme GitHub, GitLab… Sans cela, le dossier ne sera jamais utilisable par Git. |
| `git log` | Affiche les dernières actions réalisées sur le repository (incluant les métadatas, les commit ID, commit messages…) |
| `git clone` | Clone un projet sur sa machine. |
| `git commit -am “message”` | Met à jour le commit avec un message défini. |
| `git fetch` | Récupère les informations d'un repository sans télécharger sur la machine. |
| `git push` | Envoi la mise à jour au git distant (dit “remote”). Prends en compte le dossier dans lequel on se situe. |
2021-06-14 09:36:43 +02:00
| `git pull` | Récupère les dernières mises à jours du répertoire distant. |