Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
php-bash:aide-memoire [2019/06/05 11:17] – [Modifier la date des fichiers Récursif] cyrille | php-bash:aide-memoire [2022/01/11 18:23] – [Aide mémoire Linux] cyrille | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ~~LASTMOD~~ | ||
+ | |||
====== Aide mémoire Linux ====== | ====== Aide mémoire Linux ====== | ||
- | Quelques liens | + | **Pourquoi ne pas lancer des applis X via le compte root (si non prévues)** |
+ | |||
+ | __Traduction d'un extrait d' | ||
+ | |||
+ | // | ||
+ | **Exécuter des applications GUI en tant que root | ||
+ | |||
+ | " | ||
+ | doivent être conscients. Comme l'a dit Emmanuele Bassi, un développeur GNOME: «il n'y a pas de * vraies * raisons | ||
+ | technologiques justifiées pour lesquelles quiconque devrait exécuter une application GUI en tant que root. | ||
+ | En exécutant des applications GUI en tant qu' | ||
+ | de code qui n'ont pas été audités correctement pour s' | ||
+ | également du code qui touchera des fichiers dans votre $ HOME et peut changer leur propriété sur le système | ||
+ | de fichiers; connectez-vous, | ||
+ | de sécurité massive et béante [...]. " | ||
+ | |||
+ | __Sources__ | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | Quelques liens : | ||
* [[https:// | * [[https:// | ||
* [[http:// | * [[http:// | ||
Ligne 10: | Ligne 34: | ||
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | |||
+ | ----- | ||
+ | __**Creation de paquets debians**__ | ||
+ | |||
+ | *[[ https:// | ||
+ | *[[ https:// | ||
+ | *[[ https:// | ||
+ | *[[https:// | ||
+ | *[[https:// | ||
+ | *[[ https:// | ||
+ | *[[https:// | ||
+ | *[[ https:// | ||
+ | *[[https:// | ||
+ | |||
=====Programmation BASH==== | =====Programmation BASH==== | ||
*[[https:// | *[[https:// | ||
*[[https:// | *[[https:// | ||
+ | *[[http:// | ||
+ | |||
+ | ===== BASH et les chaines de caractères ==== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
=====Perte mot de passe root===== | =====Perte mot de passe root===== | ||
Ligne 52: | Ligne 101: | ||
- | ===== Aptitude Apt-get Apt ===== | + | ===== Gel de paquets |
- | Gestion | + | |
- | <code bash>sudo dpkg --list | grep ^hi | + | Geler un paquet (n’apparait plus lors des mises à jour) |
- | sudo aptitude search " | + | <code bash># aptitude hold LePaquet</ |
+ | |||
+ | Degeler un paquet (réapparait lors des mises à jour) | ||
+ | <code bash># aptitude unhold LePaquet</ | ||
+ | |||
+ | |||
+ | Recherche | ||
+ | <code bash># dpkg --list | grep ^hi | ||
+ | # aptitude search " | ||
</ | </ | ||
Ligne 182: | Ligne 239: | ||
=====Bash : recursif===== | =====Bash : recursif===== | ||
- | <code bash># | + | <code bash># |
dossierDeTravail="/ | dossierDeTravail="/ | ||
Ligne 463: | Ligne 520: | ||
</ | </ | ||
+ | ===== echo $var / echo " | ||
+ | |||
+ | echo " | ||
+ | |||
+ | |||
+ | |||
+ | ===== RUN fsck MANUALLY ===== | ||
+ | |||
+ | |||
+ | “Exécuter fsck manuellement.” | ||
+ | |||
+ | Note que bien que les incohérences du système de fichiers ont été corrigées mais il ne s’en est pas forcément tiré sans dommage (perte de fichiers ou de modifications de fichiers). Au mieux les inodes faisant partie de la liste chaînée orpheline corrompue étaient des fichiers temporaires qui auraient de tout façon été supprimés à l’arrêt ou au redémarrage, | ||
+ | |||
+ | P H Debian fr | ||
+ | |||
+ | |||
+ | ===== Pour les utilisateurs du shell ===== | ||
+ | |||
+ | |||
+ | Afin de ne pas laisser de **tty** ou **consoles actives** lorsque l'on quitte le PC (physiquement), | ||
+ | |||
+ | Pour cela utiliser la variable **TMOUT** à positionner en secondes. | ||
+ | |||
+ | Pour un user uniquement : | ||
+ | Editer son **.bashrc** ou **.profile** et ajouter | ||
+ | |||
+ | <code | download> | ||
+ | # Export TMOUT | ||
+ | # Délai inactivité avant deconnexion | ||
+ | TMOUT=600 | ||
+ | |||
+ | </ | ||
+ | Vous serez déconnecté automatiquement au bout de 10 minutes (si 300, 5 minutes... ). | ||
+ | |||
+ | Très utile en cas de connexion **ssh** également, ça évite de laisse une connexion ouverte sur un serveur distant (surtout en root).... | ||
+ | |||
+ | Afin que ce paramètre soit pris en compte de suite, recharger votre .bashrc | ||
+ | <code | download> | ||
+ | source .bashrc | ||
+ | </ | ||
+ | |||
+ | Si vous voulez appliquer ce paramètre à tous vos users : apporter cette modification sur ce fichier | ||
+ | <code | download> | ||
+ | sudo nano / | ||
+ | </ | ||
+ | |||
+ | et | ||
+ | <code | download> | ||
+ | sudo source | ||
+ | </ | ||
+ | |||
+ | ===== Utilisateurs et services ===== | ||
+ | Connaitre l' | ||
+ | |||
+ | <code bash>ps auxn | ||
+ | ps auxnww</ | ||
+ | |||
+ | <code bash>ps -eo euser, | ||
+ | |||
+ | |||
+ | <code bash> | ||
+ | |||
+ | ===== Récupérer les mails d’un fichier sous Linux ===== | ||
+ | |||
+ | Parse le fichier, récupère les mails, supprime les doublons et redirige la sortie standard via un fichier texte | ||
+ | |||
+ | <code bash>$ grep -i -o ' | ||
+ | |||
+ | ===== Inverse un motif dans un fichier selon des patterns ===== | ||
+ | <code bash>cat file.txt | awk ' | ||
+ | |||
+ | ===== Supprimer les kernels non utilisés ===== | ||
+ | |||
+ | <code bash># dpkg -l ' | ||
+ | |||
+ | |||
+ | |||
+ | ===== Lister les repo d'apt et les sources.list ===== | ||
+ | <code bash> find /etc/apt -type f -name ' | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | <code bash> | ||
+ | ===== Temps d' | ||
+ | |||
+ | <code bash>/ | ||
+ | |||
+ | ===== nmap ===== | ||
+ | |||
+ | |||
+ | Scanner plusieurs IP | ||
+ | <code bash> | ||
+ | |||
+ | Scanner une plage d'IP | ||
+ | <code bash> | ||
+ | nmap 192.168.1.*</ | ||
+ | |||
+ | Scanner la totalité d'un réseau | ||
+ | <code bash> | ||
+ | |||
+ | |||
+ | Exclure un poste du scan | ||
+ | <code bash> | ||
+ | |||
+ | Scann et recherche machine Up ou Down | ||
+ | <code bash> | ||
+ | |||
+ | ===== xfce4 : changer fond écran ligne de commande ===== | ||
+ | |||
+ | |||
+ | Afin de déterminer les paramètres à utiliser, lancer | ||
+ | <code bash>$ xfconf-query -c xfce4-desktop -m</ | ||
+ | |||
+ | Et modifier de façon traditionnelle le wallpaper | ||
+ | |||
+ | {{ : | ||
+ | <code bash> | ||
+ | $ xfconf-query -c xfce4-desktop -m | ||
+ | Commencer à surveiller le canal « xfce4-desktop » : | ||
+ | |||
+ | définir: / | ||
+ | |||
+ | |||
+ | Pour avoir toutes les options de xfce4-desktop | ||
+ | <code bash> | ||
+ | |||
+ | Modifier instantanément le wallpaper | ||
+ | <code bash>$ xfconf-query | ||
+ | |||
+ | |||
+ | |||
+ | ===== glances | ||
+ | Eviter les soucis de mise en page | ||
+ | <code bash> | ||
+ | alias glances=' | ||
+ | |||
+ | ===== Mise à jour cassée ou interrompue ===== | ||
+ | Nettoyer s'il y a des reliquats d' | ||
+ | <code | download> | ||
+ | su - | ||
+ | apt update | ||
+ | </ | ||
+ | |||
+ | Lancer la réparation | ||
+ | <code | download> | ||
+ | dpkg --configure -a | ||
+ | apt install -f | ||
+ | </ | ||
+ | |||
+ | Finir ta mise à jour (éventuellement) | ||
+ | <code | download> | ||
+ | apt upgrade | ||
+ | </ | ||
+ | |||
+ | ===== Réparer une clef USB ===== | ||
+ | |||
+ | |||
+ | Identifier sa clef USB | ||
+ | <code | download> | ||
+ | $ lsblk | ||
+ | </ | ||
+ | ou | ||
+ | <code | download> | ||
+ | $ blkid | ||
+ | </ | ||
+ | On doit voir alors une sortie de ce style "/ | ||
+ | |||
+ | Démonter la clef si elle est montée | ||
+ | <code | download> | ||
+ | # umount /dev/sdXY | ||
+ | </ | ||
+ | |||
+ | Réparer la clef USB | ||
+ | <code | download> | ||
+ | # fsck /dev/sdXY | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Crontab sans notification mail ===== | ||
+ | |||
+ | Par défaut, lorsqu' | ||
+ | |||
+ | Pour désactiver les notifications par e-mail, ajoutez< | ||
+ | > /dev/null 2>&1 | ||
+ | </ | ||
+ | |||
+ | Cela redirige toute la sortie de la tâche cron vers le périphérique **/ | ||
+ | |||
+ | Par exemple, la tâche cron suivante n' | ||
+ | |||
+ | < | ||
+ | 15 * * * Sun | ||
+ | </ | ||
+ | |||
+ | Pour reprendre la réception des notifications par e-mail des tâches cron, supprimez simplement **> /dev/null 2>& | ||
+ | |||
+ | |||
+ | |||
+ | ===== FLAC TO MP3 ===== | ||
+ | |||
+ | **Avec ffmpeg** | ||
+ | < | ||
+ | parallel ffmpeg -i {} -qscale:a 0 {.}.mp3 ::: ./*.flac | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Avec lame** | ||
+ | |||
+ | < | ||
+ | #!/bin/bash | ||
+ | |||
+ | for a in ./*.flac; do | ||
+ | # give output correct extension | ||
+ | OUTF=" | ||
+ | |||
+ | # get the tags | ||
+ | ARTIST=$(metaflac " | ||
+ | TITLE=$(metaflac " | ||
+ | ALBUM=$(metaflac " | ||
+ | GENRE=$(metaflac " | ||
+ | TRACKNUMBER=$(metaflac " | ||
+ | DATE=$(metaflac " | ||
+ | |||
+ | # stream flac into the lame encoder | ||
+ | flac -c -d " | ||
+ | --ta " | ||
+ | --tn " | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== WMA TO MP3 ===== | ||
+ | |||
+ | **En une ligne** | ||
+ | < | ||
+ | |||
+ | **En script** | ||
+ | |||
+ | |||
+ | <code | download> | ||
+ | #!/bin/bash | ||
+ | for i in *.wma; do | ||
+ | j=" | ||
+ | soundconverter -b -m audio/mpeg -s .mp3 " | ||
+ | done | ||
+ | </ | ||
+ | ===== Redimensionner des images ===== | ||
+ | |||
+ | < | ||
+ | for f in *.jpeg ; do convert $f -resize 50% new_$f; done | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Chercher [dans] les logs ===== | ||
+ | |||
+ | Avec systemd, nous avons obtenu journalctl qui permet facilement un filtrage à grain fin comme celui-ci: | ||
+ | |||
+ | < | ||
+ | sudo journalctl --since "2 days ago" | ||
+ | sudo journalctl --since " | ||
+ | sudo journalctl -b # last boot | ||
+ | sudo journalctl -k # kernel messages | ||
+ | sudo journalctl -p er # by priority (emerg|alert|crit|err|warning|info|debug) | ||
+ | sudo journalctl -u sshd # by unit | ||
+ | sudo journalctl _UID=1000 # by user id | ||
+ | </ | ||
+ | ===== Fonction bash pour la gestion des couleurs ===== | ||
+ | |||
+ | <code | download> | ||
+ | |||
+ | #!/bin/bash | ||
+ | |||
+ | couleur_rouge () { | ||
+ | echo -e " | ||
+ | } | ||
+ | |||
+ | echo "Une phrase avec un $(couleur_rouge mot) voilà" | ||
+ | </ | ||
+ | |||
+ | Et pour le référenciel des couleurs et bien plus : https:// | ||
+ | |||