informatique:linux:commandes_linux
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| informatique:linux:commandes_linux [2022/07/04 08:23] – [trap] pteu | informatique:linux:commandes_linux [2025/09/15 14:10] (current) – [NetworkManager] pteu | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | |||
| ====== Commandes Linux ====== | ====== Commandes Linux ====== | ||
| Line 122: | Line 121: | ||
| On peut utiliser les fichier ''/ | On peut utiliser les fichier ''/ | ||
| + | On peut consulter les journaux d' | ||
| + | <code bash> | ||
| + | Jul 19 02:30:00 bast2 atd[221981]: | ||
| + | </ | ||
| + | |||
| + | =====auditd===== | ||
| + | |||
| + | Permet d' | ||
| + | <code bash> | ||
| + | apt install auditd | ||
| + | |||
| + | # mise en place de l' | ||
| + | auditctl -a exit,always -F arch=b64 -F a0=2 -F a1\&=2 -S socket -k SOCKET | ||
| + | # lister les logs de l' | ||
| + | ausearch -i -ts today -k SOCKET | ||
| + | # supprimer l' | ||
| + | auditctl -d exit,always -F arch=b64 -F a0=2 -F a1\&=2 -S socket -k SOCKET | ||
| + | </ | ||
| + | src: [[https:// | ||
| =====awk===== | =====awk===== | ||
| Line 276: | Line 294: | ||
| Pour modifier la date d' | Pour modifier la date d' | ||
| <code bash> | <code bash> | ||
| - | chage -E YYYY-MM-DD < | + | chage -E YYYY-MM-DD < |
| </ | </ | ||
| + | ou lancer l' | ||
| + | <code bash> | ||
| + | chage < | ||
| + | </ | ||
| =====chattr/ | =====chattr/ | ||
| Line 526: | Line 547: | ||
| =====diff===== | =====diff===== | ||
| - | diff permet d' | + | diff permet d' |
| - | < | + | < |
| cd /tmp ; echo " | cd /tmp ; echo " | ||
| diff toto titi | diff toto titi | ||
| Line 535: | Line 556: | ||
| > titi | > titi | ||
| </ | </ | ||
| + | |||
| + | On peut ignorer des motifs avec l' | ||
| Un patchfile c'est un fichier qui contient la sortie d'un diff : | Un patchfile c'est un fichier qui contient la sortie d'un diff : | ||
| - | < | + | < |
| diff -u toto titi > toto_titi.patch | diff -u toto titi > toto_titi.patch | ||
| </ | </ | ||
| Pour patcher toto avec les modifications de titi on utilise la commande **patch** avec le patchfile : | Pour patcher toto avec les modifications de titi on utilise la commande **patch** avec le patchfile : | ||
| - | < | + | < |
| patch -b toto toto_titi.patch | patch -b toto toto_titi.patch | ||
| | | ||
| Line 563: | Line 586: | ||
| dig mx pteu.fr | dig mx pteu.fr | ||
| dig pteu.fr @9.9.9.9 | dig pteu.fr @9.9.9.9 | ||
| + | dig pteu.fr @127.0.0.1 -p5353 | ||
| dig +noall +answer pteu.fr | dig +noall +answer pteu.fr | ||
| </ | </ | ||
| Line 787: | Line 811: | ||
| </ | </ | ||
| - | Liste des options | + | Liste des options |
| * '' | * '' | ||
| * '' | * '' | ||
| * '' | * '' | ||
| + | * '' | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| * '' | * '' | ||
| * '' | * '' | ||
| Line 823: | Line 848: | ||
| find . -regextype posix-egrep -iregex ' | find . -regextype posix-egrep -iregex ' | ||
| - | # supprimer toutes ces maudites miniatures Windows : | + | # afficher puis supprimer |
| - | find . -name Thumbs.db -exec rm {} \; | + | find . -name Thumbs.db |
| # attribuer des permissions à tous les sous-répertoires contenus dans le répertoire pics : | # attribuer des permissions à tous les sous-répertoires contenus dans le répertoire pics : | ||
| Line 849: | Line 874: | ||
| # on peut additionner les conditions de recherches avec -a (AND) et -o (OR) | # on peut additionner les conditions de recherches avec -a (AND) et -o (OR) | ||
| find . \( -name ' | find . \( -name ' | ||
| - | </ | ||
| + | Pour trier les résultats par date de modification : | ||
| + | find . \( -name ' | ||
| + | </ | ||
| =====flock===== | =====flock===== | ||
| Line 1627: | Line 1654: | ||
| Pour lister le hardware de la machine. | Pour lister le hardware de la machine. | ||
| + | |||
| + | =====lslogins===== | ||
| + | |||
| + | **lslogins** affiche des informations sur les utilisateurs du système. | ||
| + | |||
| + | <code bash> | ||
| + | lslogins -u dude | ||
| + | Nom d' | ||
| + | UID: 1000 | ||
| + | Champ gecos: | ||
| + | Répertoire personnel: | ||
| + | Interpréteur de commandes: | ||
| + | Aucun identifiant: | ||
| + | Groupe primaire: | ||
| + | GID: 1000 | ||
| + | Groupes supplémentaires: | ||
| + | Identifiants de groupes supplémentaires: | ||
| + | Dernière connexion: | ||
| + | Dernier terminal: | ||
| + | Dernier nom d’hôte: | ||
| + | Silencieux: | ||
| + | Processus en cours d' | ||
| + | |||
| + | Dernières connexions : | ||
| + | 09:18 sshd[417179]: | ||
| + | 10:21 sshd[428104]: | ||
| + | 10:21 sshd[428104]: | ||
| + | </ | ||
| =====lsmod===== | =====lsmod===== | ||
| Line 1887: | Line 1942: | ||
| * '' | * '' | ||
| + | =====NetworkManager===== | ||
| + | |||
| + | Utilitaire de configuration réseau utilisé par défaut sous certaines distribution Linux comme Debian 12 actuellement (2025), mais ça évolue. | ||
| + | |||
| + | Il existe plusieurs interfaces pour amnipuler cet outil: | ||
| + | * **nmcli** en ligne de commande | ||
| + | * **nmtui** interface semi-graphique (s' | ||
| + | * **NetworkManager** sous Gnome, KDE ou tout autre Windows Manager | ||
| + | |||
| + | Pour voir quel service réseau gère la conf réseau sur votre Linux: | ||
| + | <code bash> | ||
| + | echo "Quel service gère le réseau sur cette machine ?" | ||
| + | if systemctl is-active --quiet NetworkManager; | ||
| + | echo " | ||
| + | elif systemctl is-active --quiet systemd-networkd; | ||
| + | echo " | ||
| + | elif [ -d / | ||
| + | echo " | ||
| + | else | ||
| + | echo "Aucun apparemment!" | ||
| + | fi | ||
| + | </ | ||
| + | |||
| + | src: https:// | ||
| + | <code bash> | ||
| + | # Etat du service | ||
| + | systemctl status NetworkManager | ||
| + | |||
| + | # Editer fichier de conf / | ||
| + | vim / | ||
| + | TYPE=Ethernet | ||
| + | PROXY_METHOD=none | ||
| + | BROWSER_ONLY=no | ||
| + | BOOTPROTO=none | ||
| + | DEFROUTE=yes | ||
| + | IPV4_FAILURE_FATAL=no | ||
| + | IPV6INIT=no | ||
| + | NAME=ens18 | ||
| + | UUID=xxxx-xx | ||
| + | DEVICE=ens18 | ||
| + | ONBOOT=yes | ||
| + | IPADDR=192.168.0.1 | ||
| + | PREFIX=24 | ||
| + | GATEWAY=192.168.0.254 | ||
| + | DNS1=192.168.0.254 | ||
| + | DNS2=1.1.1.1 | ||
| + | IPV6_DISABLED=yes | ||
| + | |||
| + | # Appliquer la conf réseau | ||
| + | nmcli connection up ens18 | ||
| + | |||
| + | # Vérifier bonne application de la conf : | ||
| + | nmcli device show ens18 | ||
| + | ip a | ||
| + | ip route | ||
| + | </ | ||
| + | |||
| + | Quelques commandes de diagnostique: | ||
| + | <code bash> | ||
| + | nmcli device status | ||
| + | DEVICE | ||
| + | br0 bridge | ||
| + | docker0 | ||
| + | lo | ||
| + | enp1s0 | ||
| + | enp2s0 | ||
| + | wlp3s0 | ||
| + | veth8881b47 | ||
| + | |||
| + | nmcli connection show | ||
| + | NAME UUID TYPE DEVICE | ||
| + | br0 | ||
| + | docker0 | ||
| + | lo edd7c96b-1336-44f4-8106-1caf773d1d91 | ||
| + | br0 port 1 7f58ed28-4a46-47d9-8ef7-e32cc5663b76 | ||
| + | br0 port 2 920763f3-3e3e-46db-9231-09b1b58deeef | ||
| + | |||
| + | nmcli device wifi list | ||
| + | IN-USE | ||
| + | |||
| + | nmcli device show | ||
| + | GENERAL.DEVICE: | ||
| + | GENERAL.TYPE: | ||
| + | GENERAL.HWADDR: | ||
| + | GENERAL.MTU: | ||
| + | GENERAL.STATE: | ||
| + | GENERAL.CONNECTION: | ||
| + | GENERAL.CON-PATH: | ||
| + | IP4.ADDRESS[1]: | ||
| + | IP4.GATEWAY: | ||
| + | IP4.ROUTE[1]: | ||
| + | IP4.ROUTE[2]: | ||
| + | IP4.DNS[1]: | ||
| + | IP4.DOMAIN[1]: | ||
| + | IP6.ADDRESS[1]: | ||
| + | IP6.ADDRESS[2]: | ||
| + | IP6.GATEWAY: | ||
| + | IP6.ROUTE[1]: | ||
| + | IP6.ROUTE[2]: | ||
| + | IP6.ROUTE[3]: | ||
| + | </ | ||
| + | |||
| + | Configurer une interface en IP statique sur le device " | ||
| + | <code bash> | ||
| + | nmcli con mod " | ||
| + | nmcli con mod " | ||
| + | nmcli con mod " | ||
| + | nmcli con mod " | ||
| + | </ | ||
| =====nslookup===== | =====nslookup===== | ||
| Line 2274: | Line 2438: | ||
| .. à peu près similaire à la commande '' | .. à peu près similaire à la commande '' | ||
| + | |||
| + | =====scp===== | ||
| + | |||
| + | **Ssh CoPy** (SCP) est une commande qui permet de transférer des fichiers par une connexion SSH. | ||
| + | |||
| + | Sous Windows il existe les programmes '' | ||
| + | |||
| + | La syntaxe en CLI est la suivante : | ||
| + | <code bash> | ||
| + | scp fichier_local user@serveur.com:/ | ||
| + | </ | ||
| + | Il faut noter qu'un //path// relatif (sans le "/" | ||
| + | |||
| + | Exemples | ||
| + | <code bash> | ||
| + | # uploader le fichier local test.txt vers la home de l' | ||
| + | scp test.txt toto@serveur.com: | ||
| + | |||
| + | # télécharger dans le répertoire courant (.) test.txt, qui se trouve sur serveur.com | ||
| + | scp toto@serveur.com: | ||
| + | |||
| + | # uploader tout le dossier test vers le sous répertoire incoming : | ||
| + | scp -r test toto@serveur.com: | ||
| + | |||
| + | # 3 façon d' | ||
| + | scp 1.zip 2.zip serveur.com: | ||
| + | scp {1,2}.zip serveur.com: | ||
| + | scp *.zip serveur.com: | ||
| + | |||
| + | # télécharger plusieurs fichiers en une même commande SCP (ici 1.zip et 2.zip) | ||
| + | scp serveur.com:/ | ||
| + | |||
| + | # copier un fichier entre 2 serveurs distants (remote to remote) | ||
| + | scp toto@serveur1.com: | ||
| + | </ | ||
| + | |||
| + | Les paramètres possibles sont : | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| =====script===== | =====script===== | ||
| Line 2294: | Line 2498: | ||
| <code bash> | <code bash> | ||
| # afficher le contenu du fichier en remplaçant toto par titi | # afficher le contenu du fichier en remplaçant toto par titi | ||
| - | cat fichier.txt | sed ' | + | cat fichier.txt | sed ' |
| # même chose en plus simple | # même chose en plus simple | ||
| - | sed ' | + | sed ' |
| </ | </ | ||
| + | A noter que le délimiteur ''/'' | ||
| Par défaut le résultat est affiché dans le terminal ; si on précise un fichier on peut choisir d' | Par défaut le résultat est affiché dans le terminal ; si on précise un fichier on peut choisir d' | ||
| Line 2341: | Line 2546: | ||
| <code bash> | <code bash> | ||
| sed '/ | sed '/ | ||
| + | </ | ||
| + | |||
| + | * remplacer le motif " | ||
| + | <code bash> | ||
| + | sed '/ | ||
| </ | </ | ||
| Line 2454: | Line 2664: | ||
| </ | </ | ||
| + | ====Remplacer un quote==== | ||
| + | |||
| + | Pour ne pas interpréter le quote il faut découper le sed pour qu'il concatène son contenu : | ||
| + | <code bash> | ||
| + | echo \' | ||
| + | ' | ||
| + | |||
| + | echo \' | ||
| + | " | ||
| + | </ | ||
| + | Ici sed va concaténer les 3 parts : | ||
| + | <code bash> | ||
| + | s/ | ||
| + | \' | ||
| + | /\"/g | ||
| + | </ | ||
| ====Liens utiles==== | ====Liens utiles==== | ||
| Line 2653: | Line 2879: | ||
| </ | </ | ||
| + | |||
| + | =====strace===== | ||
| + | |||
| + | Permet de débugguer les appels système d'un processus. | ||
| + | |||
| + | Liens : | ||
| + | * [[https:// | ||
| =====strings===== | =====strings===== | ||
| Line 2707: | Line 2940: | ||
| =====tar===== | =====tar===== | ||
| - | Un outil d' | + | Un outil d' |
| + | |||
| + | Options courantes de création d' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * ''< | ||
| <code bash> | <code bash> | ||
| # pour archiver le répertoire ./toto/ et tout son contenu (répertoires et fichiers normaux). | # pour archiver le répertoire ./toto/ et tout son contenu (répertoires et fichiers normaux). | ||
| # (toto.tar désigne le nom de l' | # (toto.tar désigne le nom de l' | ||
| - | tar cvf toto.tar ./toto | + | tar cf toto.tar ./toto |
| # archiver ET compresser le fichier grâce à gunzip (-z) ou bunzip (-y) : | # archiver ET compresser le fichier grâce à gunzip (-z) ou bunzip (-y) : | ||
| - | # -c pour compresser, -v pour un affichage verbeux, -f pour préciser le fichier | + | # -c pour compresser, -v pour un affichage verbeux, -f pour préciser le fichier |
| - | tar czvf toto.tar.gz ./toto | + | tar cvzf toto.tar.gz ./toto |
| # extraire (-x) le contenu d'une archive gunzip (-z) : | # extraire (-x) le contenu d'une archive gunzip (-z) : | ||
| tar zxf toto.tar | tar zxf toto.tar | ||
| - | </ | ||
| + | # exclure le répertoire " | ||
| + | tar cfz toto.tar --exclude=./ | ||
| + | |||
| + | # équivalent en listant les fichiers à exclure dans un fichier externe | ||
| + | cat exclude-fic.txt | ||
| + | ./ | ||
| + | ./toto/dir | ||
| + | |||
| + | tar cfz toto.tar --exclude-from exclude-fic.txt ./toto | ||
| + | </ | ||
| =====tee===== | =====tee===== | ||
| Line 2788: | Line 3036: | ||
| Connection closed by foreign host. | Connection closed by foreign host. | ||
| </ | </ | ||
| + | |||
| + | Pour fermer une connexion telnet qui ne répond plus ou dont on n' | ||
| + | |||
| =====time===== | =====time===== | ||
| Line 2818: | Line 3069: | ||
| Affiche la liste des processus et permet d' | Affiche la liste des processus et permet d' | ||
| + | =====touch===== | ||
| + | Permet de modifier les dates de dernier accès et de dernière modification d'un fichier. | ||
| + | |||
| + | <code bash> | ||
| + | # modifier les dates d' | ||
| + | touch toto.txt | ||
| + | # pour ne changer que l'une d' | ||
| + | |||
| + | # modifier avec la date spécifiée en option | ||
| + | touch -d " | ||
| + | </ | ||
| =====tr===== | =====tr===== | ||
| Line 2839: | Line 3101: | ||
| L' | L' | ||
| - | Certains routeurs ne communiquent pas d' | + | Certains routeurs ne communiquent pas d' |
| <code bash> | <code bash> | ||
| traceroute google.fr | traceroute google.fr | ||
| Line 2858: | Line 3120: | ||
| </ | </ | ||
| - | Par défaut le protocole UDP/33434-5 est utilisé mais il peut être filtré. On peut donc demander au traceroute de changer de port ('' | + | Par défaut le protocole UDP/33434-5 est utilisé mais il peut être filtré. On peut donc demander au traceroute de changer de port ('' |
| =====trap===== | =====trap===== | ||
| Line 3025: | Line 3287: | ||
| <code bash> | <code bash> | ||
| usermod -G "" | usermod -G "" | ||
| + | </ | ||
| + | |||
| + | Simplement ajouter un utilisateur dans un groupe existant : | ||
| + | <code bash> | ||
| + | usermod -aG GROUP USER | ||
| </ | </ | ||
| =====vi===== | =====vi===== | ||
informatique/linux/commandes_linux.1656922985.txt.gz · Last modified: 2022/07/04 08:23 by pteu