Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tutoriel:nanopc:raspi:74commandes:start [2021/04/12 09:46] – [Gestion des paquets] admintutoriel:nanopc:raspi:74commandes:start [2022/08/13 22:15] (Version actuelle) – modification externe 127.0.0.1
Ligne 176: Ligne 176:
 ===== Gestion du système ===== ===== Gestion du système =====
  
 +  - **reboot** : Cette commande redémarre instantanément le Raspberry Pi
 +    * Usage :<cli prompt='$ '>...@...:~ $ sudo reboot</cli>
 +  - **service** : Permet de gérer le fonctionnement des services du système
 +    * Démarrage :<cli prompt='$ '>...@...:~ $ sudo service apache2 start</cli>
 +    * Arrêt :<cli prompt='$ '>...@...:~ $ sudo service apache2 stop</cli>
 +    * Redémarrer :<cli prompt='$ '>...@...:~ $ sudo service apache2 start</cli>
 +    * Recharger:<cli prompt='$ '>...@...:~ $ sudo service apache2 reload</cli>
 +    * Utilisez "service <service>" pour connaitre toutes les options disponibles.
 +    * La touche <key>TAB</key> vous aidera à trouver le nom du service
 +  - **Liste des processus** : Affiche tous les processus en cours
 +    * Usage basique :<cli prompt='$ '>...@...:~ $ ps aux</cli>
 +    * Filtrer par utilisateur :<cli prompt='$ '>...@...:~ $ ps -u pi</cli>
 +  - **htop** : Une bonne alternative à "top" pour afficher l'état du système
 +    * Usage :<cli prompt='$ '>...@...:~ $ htop</cli>
 +    * Si htop n'est pas disponible, c'est qu'il faut d'abord l'installer: <cli prompt='$ '>...@...:~ $ sudo apt install htop</cli>
 +  - **shutdown** : Arrête le Raspberry Pi, soit immédiatement, soit à une heure spécifiée
 +    * Maintenant:<cli prompt='$ '>...@...:~ $ sudo shutdown -h now</cli>
 +    * Heure indiquée:<cli prompt='$ '>...@...:~ $ sudo shutdown -h 20:00</cli>
 +  - **Démarrage auto** : Permet de gérer le démarrage automatique ou non lors du lancement du Raspberry Pi
 +    * Démarrage auto :<cli prompt='$ '>...@...:~ $ sudo update-rc.d ssh enable</cli>
 +    * Désactivation :<cli prompt='$ '>...@...:~ $ sudo update-rc.d -f ssh remove</cli>
 +    * Pour lancer un script au démarrage, ajoutez le dans /etc/rc.local
 +  - **kill / killall** : Termine immédiatement le processus indiqué
 +    * Kill :<cli prompt='$ '>...@...:~ $ kill 12345</cli>
 +    * Killall :<cli prompt='$ '>...@...:~ $ killall php</cli>
 +    * Utilisez la commande "ps aux" au préalable pour trouver le numéro du processus
 +  - **df** : Affiche la liste des partitions, ainsi que l'espace disque utilisé/restant
 +    * Usage basique :<cli prompt='$ '>...@...:~ $ df</cli>
 +    * Plus lisible :<cli prompt='$ '>...@...:~ $ df -h</cli>
 +    * Partition spécifiée :<cli prompt='$ '>...@...:~ $ df -h /media/usb</cli>
 +  - **du** : Affiche l'espace disque utilisé par le dossier courant ou spécifié
 +    * Usage basique :<cli prompt='$ '>...@...:~ $ du</cli>
 +    * Dossier précis :<cli prompt='$ '>...@...:~ $ du /home/pi</cli>
 +    * Résumé :<cli prompt='$ '>...@...:~ $ du --summarize /home/pi</cli>
 +    * Plus gros fichiers :<cli prompt='$ '>...@...:~ $ du -ak | sort -nr | head -20</cli>
 +    * Il existe bien plus d'options disponibles, utilisez "man du" pour en savoir plus
 +  - **date** : Comme le nom l'indique, permet d'afficher la date
 +    * Affichage complet :<cli prompt='$ '>...@...:~ $ date</cli>
 +    * Format précis :<cli prompt='$ '>...@...:~ $ date +%m-%d-%Y</cli>
 +    * Le "man date" vous aidera au niveau du format notamment
 +  - **chown** : Changer le propriétaire d'un fichier
 +    * Propriétaire :<cli prompt='$ '>...@...:~ $ sudo chown pi /usr/local/bin/script.sh</cli>
 +    * Propriétaire et groupe :<cli prompt='$ '>...@...:~ $ sudo chown pi:www-data /var/www/html/mysite</cli>
 +  - **Température du cpu** : Elle n'est pas facile à se souvenir, mais elle peut être très utile en cas de surcharge
 +    * Usage :<cli prompt='$ '>...@...:~ $ vcgencmd measure_temp</cli>
 +    * vcgencmd est inclus dans le paquet libraspberry-bin, une installation peut être nécessair e: <cli prompt='$ '>...@...:~ $ sudo apt install libraspberrypi-bin</cli>
 +  - **mount** : Monter une partition (une clé USB par exemple)
 +    * Montage :<cli prompt='$ '>...@...:~ $ sudo mount /dev/sda1 /mnt/usb</cli>
 +    * Démontage :<cli prompt='$ '>...@...:~ $ sudo umount /mnt/usb</cli>
 +    * Ce n'est pas très simple pour les débutants, je vous conseille la lecture de ce tutoriel si vous n'avez jamais fait:[[https://raspberrytips.fr/monter-cle-usb-raspberry-pi/]]
 +  - **uptime** : Affiche le temps d'exécution du Raspberry Pi depuis le dernier démarrage
 +    * Utilisation :<cli prompt='$ '>...@...:~ $ uptime</cli>
 +    * Heure dernier boot :<cli prompt='$ '>...@...:~ $ uptime -s</cli>
 +  - **chmod** : Change les permissions d'un fichier ou dossier
 +    * Format numérique :<cli prompt='$ '>...@...:~ $ chmod 644 script.sh</cli>
 +    * Format lettres :<cli prompt='$ '>...@...:~ $ chmod +x script.sh</cli>
 +    * Il existe des outils pour vous aider à connaître les bonnes options à utiliser, par exemple : [[https://chmod-calculator.com/]]
 +  - **man <COMMANDE>** : permet d'afficher l'aide
 +    * Utilisez la touche <key>Espace</key> pour passer à la page suivante et <key>q</key> pour quitter.
 +    * Exemple :<cli prompt='$ '>...@...:~ $ man find</cli>
 ===== Commandes Raspbian ===== ===== Commandes Raspbian =====
  
 +  - **raspi-config** : C'est l'outil principal pour la configuration d'un Raspberry Pi
 +    * Usage :<cli prompt='$ '>...@...:~ $ sudo raspi-config</cli>
 +    * Raspi-config permet de changer plein de paramètres système via un menu pratique (localisation, Wi-Fi, interfaces,etc.)
 +  - **raspivid** : Même chose, mais pour prendre une vidéo avec la caméra
 +    * Utilisation :<cli prompt='$ '>...@...:~ $ raspivid -o video.h264 -t 10000</cli>L'option -t permet de spécifier la durée du film
 +  - **raspividyuv / raspiyuv** : Idem que raspivid mais au format YUV
 +    * Utilisation :<cli prompt='$ '>...@...:~ $ raspividyuv -o video.yuv</cli>
 +  - **raspistill** : Cette commande permet de prendre une photo avec la caméra du Raspberry Pi
 +    * Utilisation :<cli prompt='$ '>...@...:~ $ raspistill -o image.jpg</cli>
 +  - **raspi-gpio** : Permet d'accéder aux pins GPIO directement sans code
 +    * Récupérer valeur :<cli prompt='$ '>...@...:~ $ raspi-gpio get</cli>
 +    * Définir valeur :<cli prompt='$ '>...@...:~ $ raspi-gpio set 20 a5</cli>
 +  - **rpi-update** : mise àjour complète du système
 +    * Usage :<cli prompt='$ '>...@...:~ $ sudo rpi-update</cli>
 ===== Commandes diverses ===== ===== Commandes diverses =====
  
 +  - **history** : Linux archive toutes les commandes tapées, la commande history permet de les afficher
 +    * Voir tout :<cli prompt='$ '>...@...:~ $ history</cli>
 +    * Les 20 dernières :<cli prompt='$ '>...@...:~ $ history | tail -n 20</cli>
 +    * Tout effacer :<cli prompt='$ '>...@...:~ $ history -c</cli>
 +    * Effacer une ligne :<cli prompt='$ '>...@...:~ $ history -d 123</cli>
 +  - **|** : ce symbole est important
 +    * Syntaxe :<cli prompt='$ '>...@...:~ $ <command1> | <command2></cli>
 +    * Grep :<cli prompt='$ '>...@...:~ $ cat test.txt | grep error</cli>
 +    * Double:<cli prompt='$ '>...@...:~ $ du -ak | sort -nr | head -20</cli>
 +  - **!** : Lance une commande présente dansl'historique
 +    * Syntaxe :!<cli prompt='$ '>...@...:~ $ <history_id></cli>
 +    * Exemple :<cli prompt='$ '>...@...:~ $ !123</cli>
 +    * Pensez bien à vérifier le numéro à chaque fois, il change à chaque nouvelle commande tapée
 +  - **>** : Stocke le résultat dans un fichier
 +    * Syntaxe :<cli prompt='$ '>...@...:~ $ <command> > <filename></cli>
 +    * Exemple :<cli prompt='$ '>...@...:~ $ cat test.txt | grep error > error.log</cli>
 +    * La dernière commande stocke toutes les lignes contenant le mot clé "error" dans le fichier error.log. Cette commande n'affichera rien du tout
 +  - **crontab** : Planificateur de tâches pour Raspberry Pi
 +    * Voir les tâches :<cli prompt='$ '>...@...:~ $ crontab -l</cli>
 +    * Modifier :<cli prompt='$ '>...@...:~ $ crontab -e</cli>
 +    * La syntaxe n'est pas évidente à maitriser, je vous conseille de la valider avec ce genre d'outil :[[https://crontab.guru/]]
 +  - **!!** : Similaire à ! mais pour la dernière commande
 +    * Usage :<cli prompt='$ '>...@...:~ $ !!</cli>
 +  - **>>** : Même chose que > mais ajoute à la fin du fichier au lieu de remplacer tout
 +    * Usage :<cli prompt='$ '>...@...:~ $ cat test.txt | grep error >> error.log</cli>Dans ce cas, les lignes d'erreur sont ajoutées à la fin de error.log
 ===== Commandes d'expert ===== ===== Commandes d'expert =====
  
 +  - **awk** : Awk est pratiquement un langage de programmation. Il permet de rechercher une valeur et de transformer l'affichage du résultat
 +    * Syntaxe :<cli prompt='$ '>...@...:~ $ awk [-F] [-v var=value] 'program' file</cli>
 +    * Exemple basique :<cli prompt='$ '>...@...:~ $ awk -F":" '{print $1}' /etc/passwd</cli>
 +    * La dernière commande affiche juste la première colonne.
 +    * Difficile d'expliquer en deux lignes, je vous recommande la lecture de ce guide: [[https://do.co/2VC8mnm]]
 +  - **cut** : Une troisième manière de transformer l'affichage d'un fichier
 +    * Syntaxe :<cli prompt='$ '>...@...:~ $ cut <option> <file></cli>
 +    * Exemple :<cli prompt='$ '>...@...:~ $ cut -d : -f 1 /etc/passwd</cli>
 +    * -d indique le délimiteur, and -f le champ à garder.
 +    * Utilisez "man cut" pour voir les autres options
 +  - **lsof** : Abréviation de "LiSt Open Files", affiche les fichiers ouverts sur votre système
 +    * Usage :<cli prompt='$ '>...@...:~ $ lsof</cli>
 +    * À coupler avec grep pour filtrer les résultats
 +  - **netstat** : Surveille l'activité réseau
 +    * Ports ouverts :<cli prompt='$ '>...@...:~ $ netstat -l</cli>
 +    * Indique le processus :<cli prompt='$ '>...@...:~ $ netstat -lp</cli>
 +    * Temps réel :<cli prompt='$ '>...@...:~ $ netstat -lpc</cli>
 +    * Il existe plein d'autres options, utilisez "man netstat" pour en savoir plus
 +  - **sed** : Similaire à awk, mais utilisant uniquement des expressions régulières
 +    * Syntaxe :<cli prompt='$ '>...@...:~ $ sed <option> <script> <file></cli>
 +    * Exemple :<cli prompt='$ '>...@...:~ $ sed '/^#/d' /etc/apache2/apache2.conf</cli>
 +    * La dernière commande supprime tous les commentaires dans le fichier de configuration Apache.
 +    * Comme pour awk, je vous conseille de lire des tutorials avant de vous lancer
 +  - **wc** : WC est l'abréviation de "Words Count" et affiche le nombre de mots, lignes ou caractères
 +    * Syntaxe :<cli prompt='$ '>...@...:~ $ wc <options> <file></cli>
 +    * Nb lignes :<cli prompt='$ '>...@...:~ $ wc -l /var/log/syslog</cli>
 +    * -l pour les lignes, -w pour les mots et -m pour les caractères
 +  - **watch** : Surveille le résultat d'une commande, à intervalles réguliers
 +    * Utilisation :<cli prompt='$ '>...@...:~ $ watch date</cli>
 +    * Fréquence :<cli prompt='$ '>...@...:~ $ watch -n10 date</cli>
 +    * Par défaut l'affichage est rafraichi toutes les 2s
 +  - **dmesg** : Affiche les logs du dernier démarrage du système
 +    * Usage :<cli prompt='$ '>...@...:~ $ dmesg</cli>
 +    * A coupler avec grep pour filtrer les erreurs par exemple
 ===== Voir aussi ===== ===== Voir aussi =====