Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
utilisateurs:arpinux:tutos:commandes-gnu-linux-memo-simplifie [29/04/2023 17:01] arpinux doc doublon |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Commandes GNU/Linux : mémo simplifié ====== | ||
- | |||
- | * Objet : une page pour récapituler les principales commandes Debian GNU/Linux | ||
- | * Niveau requis : {{tag>débutant avisé}} | ||
- | * Commentaires : //pense-bête quotidien. // | ||
- | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | |||
- | le système GNU/Linux Debian possède toutes les applications graphiques nécessaires pour accomplir vos tâches quotidiennes, alors pourquoi utiliser la ligne de commande ?\\ | ||
- | * c'est plus rapide | ||
- | * les options ne sont pas toutes présentes dans les interfaces graphiques | ||
- | * utiliser la commandes directement sans surcouche graphique économise les ressources | ||
- | * ça facilite l'apprentissage du système GNU/Linux Debian | ||
- | |||
- | //la commande ultime//: **man**\\ | ||
- | |||
- | ===== naviguer dans les répertoires ===== | ||
- | ^commande^action^ | ||
- | | [[doc:systeme:pwd|pwd]] | affiche le répertoire courant | | ||
- | | [[doc:programmation:shell:cd|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 | | ||
- | | [[doc:systeme:ls|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 ===== | ||
- | ^commande^action^ | ||
- | | [[doc:systeme:mv|mv]] //source cible// | deplace le fichier //source// vers //cible// | | ||
- | | [[doc:systeme:cp|cp]] //source cible// | copie le fichier //source// vers //cible// | | ||
- | | cp -R //source cible// | copie le répertoire //source// vers //cible// | | ||
- | | [[doc:systeme:ln|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// | | ||
- | | [[doc:systeme:touch|touch]] //file// | créer le fichier //file// ou met à jour sa date de modification | | ||
- | | [[doc:systeme:mkdir|mkdir]] //rep// | créer un repertoire //rep// | | ||
- | | mkdir -p //rep/rep2// | **mkdir** avec création des dossiers parents si nécessaire | | ||
- | | [[doc:systeme:rm|rm]] //file// | supprime le fichier //file// | | ||
- | | rm -f //file// | supprime le fichier //file// protégé en écriture | | ||
- | | [[doc:systeme:rmdir|rmdir]] //rep// | supprimer un répertoire vide | | ||
- | | rm -R //rep// | supprime un répertoire | | ||
- | | [[doc:systeme:du|du]] -h //file// ou //rep// | affiche la taille du fichier //file// ou du répertoire //rep// | | ||
- | |||
- | ===== afficher/comparer les fichiers ===== | ||
- | ^commande^action^ | ||
- | | [[doc:systeme:wc|wc]] //fichier// | compte le nombre de lignes, de mots, d'octets de //fichier// | | ||
- | | [[doc:systeme:cat|cat]] //fichiers// | concatène les //fichiers// | | ||
- | | [[doc:systeme:more|more]] //fichier// | affiche //fichier// page après page. 'Espace'=page suivante, 'Entrée'=ligne suivante, 'u'=remonter | | ||
- | | [[doc:editeurs:less|less]] //fichier// | affiche //fichier// avec une navigation Left/Right/Up/Down/PageUp/PageDown | | ||
- | | [[doc:systeme:head|head]] -n x //fichier// | affiche les x premières lignes de //fichier// | | ||
- | | [[doc:systeme:tail|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** | | ||
- | | cmp //file1 file2// | compare deux fichiers binaires | | ||
- | |cmp //file1 file2// **n N**| compare deux fichiers, //file1// à partir du **n**ième octet, et //file2// à partir du **N**ième | | ||
- | |||
- | ===== utilisateurs ===== | ||
- | ^commande^action^ | ||
- | | [[doc:systeme:whoami|whoami]] | affiche le login de l'utilisateur | | ||
- | | [[doc:systeme:who|who]] | affiche les utilisateurs connectés | | ||
- | | [[doc:systeme:id|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 | | ||
- | | [[doc:systeme:su|su]] - [[doc:systeme:sudo|sudo]] | passer en mode administrateur | | ||
- | | [[doc:systeme:passwd|passwd]] | changer le mot de passe de l'utilisateur courant | | ||
- | | [[doc:systeme:adduser|adduser]] | ajouter un utilisateur | | ||
- | | deluser | supprime un utilisateur | | ||
- | | addgroup | ajoute un groupe | | ||
- | | delgroup | supprime un groupe | | ||
- | |||
- | ===== processus ===== | ||
- | ^commande^action^ | ||
- | | [[doc:systeme:ps|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 | | ||
- | | [[doc:systeme:top|pstree]] | afficher les processus dans une arborescence | | ||
- | | top | afficher un tableau de bord des processus les plus gourmands | | ||
- | | [[doc:systeme:kill|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// | ||
- | ^signal^action^ | ||
- | | -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) ===== | ||
- | ^commande^action^ | ||
- | | [[doc:systeme:crontab|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:** | ||
- | ^crontab^action^ | ||
- | | 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 ===== | ||
- | ^commande^action^ | ||
- | | [[doc:systeme:lsusb|lsusb]] | liste les périphériques de type //usb// connectés | | ||
- | | [[doc:systeme:lspci|lspci]] | liste les périphériques de type //pci// connectés | | ||
- | | [[doc:systeme:cat|cat]] /proc/cpuinfo | affiche les informations processeur | | ||
- | | cat /proc/partitions | affiche les partitions montées | | ||
- | **exemples:** (sources: [[http://www.linuxtrack.com/t1175-Commandes-d-informations-utiles-a-connaitre.htm?q=commandes|linuxtrack]]) | ||
- | ^commande^action^ | ||
- | | %%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 ===== | ||
- | ^commande^action^ | ||
- | | [[doc:systeme:hostname|hostname]] | affiche le nom d'hôte de la machine | | ||
- | | [[doc:reseau:ping|ping]] //machine// | envoie un **ping** à une //machine// | | ||
- | | [[doc:reseau:traceroute|traceroute]] //machine// | fait un **traceroute** vers //machine// | | ||
- | | [[doc:reseau:netstat|netstat]] | affiche l'usage du réseau pas les processus | | ||
- | | netstat -a | **netstat** avec l'affichage des processus serveurs | | ||
- | | [[doc:systeme:lsof|lsof]] | liste détaillée de l'usage des fichiers et du réseau | | ||
- | | [[doc:reseau:ifconfig|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\\ | ||
- | <code> | ||
- | ┌─[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 | ||
- | </code> | ||
- | //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 | ||
- | |||
- | ^label^type d'objet^ | ||
- | | - | fichier | | ||
- | | d | répertoire | | ||
- | | l | lien | | ||
- | | s | socket | | ||
- | | p | fifo | | ||
- | | c | device (mode caractère) | | ||
- | | b | device (mode block) | | ||
- | |||
- | ^label^type 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 ==== | ||
- | ^commande^action^ | ||
- | | [[doc:systeme:chown|chown]] //user fichier// | change le propriétaire de //fichier// à //user// | | ||
- | | chgrp //groupe fichier// | change le groupe de //fichier// à //groupe// | | ||
- | | [[doc:systeme:chmod|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.<code>$ 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</code> | ||
- | *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. | ||
- | *<code>$ 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</code> | ||
- | |||
- | ===== recherche ===== | ||
- | ^commande/option^action^ | ||
- | | [[doc:systeme:locate|locate]] //motif// | recherche des fichiers dont le nom correspond au //motif// | | ||
- | | updatedb | mettre à jour la base de données de **locate** | | ||
- | | [[doc:systeme:find|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).<code> find $HOME/pics -name '*.png' -exec cp {} $HOME/tmp/ \;</code> | ||
- | |||
- | ===== 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. | ||
- | ^format^compression^extraction^ | ||
- | | .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é | ||
- | ^commande^description^ | ||
- | |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. | | ||