Fais péter ton bashrc !
Qu'avez vous dans votre bashrc ?
Logiciels / Programmation

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Je suis admiratif des topic genre les conky, vous vous les partagez. Dans le même genre mais version ligne de commande, il y a le fameux .bashrc.
Le fichier ${HOME}/.bashrc contient des variables et des commandes en bash. C'est dans le répertoire de chaque utilisateur, donc ça le lui est propre, chacun peut le modifier.
Ça permet avant tout, d'automatiser quelques procédure, ajouter des fonctions, simplifier des commandes.
Par exemple, la commande ls sur Mageia n'est pas directement la commande ls !
À l'ouverture d'un terminal, plusieurs fichier seront "sourcé" et pris en compte, commançant par ${HOME}/.bashrc qui par défaut source /etc/bashrc qui source /etc/profile.d/60alias.sh
Dans ce dernier fichier, ls est redéfini en 'ls -F --color=auto'
Et la commande ll n'existe pas. C'est un raccourci vers ls (déjà modifié) -l soit ls -F --color=auto -l
Il est possible donc de s'ajouter des commandes dans le terminal pour "aller plus vite".
Voici quelques fonctions que j'ai ajouté :
Affiche le pourcentage de batterie restant :
Code BASH :
function BATTERY { for i in $(ls /sys/class/power_supply/B*/capacity); do SUM="$((${SUM}+$(cat ${i})))"; NB=$((${NB}+1)); done; echo "$((${SUM}/${NB}))"; }
Localiser une adresse IP
Code BASH :
function IPLOC() { curl https://iplocate.io/api/lookup/${1} 2>/dev/null | jq '.'; }
Résoudre un nom d'hote
Code BASH :
function DNSRES() { curl -s -H "accept: application/dns-json" "https://cloudflare-dns.com/dns-query?name=${1}" | jq ".Answer" ; }
Encoder et décoder une chaine de caractère avec comme clef le contenu de la variable KEYPASS
Code BASH :
KEYPASS=UnMotDePasse function ENCODE() { echo "${*}" | openssl enc -aes-192-cbc -pass pass:${KEYPASS} | basenc --base64 -w 0 ; echo '' ; } function DECODE() { echo "${*}" | basenc -d --base64 | openssl enc -aes-192-cbc -d -pass pass:${KEYPASS} ; }
Code BASH :
KEYPASS=UnMotDePasse function DECODE() { if [ 0 -ne ${#} ]; then echo "${*}" | openssl enc -a -aes-192-cbc -d -k "${KEYPASS}" ; else openssl enc -a -aes-192-cbc -d -k "${KEYPASS}" </dev/stdin ; fi ; } function ENCODE() { if [ 0 -ne ${#} ]; then echo "${*}" | openssl enc -a -aes-192-cbc -k "${KEYPASS}" ; else openssl enc -a -aes-192-cbc -k "${KEYPASS}" </dev/stdin ; fi ; }
Pour faire un paquet RPM
Code BASH :
function BUILD () { SPEC_F=${1} ; SPEC_N=$(basename ${SPEC_F}); LOGNAME="${HOME}/rpmbuild/LOGS/log-$(date "+%Y-%m-%d-%H-%M")-${SPEC_N}.txt"; STATUS_F="${HOME}/rpmbuild/STATUS.md"; START_T=$(date "+%H:%M:%S"); touch ${STATUS_F}; touch ${LOGNAME}; rpmbuild -ba ${1} --undefine=_disable_source_fetch 2>&1 | tee ${LOGNAME}; RET=${?}; RETt=$(tail -n1 ${LOGNAME} | sed -e 's/^.*exit //'); if [ "0" = "${RETt}" ] ; then RET=0; else RET=1; fi END_T=$(date "+%H:%M:%S"); echo -e "Build starts at ${START_T} and ends at ${END_T}\nExit code ${RET}\n\a" | tee -a ${LOGNAME}; if [ 0 -ne ${RET} ] ; then if [ 0 -eq $(grep -c "${SPEC_N}" ${STATUS_F} ) ] ; then #Is not in STATUS yet echo -e "FAILS\t${SPEC_N}" >> ${STATUS_F}; else sed -i -e "s/^.*${SPEC_N}.*\$/FAILS\t${SPEC_N}/" ${STATUS_F}; fi cp ${LOGNAME} ${HOME}/rpmbuild/LOGS-KO/ else if [ 0 -eq $(grep -c "${SPEC_N}" ${STATUS_F} ) ] ; then #Is not in STATUS yet echo -e "pass\t${SPEC_N}" >> ${STATUS_F}; else sed -i -e "s/^.*${SPEC_N}.*\$/pass\t${SPEC_N}/" ${STATUS_F}; fi cp ${LOGNAME} ${HOME}/rpmbuild/LOGS-OK/ fi return ${RET}; }
Pour vérifier qu'une adresse email n'a pas eu son mot de passe fuité (ma dernière, je viens de la faire ce matin

Code BASH :
function CHK_MAIL() { MAIL2CHK=$(echo ${1} | sed -e 's/@/%40/') ; RHTTPCODE=$(curl -sI "https://haveibeenpwned.com/unifiedsearch/${MAIL2CHK}" -H 'User-Agent: Mozilla/5.0' -H 'Accept-Language: fr,fr-FR;' | head -n1 | cut -d ' ' -f 2) ; if [ 404 -eq ${RHTTPCODE} ] ; then echo "No leak found." ; fi if [ 200 -eq ${RHTTPCODE} ] ; then curl "https://haveibeenpwned.com/unifiedsearch/${MAIL2CHK}" -H 'User-Agent: Mozilla/5.0' -H 'Accept-Language: fr,fr-FR;'; echo "" ; fi return 0; }
Ma définition de lll (mieux que ll, plus mieux que ls)
Code BASH :
alias lll='ls -lisah --color'
Son adresse ipv4 vu d'internet
Code BASH :
alias IPV4="curl -s ipinfo.io/ip"
Pareil pour l'ipv6
Code BASH :
alias IPV6="/usr/sbin/ip address show | grep inet6 | sed '/host/d' | sed -e 's/[[:space:]]*inet6 \([:[:alnum:]]*\)\/[[:digit:]]*.*/\1/g'"
Un racourci vers termbin
Code BASH :
alias TB="nc termbin.com 9999"
Pour afficher le poids des fichiers dans les dossiers (et trouver quel dossier prends trop de place pour traquer le fichier)
Code BASH :
alias DU='du -Pax -d 1 | sort -hr'
Je pense à Guygoye qui commence à jouer avec une Rpi, donc une commande ssh à taper qui mériterai :
alias PiSSh="ssh user@ip.ip.ip.ip ..."
Juste un exemple !

Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron

Je noterai quelques commandes pour l'historique des commandes :
Code BASH :
HISTCONTROL=ignoreboth shopt -s histappend HISTSIZE=1000
Auquel j'ajoute que je limite le défilement de mon terminal à 10000 lignes.
Mon prompt:
Code BASH :
export PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ "
Je l'aime bien mais ça fait des années que je n'y ai pas touché et il n'est pas optimisé pour une utilisation avec git.
Mes alias de ls :
Code BASH :
alias ll='ls -lF' alias la='ls -A' alias l='ls -CF' alias lal='ls -alF' alias lrt='ls -lrtF' alias cls='clear; ls' alias l.='ls -d .[^.]*' alias lh='ls -lh' alias lt='ls -lt'
Mes alias de grep :
Code BASH :
alias grepi='grep -i' alias grepR='grep -R' alias grepiR='grep -iR'
Quelques autres alias que j'utilise :
Code BASH :
alias h='history' alias e='emacs' alias mdiff='diff -EwBys' alias ge='gedit' alias tree='tree -CF' alias reload='. ~/.bashrc'
Le reste des commandes est un mélange des modifications des différents $PATH et des liens vers des bashrc spécifiques à des logiciels. J'ai plus de customisations dans mon .emacs que dans mon bashrc.

gerard-ll Membre non connecté
-
- Voir le profil du membre gerard-ll
- Inscrit le : 09/12/2011
- Groupes :
Ben le mien est tout petit! :
Code TEXT :
# .bashrc # User specific aliases and functions # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi alias free='free -h' cowsay -f tux "Bonjour Gérard"
J'ai juste rajouté un truc qui fait beau avec cowsay.

Pal mal Mageia!
@+
Gérard
@+
Gérard

marc-andré Membre non connecté
-
- Voir le profil du membre marc-andré
- Inscrit le : 29/09/2015
- Groupes :
une belle somme de temps passé pour faire tous ça!
HP ProDesk ;
Mageia8 Gnome
Liberté et sécurité sont les arguments classiques pour LINUX. En prime il y a aussi la dignité et la confiance ressentie depuis que je suis sous Mageia
Mageia8 Gnome
Liberté et sécurité sont les arguments classiques pour LINUX. En prime il y a aussi la dignité et la confiance ressentie depuis que je suis sous Mageia

teutates Membre non connecté
-
- Voir le profil du membre teutates
- Inscrit le : 24/09/2011
- Site internet
- Groupes :
Les miens, sans aucune prétention :
Météo
Code BASH :
alias meteo="curl wttr.in/Foix?lang=fr" alias lune="curl wttr.in/Moon?lang=fr"
Extinction PC
Code :
alias dodo="shutdown now"
Toco y se gausos !
Asus P8Z68-V/GEN3 + Intel Core i2700k + RAM G-Skill 4x4Go PC 12800 + Gainward Geforce GTX 560 - 2 Go + Western Digital Velociraptor 300 Go (Mageia Cauldron / Fedora / Debian / Manjaro / Windows 10) + Seagate Barracuda 7200t/mn - 2 To - Sata 3 (data) + SSD Samsung 64 Go - Sata 3 (Mageia stable)
Asus P8Z68-V/GEN3 + Intel Core i2700k + RAM G-Skill 4x4Go PC 12800 + Gainward Geforce GTX 560 - 2 Go + Western Digital Velociraptor 300 Go (Mageia Cauldron / Fedora / Debian / Manjaro / Windows 10) + Seagate Barracuda 7200t/mn - 2 To - Sata 3 (data) + SSD Samsung 64 Go - Sata 3 (Mageia stable)

Guygoye Membre non connecté
-
- Voir le profil du membre Guygoye
- Inscrit le : 25/10/2018
- Groupes :
-
Modérateur
-
Forgeron
Jybz :
Je pense à Guygoye qui commence à jouer avec une Rpi, donc une commande ssh à taper qui mériterai :
alias PiSSh="ssh user@ip.ip.ip.ip ..."
Juste un exemple !
alias PiSSh="ssh user@ip.ip.ip.ip ..."
Juste un exemple !

Oui quand j'étais sur Fedora je m'en servais pour faire mes mises à jour automatiquement. Mais c'était plus simple il y avait la commande sudo.
Là ça ne marche pas mais je note pour le ssh ne n'y avais pas pensé.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
teutates :
Les miens, sans aucune prétention :
Météo
Météo
Code BASH :
alias meteo="curl wttr.in/Foix?lang=fr" alias lune="curl wttr.in/Moon?lang=fr"
J'adopte la météo !!! Génial !
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

funix Membre non connecté
-
- Voir le profil du membre funix
- Inscrit le : 17/12/2012
- Site internet
- Groupes :

teutates Membre non connecté
-
- Voir le profil du membre teutates
- Inscrit le : 24/09/2011
- Site internet
- Groupes :
https://par-teutates.blogspot.com/2017/09/la-meteo-dans-un-terminal.html

Toco y se gausos !
Asus P8Z68-V/GEN3 + Intel Core i2700k + RAM G-Skill 4x4Go PC 12800 + Gainward Geforce GTX 560 - 2 Go + Western Digital Velociraptor 300 Go (Mageia Cauldron / Fedora / Debian / Manjaro / Windows 10) + Seagate Barracuda 7200t/mn - 2 To - Sata 3 (data) + SSD Samsung 64 Go - Sata 3 (Mageia stable)
Asus P8Z68-V/GEN3 + Intel Core i2700k + RAM G-Skill 4x4Go PC 12800 + Gainward Geforce GTX 560 - 2 Go + Western Digital Velociraptor 300 Go (Mageia Cauldron / Fedora / Debian / Manjaro / Windows 10) + Seagate Barracuda 7200t/mn - 2 To - Sata 3 (data) + SSD Samsung 64 Go - Sata 3 (Mageia stable)
alias bc="bc -l" # pour que bc me donne les chiffres après la virgule dans les résultats d'une division
alias pass="passwd-gen -p" # génèrer des mots de passe
# Pour ajouter un horodatage à la commande history
# http://www.it-connect.fr/ajouter-un-horodatage-a-la-commande-history/
export HISTTIMEFORMAT="%F %T : "
joel

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
joel :
# Pour ajouter un horodatage à la commande history
# http://www.it-connect.fr/ajouter-un-horodatage-a-la-commande-history/
export HISTTIMEFORMAT="%F %T : "
# Pour ajouter un horodatage à la commande history
# http://www.it-connect.fr/ajouter-un-horodatage-a-la-commande-history/
export HISTTIMEFORMAT="%F %T : "

J'adopte aussi !
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Ami age Membre non connecté
-
- Voir le profil du membre Ami age
- Inscrit le : 18/08/2012
- Site internet
- Groupes :
-
Modérateur
_______________________________________________________________________

___________________________________ Un petit clic pour Mageia ? =>> CLIQUEZ I C I :
.



___________________________________ Un petit clic pour Mageia ? =>> CLIQUEZ I C I :
.

teutates Membre non connecté
-
- Voir le profil du membre teutates
- Inscrit le : 24/09/2011
- Site internet
- Groupes :
Ami age :
ça va chercher les infos où pour la météo ?
Si tu évoques mon alias météo, les infos sont repéchées sur http://wttr.in
Voir les explications sur https://par-teutates.blogspot.com/2017/09/la-meteo-dans-un-terminal.html
Toco y se gausos !
Asus P8Z68-V/GEN3 + Intel Core i2700k + RAM G-Skill 4x4Go PC 12800 + Gainward Geforce GTX 560 - 2 Go + Western Digital Velociraptor 300 Go (Mageia Cauldron / Fedora / Debian / Manjaro / Windows 10) + Seagate Barracuda 7200t/mn - 2 To - Sata 3 (data) + SSD Samsung 64 Go - Sata 3 (Mageia stable)
Asus P8Z68-V/GEN3 + Intel Core i2700k + RAM G-Skill 4x4Go PC 12800 + Gainward Geforce GTX 560 - 2 Go + Western Digital Velociraptor 300 Go (Mageia Cauldron / Fedora / Debian / Manjaro / Windows 10) + Seagate Barracuda 7200t/mn - 2 To - Sata 3 (data) + SSD Samsung 64 Go - Sata 3 (Mageia stable)

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
wttr.in est basé sur wego qui va chercher les informations sur les sites : darksky.net, openweathermap.org et Worldweatheronline ( après je ne sais pas quel est le fournisseur utilisé parmi les 3 listés sur wego ( peut être plus Worldweatheronline ?) .

OPS56 Membre non connecté
-
- Voir le profil du membre OPS56
- Inscrit le : 18/11/2008
- Groupes :

Code BASH :
if [ -f /etc/bashrc ]; then . /etc/bashrc fi alias y2mp3="youtube-dl -t -x --audio-format mp3 --audio-quality 0" alias y2mp4="youtube-dl -t -f mp4" alias Fixe="ssh -XC ops@fixe" alias Cps="ssh -XC cps@CPS" alias Tps="ssh -XC tps@TPS" alias meteo="curl wttr.in/Vannes?lang=fr" alias lune="curl wttr.in/Moon?lang=fr"
J'ai juste youtube-dl pour récupérer des vidéos ou du son.
Plus les connexions SSH vers les machines de la maison.
@+

Dell G3-15 Intel Corei7 - 16Go Ram - Nvidia GTX1660 Ti (Tri boot Mageia 9- 64 bits / Linux Mint 20 Cinamon/ Windows 10)
Core i5 760 - 8Go Ram - Nvidia Gforce 450 - (Triple boot Mageia 9-64 bits - Plasma 5 / Mint 20 Cinamon / Open Suse Tumbleweed - Plasma 5)
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie