Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
ressource:code:bash:start [2021/11/24 16:41] emoc [Dossiers et fichiers] |
ressource:code:bash:start [2022/09/08 17:40] (Version actuelle) emoc [Manipulations de texte] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
Petits trucs utiles notés au fil du temps | Petits trucs utiles notés au fil du temps | ||
+ | |||
+ | ===== Commandes système utiles ===== | ||
+ | |||
+ | **ldd** : Afficher les bibliothèques partagées nécessaires | ||
+ | ldd /bin/ls | ||
+ | |||
+ | which puredata # renvoie /usr/bin/puredata | ||
+ | ldd /usr/bin/puredata # renvoie la liste des bib. utilisées par puredata | ||
+ | |||
+ | **Commandes de base** : https://juliend.github.io/linux-cheatsheet/ (ls, cd, cp, mv, rm, mkdir, chmod, chown, ssh, grep, find, etc.) | ||
+ | |||
+ | **Version du Shell** | ||
+ | $SHELL --version | ||
===== Dossiers et fichiers ===== | ===== Dossiers et fichiers ===== | ||
**Renommer des fichiers de manière incrémentale** | **Renommer des fichiers de manière incrémentale** | ||
- | # 20211124 / debian 9.5 @ kirin | + | # 20211124 / debian 9.5 @ kirin / GNU bash, version 4.4.12 |
j=1;for i in *.png; do mv "$i" oa_"$j".png; let j=j+1;done | j=1;for i in *.png; do mv "$i" oa_"$j".png; let j=j+1;done | ||
Récupére tous les *.png pour donner oa_1.png, oa_2.png, oa_3.png, etc. | Récupére tous les *.png pour donner oa_1.png, oa_2.png, oa_3.png, etc. | ||
+ | |||
+ | **Effacer les fichiers .DS_Store dans un dossier et ses sous dossiers** \\ | ||
+ | Ce sont des fichiers cachés utilisés par les systèmes Apple MacOS (Desktop Service Store) pour stocker des infos sur la configuration d'affichage d'un dossier ([[https://en.wikipedia.org/wiki/.DS_Store|détails]]) | ||
+ | # 2022 / debian 9.5 @ kirin / GNU bash, version 4.4.12 | ||
+ | find . -name '.DS_Store' -type f -delete # source : https://jonbellah.com/articles/recursively-remove-ds-store | ||
+ | |||
+ | **Voir l'occupation du disque d'une partition** \\ | ||
+ | # 20220316 / debian 9.5 @ kirin | ||
+ | sudo apt install ncdu | ||
+ | sudo ncdu -x / # pour la partition principale | ||
+ | |||
+ | **Faire de la place dans les paquets snap** \\ | ||
+ | snap list --all # puis supprimer les paquets en double qui sont disabled | ||
+ | sudo snap remove --revision 145 gnome-3-28-1804 # exemple à adapter en fonction! | ||
+ | | ||
+ | **Ouvrir PCmanFM en root** | ||
+ | # 20220316 / debian 9.5 + LXDE @ kirin | ||
+ | sudo -i | ||
+ | pcmanfm | ||
+ | |||
+ | ===== Manipulations de texte ===== | ||
+ | |||
+ | **ordonner un fichier par longueur de lignes (ou de mots)** | ||
+ | # 20220908 / debian 9.5 + LXDE @ kirin | ||
+ | # source : https://stackoverflow.com/a/5917762 | ||
+ | cat testfile | awk '{ print length, $0 }' | sort -n -s | cut -d" " -f2- | ||
+ | |||
+ | **ordonner un fichier par ordre alphabétique** | ||
+ | # 20220908 / debian 9.5 + LXDE @ kirin | ||
+ | sort fichier.txt | ||
+ | sort -r fichier.txt # odre alpha. inverse | ||
+ | ===== Notifications de batterie ===== | ||
+ | |||
+ | Script pour indiquer l'état de la batterie avec notification sonore et notification sur le bureau. | ||
+ | |||
+ | Installer les paquets nécessaires en root : | ||
+ | sudo apt install acpi # installer les outils ACPI (Advanced Configuration and Power Interface) | ||
+ | sudo apt install notification-deamon libnotify-bin # gestion des notifications | ||
+ | # ajouter le daemon parmi les logiciels qu ise lancent au démarrage | ||
+ | cp /usr/share/applications/notification-daemon.desktop ~/.config/autostart | ||
+ | Il faut ensuite se délogguer, puis se relogguer, on peut alors tester | ||
+ | notify-send "Test" "Hello world" | ||
+ | |||
+ | Ensuite il faut créer le script ''battery-alert.sh'' dans le répertoire ''bin'' de l'utilisateur, avec le code ci-dessous, et le rendre exéctuable | ||
+ | chmod +x ~/bin/battery-alert.sh | ||
+ | Puis éditer le fichier ''~/.profile'' et ajouter la ligne suivante qui active le script au démarrage | ||
+ | sh ~/bin/battery-alert.sh & | ||
+ | Et enfin redémarrer pour que le script devienne actif | ||
+ | |||
+ | **Code du script battery-alert.sh** \\ | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | # debian 9.5 Stretch + LXDE @ kirin 20220314 | ||
+ | |||
+ | while true | ||
+ | do | ||
+ | export DISPLAY=:0.0 | ||
+ | battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'` | ||
+ | if on_ac_power; then | ||
+ | if [ $battery_level -ge 95 ]; then | ||
+ | notify-send "Battery Full" "Level: ${battery_level}% " | ||
+ | paplay /usr/share/sounds/GNUstep/Tink.wav | ||
+ | fi | ||
+ | else | ||
+ | if [ $battery_level -le 20 ]; then | ||
+ | notify-send --urgency=CRITICAL "Battery Low" "Level: ${battery_level}%" | ||
+ | paplay /usr/share/sounds/GNUstep/Submarine.wav | ||
+ | fi | ||
+ | fi | ||
+ | sleep 60 | ||
+ | done | ||
+ | </code> | ||
+ | |||
+ | Sources : | ||
+ | * https://www.debian-fr.org/t/comment-demarrer-notification-daemon-sous-strtech-lxde/75263/6 | ||
+ | * https://memo-linux.com/notify-send-outil-de-notification/ | ||
+ | * https://www.2daygeek.com/linux-low-full-charging-discharging-battery-notification/ | ||