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 [2020/01/12 18:02] – [Récupérer les mails d’un fichier sous Linux] crust | php-bash:aide-memoire [2023/01/22 16:49] – [fsck : régler le laps de temps de verif système] cyrille | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ~~LASTMOD~~ | ||
+ | |||
====== Aide mémoire Linux ====== | ====== Aide mémoire Linux ====== | ||
+ | |||
+ | ===== 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 : | Quelques liens : | ||
Ligne 10: | Ligne 35: | ||
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | |||
+ | ----- | ||
+ | __**Creation de paquets debians**__ | ||
+ | |||
+ | *[[ https:// | ||
+ | *[[ https:// | ||
+ | *[[ https:// | ||
+ | *[[https:// | ||
+ | *[[https:// | ||
+ | *[[ https:// | ||
+ | *[[https:// | ||
+ | *[[ https:// | ||
+ | *[[https:// | ||
Ligne 15: | Ligne 57: | ||
*[[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 191: | Ligne 240: | ||
=====Bash : recursif===== | =====Bash : recursif===== | ||
- | <code bash># | + | <code bash># |
dossierDeTravail="/ | dossierDeTravail="/ | ||
Ligne 537: | Ligne 586: | ||
Parse le fichier, récupère les mails, supprime les doublons et redirige la sortie standard via un fichier texte | Parse le fichier, récupère les mails, supprime les doublons et redirige la sortie standard via un fichier texte | ||
- | <code bash> | ||
- | grep -iEo ‘[a-z.0-9-_]{1, | ||
+ | <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:// | ||
+ | |||
+ | |||
+ | ===== Retrouver la date de mise à jour d'un logiciel ===== | ||
+ | |||
+ | |||
+ | <code | download> | ||
+ | grep installed / | ||
+ | </ | ||
+ | |||
+ | Exemple, avec VLC | ||
+ | |||
+ | |||
+ | <code | download> | ||
+ | grep installed / | ||
+ | 2022-01-26 16:39:29 status half-installed libvlccore9: | ||
+ | 2022-01-26 16:39:29 status half-installed libvlc5: | ||
+ | 2022-01-26 16:39:29 status half-installed vlc:amd64 3.0.16-1+b5 | ||
+ | 2022-01-26 16:39:29 status half-installed vlc-bin: | ||
+ | 2022-01-26 16:39:29 status half-installed libvlc-bin: | ||
+ | 2022-01-26 16:39:40 status half-installed vlc-plugin-base: | ||
+ | 2022-01-26 16:39:41 status half-installed vlc-plugin-skins2: | ||
+ | 2022-01-26 16:39:41 status half-installed vlc-plugin-qt: | ||
+ | 2022-01-26 16:39:41 status half-installed vlc-plugin-video-output: | ||
+ | 2022-01-26 16:41:11 status half-installed vlc-plugin-access-extra: | ||
+ | 2022-01-26 16:41:11 status half-installed vlc-plugin-notify: | ||
+ | 2022-01-26 16:41:11 status half-installed vlc-plugin-samba: | ||
+ | 2022-01-26 16:41:11 status half-installed vlc-plugin-video-splitter: | ||
+ | 2022-01-26 16:41:12 status half-installed vlc-plugin-visualization: | ||
+ | 2022-01-26 16:41:54 status installed libvlccore9: | ||
+ | 2022-01-26 16:41:54 status installed vlc-plugin-qt: | ||
+ | 2022-01-26 16:42:48 status installed vlc-plugin-notify: | ||
+ | 2022-01-26 16:42:48 status installed vlc-plugin-samba: | ||
+ | 2022-01-26 16:42:49 status installed vlc-plugin-skins2: | ||
+ | 2022-01-26 16:42:50 status installed vlc-plugin-video-splitter: | ||
+ | 2022-01-26 16:42:50 status installed libvlc5: | ||
+ | 2022-01-26 16:42:51 status installed vlc-plugin-visualization: | ||
+ | 2022-01-26 16:42:51 status installed vlc-plugin-access-extra: | ||
+ | 2022-01-26 16:42:53 status installed libvlc-bin: | ||
+ | 2022-01-26 16:42:55 status installed vlc-bin: | ||
+ | 2022-01-26 16:44:03 status installed vlc-plugin-video-output: | ||
+ | 2022-01-26 16:44:04 status installed vlc-plugin-base: | ||
+ | 2022-01-26 16:44:04 status installed vlc:amd64 3.0.16-1+b6 | ||
+ | 2022-01-26 16:44:05 status installed libvlc-bin: | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Retrouver la date de mise à jour d'un logiciel ===== | ||
+ | |||
+ | <code | download> | ||
+ | awk '/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== fsck : régler le laps de temps de verif système ===== | ||
+ | Pour connaître le réglage par défaut de la vérification de ta partition sda1 par exemple, | ||
+ | |||
+ | |||
+ | <code | download> | ||
+ | # LANG=C tune2fs -l /dev/sda1 | egrep -i "mount count|Check interval|Last|Next" | ||
+ | </ | ||
+ | |||
+ | Pour lancer la vérification avec fsck tous les 20 montages de la partition sda1, | ||
+ | |||
+ | |||
+ | <code | download> | ||
+ | # tune2fs -c 20 /dev/sda1 | ||
+ | </ | ||
+ | |||
+ | Pour lancer la vérification avec fsck tous les 20 jours de la partition sda1, | ||
+ | |||
+ | <code | download> | ||
+ | # tune2fs -i 20d /dev/sda1 | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Droits sur rep de pub web ===== | ||
+ | |||
+ | A défaut | ||
+ | |||
+ | <code | download> | ||
+ | #!/bin/sh | ||
+ | |||
+ | chown -R www-data: | ||
+ | |||
+ | find /var/www -name " | ||
+ | |||
+ | find /var/www -name " | ||
+ | </ |