Outils pour utilisateurs

Outils du site


php-bash:aide-memoire

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
Prochaine révisionLes deux révisions suivantes
php-bash:aide-memoire [2020/10/25 18:19] – [Lister les repo d'apt et les sources.list] cyrillephp-bash:aide-memoire [2022/01/11 18:14] – [Aide mémoire Linux] cyrille
Ligne 2: Ligne 2:
  
 ====== 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'archlinux
 +
 +<code>
 +    Exécuter des applications GUI en tant que root
 +
 +    Avertissement: toutes les méthodes suivantes ont des implications en matière de sécurité dont les utilisateurs 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'administrateur, vous exécutez littéralement des millions de lignes de code qui n'ont pas été audités correctement pour s'exécuter avec des privilèges élevés; vous exécutez également du code qui touchera des fichiers dans votre $ HOME et peut changer leur propriété sur le système de fichiers; connectez-vous, via IPC, à encore plus de code en cours d'exécution, etc. ouvrent une faille de sécurité massive et béante [...]. "
 +</code>
 +
 +__Sources__
 +https://bugzilla.gnome.org//show_bug.cgi?id=772875#c5
 +https://wiki.archlinux.org/title/Running_GUI_applications_as_root
 +
  
 Quelques liens : Quelques liens :
Ligne 13: Ligne 28:
   * [[https://www.cyberciti.biz/linux-news/linux-kernel-5-0-released-how-to-install/|Compiler un kernel 5]]   * [[https://www.cyberciti.biz/linux-news/linux-kernel-5-0-released-how-to-install/|Compiler un kernel 5]]
   * [[https://www.cyberciti.biz/faq/linux-unix-creating-a-manpage/|Créer ses pages de man]]   * [[https://www.cyberciti.biz/faq/linux-unix-creating-a-manpage/|Créer ses pages de man]]
 +  * [[http://www.pingouin-land.com/howto/Man-Page.html|Structuration d'une page de man]]
 +  * [[http://www.linuxfocus.org/Francais/November2003/article309.shtml|Structuration d'une page de man]]
 +  * [[https://www.cyberciti.biz/faq/redirecting-stderr-to-stdout/|Gestion des redirections]]
  
 ----- -----
Ligne 25: Ligne 43:
   *[[https://www.debian.org/doc/manuals/maint-guide/dother.fr.html | Chapitre 5. Autres fichiers dans le répertoire debian]]   *[[https://www.debian.org/doc/manuals/maint-guide/dother.fr.html | Chapitre 5. Autres fichiers dans le répertoire debian]]
   *[[ https://www.debian.org/doc/manuals/maint-guide/dreq.fr.html#customrules| Chapitre 4. Fichiers nécessaires dans le répertoire debian]]   *[[ https://www.debian.org/doc/manuals/maint-guide/dreq.fr.html#customrules| Chapitre 4. Fichiers nécessaires dans le répertoire debian]]
 +  *[[https://www.cyberciti.biz/faq/linux-unix-creating-a-manpage/|Creer page de man]]
  
    
Ligne 30: Ligne 49:
   *[[https://fr.wikibooks.org/wiki/Programmation_Bash|Programmation BASH]]   *[[https://fr.wikibooks.org/wiki/Programmation_Bash|Programmation BASH]]
   *[[https://bash.cyberciti.biz/guide/Main_Page|Linux Shell Scripting Tutorial (LSST) v2.0 ]]   *[[https://bash.cyberciti.biz/guide/Main_Page|Linux Shell Scripting Tutorial (LSST) v2.0 ]]
 +  *[[http://www.dartmouth.edu/~rc/classes/ksh/index.html|Shell]]
  
 ===== BASH et les chaines de caractères ==== ===== BASH et les chaines de caractères ====
Ligne 212: Ligne 232:
 =====Bash : recursif===== =====Bash : recursif=====
  
-<code bash>#!/bin/sh+<code bash>#!/bin/bash
  
 dossierDeTravail="/home/serveur"; dossierDeTravail="/home/serveur";
Ligne 630: Ligne 650:
 <code bash>alias  <code bash>alias 
 alias glances='glances 2>/dev/null'</code> alias glances='glances 2>/dev/null'</code>
 +
 +===== Mise à jour cassée ou interrompue =====
 +Nettoyer s'il y a des reliquats d'installation qui coincent
 +<code | download>
 +su - 
 +apt update
 +</code>
 +
 +Lancer la réparation
 +<code | download>
 +dpkg --configure -a
 +apt install -f
 +</code>
 +
 +Finir ta mise à jour (éventuellement)
 +<code | download>
 +apt upgrade
 +</code>
 +
 +===== Réparer une clef USB =====
 +
 +
 +Identifier sa clef USB
 +<code | download>
 +$ lsblk
 +</code>
 +ou
 +<code | download>
 +$ blkid
 +</code>
 +On doit voir alors une sortie de ce style "/dev/sdc1"
 +
 +Démonter la clef si elle est montée
 +<code | download>
 +# umount /dev/sdXY
 +</code>
 +
 +Réparer la clef USB
 +<code | download>
 +# fsck /dev/sdXY
 +</code>
 +
 +
 +===== Crontab sans notification mail =====
 +
 +Par défaut, lorsqu'une tâche cron est exécutée, cron envoie des notifications par courrier électronique au compte utilisateur. 
 +
 +Pour désactiver les notifications par e-mail, ajoutez<code>
 +> /dev/null 2>&1
 +</code> à la commande dans la tâche cron. 
 +
 +Cela redirige toute la sortie de la tâche cron vers le périphérique **/dev/null**. 
 +
 +Par exemple, la tâche cron suivante n'envoie pas de notifications par courrier électronique:
 +
 +<code>
 +15 * * * Sun     ${HOME}/bigtask.sh > /dev/null 2>&1
 +</code>
 +
 +Pour reprendre la réception des notifications par e-mail des tâches cron, supprimez simplement **> /dev/null 2>&1** de la commande.
 +
 +
 +
 +===== FLAC TO MP3 =====
 +
 +**Avec ffmpeg**
 +<code>
 +parallel ffmpeg -i {} -qscale:a 0 {.}.mp3 ::: ./*.flac
 +</code>
 +
 +
 +**Avec lame**
 +
 +<code>
 +#!/bin/bash
 +
 +for a in ./*.flac; do
 +  # give output correct extension
 +  OUTF="${a[@]/%flac/mp3}"
 +
 +  # get the tags
 +  ARTIST=$(metaflac "$a" --show-tag=ARTIST | sed s/.*=//g)
 +  TITLE=$(metaflac "$a" --show-tag=TITLE | sed s/.*=//g)
 +  ALBUM=$(metaflac "$a" --show-tag=ALBUM | sed s/.*=//g)
 +  GENRE=$(metaflac "$a" --show-tag=GENRE | sed s/.*=//g)
 +  TRACKNUMBER=$(metaflac "$a" --show-tag=TRACKNUMBER | sed s/.*=//g)
 +  DATE=$(metaflac "$a" --show-tag=DATE | sed s/.*=//g)
 +
 +  # stream flac into the lame encoder
 +  flac -c -d "$a" | lame -V0 --add-id3v2 --pad-id3v2 --ignore-tag-errors \
 +    --ta "$ARTIST" --tt "$TITLE" --tl "$ALBUM"  --tg "${GENRE:-12}" \
 +    --tn "${TRACKNUMBER:-0}" --ty "$DATE" - "$OUTF"
 +done
 +</code>
 +
 +
 +===== WMA TO MP3 =====
 +
 +**En une ligne**
 +<code>find . -iname "*.wma" -execdir bash -c 'NAME="{}" && ffmpeg -y -i "$NAME" -ab 192k "${NAME/.wma/.mp3}" && rm "$NAME"' \;</code>
 +
 +**En script**
 +
 +
 +<code | download>
 +#!/bin/bash
 + for i in *.wma; do
 +            j="${i%.wma}"
 +            soundconverter -b -m audio/mpeg -s .mp3 "$j.wma" && rm -f "$j.wma"  && echo "$i réencodé en mp3."
 + done
 +</code>
 +===== Redimensionner des images =====
 +
 +<code>
 +for f in *.jpeg ; do convert $f -resize 50% new_$f; done
 +</code>
 +
 +
 +===== Chercher [dans] les logs =====
 +
 +Avec systemd, nous avons obtenu journalctl qui permet facilement un filtrage à grain fin comme celui-ci:
 +
 +<code>
 +sudo journalctl --since "2 days ago"   
 +sudo journalctl --since "2019-03-10" --until "2019-03-11 03:00"
 +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
 +</code>
 +===== Fonction bash pour la gestion des couleurs =====
 +
 +<code | download>
 +
 +#!/bin/bash
 +
 +couleur_rouge () {
 +    echo -e "\e[91m $@ \033[0m"
 +
 +
 +echo  "Une phrase avec un $(couleur_rouge mot) voilà"
 +</code>
 +
 +Et pour le référenciel des couleurs et bien plus : https://misc.flogisoft.com/bash/tip_colors_and_formatting
 + 
  
php-bash/aide-memoire.txt · Dernière modification : 2023/12/31 12:30 de cyrille