#51 Le 13/08/2007, à 16:36
- Yannick_LM
Re : Partagez vos alias et function (fichier .bashrc)
Pour les internationaux :
function dh {
TMP=/tmp/time
wget http://www.worldtimeserver.com/current_time_in_$1.aspx -q -O $TMP
grep 'The current' -A2 $TMP | xargs echo
grep -A2 'id="analog' $TMP | tail -n1 | sed -e 's/ //g'
rm -f $TMP
}
Par exemple, dh FR vous donne l'heure en France, dh US à New-York, etc.
Pour rechercher le code d'une région horaire :
function dh_code {
wget http://www.worldtimeserver.com/country.html -O - | \
grep 'current_time' | \
sed -e 's/^.*_//g' | sed -e 's/\.aspx">/ : /g' | sed -e 's/<.*$//' |\
grep $1
}
Je poste aussi ces deux-là, (complètement inutiles) on en avait parlé dans un topic quelque part il y a longtemps. (Si quelqu'un les retrouve) :
# Une ligne en bash ( affiche un alias au hasard )
alias alr='let "n= $RANDOM % `alias | wc -l` + 1" && alias | sed -n "$n"p'
# Une autre : cmd [-n] ( les n commandes les plus utilisées, en ne tenant pas compte du sudo )
function cmd {
history | sed -e 's/sudo //' | cut -b8- | cut -d' ' -f1 | sort | uniq -c | sort -rg | head $1
}
EDIT :
Voilà, j'ai retrouvé le fil en question.
Et voilà ce qu'Eldaou avait dans son .bashrc, pour avoir l'alias du jour en couleur :
# !/bin/bash
awk '$1 ~ /alias/ {print $0 } ' .bash_aliases > list_alias.txt
RANGE=`cat list_alias.txt | wc -l`
nu_ligne=$RANDOM
let "nu_ligne = $nu_ligne % $RANGE + 1"
# Un peu de couleur pour faire resortir l'alias
echo " `printf '\033[01;32m'` Alias du jour : `printf '\033[01;34m'` `sed -n "$nu_ligne"p list_alias.txt` `printf '\033[00m'`"
rm list_alias.txt
Note : Vous pourrez noter que dans la version en couleurs, on ne recherche que les alias présents dans le .bash-alias , alors que dans l'autre, on recherche parmi tous les ailias existant au cours de la session.
La fusion des deux est laissée en exercice au lecteur ...
Sinon, pour le wiki, pourquoi pas, mais c'est vraiment énorme et peut-être pas très pédagogique.
Il vaut AMHA mieux savoir que ça existe, puis acquérir les compétences nécessaires pour se fabriquer ses propres alias.
EDIT2 :
Bug corrigé (si, si)
Dernière modification par Yannick_LM (Le 14/08/2007, à 17:46)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#52 Le 13/08/2007, à 19:35
- Uggy
Re : Partagez vos alias et function (fichier .bashrc)
ça passe outre le bashrc j'ai l'impression "même si j'ai exactement le meme bashrc en root"
bahh moi ca marche..
exemple:
Dans /etc/bash.bashrc je mets:
alias toto='rm /aaaa'
Ouvrir un nouveaux terminal puis
$ ll /aaaa
-rw-r--r-- 1 root root 0 2007-08-13 20:33 /aaaa
$ toto
rm: détruire un fichier protégé en écriture fichier régulier vide `/aaaa'? y
rm: ne peut enlever `/aaaa': Permission non accordée
$ sudo toto
$ ll /aaaa
ls: /aaaa: Aucun fichier ou répertoire de ce type
$
Hors ligne
#53 Le 14/08/2007, à 02:15
- tOkeshu
Re : Partagez vos alias et function (fichier .bashrc)
Moi j'ai :
$ touch foo
touch: ne peut faire un touch sur `foo': Permission non accordée
$ sudo touch foo
$ ls foo
foo
$ rm foo
rm: détruire un fichier protégé en écriture fichier régulier vide `foo'? y
rm: ne peut enlever `foo': Permission non accordée
$ sudo rm foo
$ ls foo
ls: foo: Aucun fichier ou répertoire de ce type
Mais j'ai tout de même noté que tu parlais de /etc/bash.bashrc
Moi je n'ai modifié que /root/.bashrc et ~/.bashrc
Je ne connaissait même pas l'existence de /etc/bash.bashrc
J'ai fait une rapide recherche et je suis tombé sur ça
Malheureusement même en ajoutant
alias rm='rm -i'
dans /etc/bash.bashrc ça ne marche toujours pas T_T (et je vous assure que j'ai bien lancé un nouveau terminal)
Pourquoi faire simple quand on peu faire compliqué :
Moi j'aime bien utiliser cygwin dans une session windows émulée sous ubuntu... :P
Hors ligne
#54 Le 14/08/2007, à 13:59
- ziouplaboum
Re : Partagez vos alias et function (fichier .bashrc)
Au fait pourquoi faire ___sudo___ apt-cache search.
Une recherche dans le cache des paquets ne nécessite pas les droits root. faire
alias se="apt-cache search"
est suffisant.
Hors ligne
#55 Le 19/08/2007, à 23:27
- Uggy
Re : Partagez vos alias et function (fichier .bashrc)
Malheureusement même en ajoutant [...]
dans /etc/bash.bashrc ça ne marche toujours pas T_T (et je vous assure que j'ai bien lancé un nouveau terminal)
Au temps pour moi... en faisant cette commande précise ca ne fonctionne pas...
Il doit y avoir moyen au pire en remplacant le binaire rm par un script avec les options qui vont bien qui pointe vers le bon rm... ??
Hors ligne
#56 Le 07/01/2008, à 22:57
- Yannick_LM
Re : Partagez vos alias et function (fichier .bashrc)
Bon, je remonte ce poste qui le mérite, en rajoutant un alias pour les adeptes de screen :
function sr {
pgrep -x screen > /dev/null
if [ $? -ne 0 ] ; then screen ; exit 0 ; fi
echo $TERM
if [ $TERM = "screen" ]
then
echo "screen"
else
echo "screen -r"
fi
}
Deux trois explications :
pgrep -x renvoie les numéros des processus qui ont comme nom exactement
screen. Sinon, gnome-screensaver est sélectionné, c'est pas terrible.
Si aucun screen n'est lancé, on en lance un. (noter que la fenêtre d'o๠l'on lance le screen se fermera en même temps que celui-ci)
Si un screen est lancé, deux cas :
1. on est déjà dans un screen (variable $TERM) : on ouvre une nouvelle fenêtre
2. on n'est pas dedans : on tente de se rattacher à un screen déjà existant
(note que ceci ne fonctionne que si vous n'avez qu'un screen d'ouvert et détaché.
Dans tous les autres cas, vous aurez un message d'erreur)
Ceci n'est utile que si vous souhaitez ne conserver qu'un seul screen lancé à la fois, évidemment...
EDIT : bon je laisse ceci comme témoignage de ma stupidté ...
Vous pouvez utiliser celui-là :
alias sr="screen -raAd"
Bref
J'en profite pour rajouter un truc utile pour screen : par défaut, tous les raccourcis commencent par ctrl + A
(c'est bête par ce que le raccourci : aller au début de la ligne, pour le shell c'est aussi ctrl - a.
Ca se règle dans .screenrc :
escape ^xx par exemple.
(du coup, ça devient Ctrl-x c pour créer une nouvelle fenêtre)
Je sais, ça rentre aussi en conflit avec le crtl-x de nano, mais je ne l'utilise jamais.
Choisissez celui qui vous plaà®t.
Dernière modification par Yannick_LM (Le 26/01/2008, à 05:54)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#57 Le 20/01/2008, à 00:49
- Yannick_LM
Re : Partagez vos alias et function (fichier .bashrc)
Bon, comme je vous aime bien :
function rip {
mencoder -profile rip -o "$1".avi dvd://
}
avec un fichier ~/.mplayer.conf comme ça :
[rip]
ovc=xvid=1
xvidencopts=bitrate=1200
oac=mp3lame=1
lameopts=cbr=1:br=128
alang=en,eng,fr
vous mettez votre DVD dans le lecteur, vous tapez rip 'titre du film', et c'est fini.
EDIT : je vous rajoute un ch'tit truc bien pratique pour créer vos playlists avec mpd
function CreatePL {
MUSIQUE=$HOME/Musique
PLAYLISTS=$MUSIQUE/.mpd/playlists
[[ -n $3 ]] && \
find $1 -name $3 | sort | tee \
$PLAYLISTS/"$2.m3u" \
|| \
find $1 -name '*.ogg' -o -name '*.mp3' | sort | tee \
$PLAYLISTS/"$2.m3u"
}
# Usage :
# cd $MUSIQUE
# CreatePL Repertoire NomPlayliste [regexp]
# Crée une playliste pour mpd contentant tous les fichiers en mp3 ou ogg du
# répertoire. Si regexp est donné, seules les pistes correspondantes sont
# ajoutées
# Attention : si le nom de la PL comporte des guillemets, l'écrire avec ' '
# TODO : faire ça proprement avec des getopt
Dernière modification par Yannick_LM (Le 29/01/2008, à 11:30)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#58 Le 27/04/2008, à 16:50
- Ras'
Re : Partagez vos alias et function (fichier .bashrc)
A pu d'alias dans hardy ?
J'ai créé un fichier .bash_aliases mais les alias marchent pas :\
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#59 Le 27/04/2008, à 18:18
- rms804
Re : Partagez vos alias et function (fichier .bashrc)
yes! du bashrc
alias pid='ps aux'
alias pidk='kill -KILL'
alias edit='geany'
alias topten='du -sk $(/bin/ls -A) | sort -rn | head -10'
ibexement votre
Hors ligne
#60 Le 27/04/2008, à 22:20
- Yannick_LM
Re : Partagez vos alias et function (fichier .bashrc)
@raskal: si je me souviens bien, y a une petit paragraphe à décommenter dans .bashrc
Sinon, tu mets un "source $HOME/.bash_aliases" à la fin de ton .bashrc, et ça roule
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#61 Le 28/04/2008, à 07:49
- Ras'
Re : Partagez vos alias et function (fichier .bashrc)
J'ai rajouté la ligne à la fin et ça marche nickel
Merki
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#62 Le 27/09/2008, à 14:21
- smo
Re : Partagez vos alias et function (fichier .bashrc)
ola
je post un petit soft que j ai fait pour m essayer a python
petit gestionnaire d alias tout bete... celui ci soccupera dactiver els alias dans le .bashrc et creer le .bash_aliases dans lequel seront contenus vos alias
le code est certainement pas au top mais ca marche bien ...
pour test
wget http://phatandfresh.free.fr/galias_0.1_all.deb
sudo dpkg -i galias_0.1_all.deb
ptit screens
++
Streamstudio, streaming youtube/dailymotion...: http://forum.ubuntu-fr.org/viewtopic.php?id=1299461 / http://streamstudio.me
Page facebook : https://www.facebook.com/streamstudio1?fref=ts
ubukey, createur ubuntu customisé: http://forum.ubuntu-fr.org/viewtopic.php?id=360408
ME PAYER UNE BIERE !! :D : http://gtk-apps.org/content/donate.php?content=138588
Hors ligne
#63 Le 30/10/2008, à 12:17
- Kiwi41
Re : Partagez vos alias et function (fichier .bashrc)
Afficher une chaine de caractère en couleur :
rouge () {
echo \\033[31m$* \\033[0m
}
Usage : rouge "chaine de caractère"
vert () {
echo \\033[32m$* \\033[0m
}
Usage : vert "chaine de caractère"
jaune () {
echo \\033[33m$* \\033[0m
}
Usage : jaune "chaine de caractère"
bleu () {
echo \\033[34m$* \\033[0m
}
Usage : bleu "chaine de caractère"
magenta () {
echo \\033[35m$* \\033[0m
}
Usage : magenta "chaine de caractère"
cyan () {
echo \\033[36m$* \\033[0m
}
Usage : cyan "chaine de caractère"
blanc () {
echo \\033[37m$* \\033[0m
}
Hors ligne
#64 Le 21/12/2008, à 23:24
- alicia63
Re : Partagez vos alias et function (fichier .bashrc)
Voici un de mes alias :
alias maj='aptitude update && aptitude safe-upgrade && aptitude install transmission/unstable openoffice.org/experimental kopete/experimental gimp/experimental iceweasel/unstable icedove/testing'
Je suis sous debian stable (la priorité dans mon /etc/apt/preferences : stable > lenny > unstable > experimental)
Quel est la difference entre aptitude safe-upgrade et full-upgrade ?
Dernière modification par alicia63 (Le 21/12/2008, à 23:34)
Hors ligne
#65 Le 25/12/2008, à 05:20
- Shalafi Xavier
Re : Partagez vos alias et function (fichier .bashrc)
Bonjour / Bonsoir
Je viens de lire les messages (et copiés / collés de grandes parties !!), et je cherche pour la couleur des invites de commandes.
Si la "couleur" est dans .bashrc_aliases, elle dépend de l'utilisateur, mais comment faire pour lancer la couleur de manière automatique ?
Et encore merci pour tous ces codes !
J'ai faim !
Hors ligne
#66 Le 25/12/2008, à 22:03
- Jonon
Re : Partagez vos alias et function (fichier .bashrc)
Exellent post.
Merci pour les idées. :>
hype_ @ freenode|hyp3 @ twitter | Ceci n'est pas un Blag
Hors ligne
#67 Le 28/12/2008, à 13:57
- alicia63
Re : Partagez vos alias et function (fichier .bashrc)
Que faut il modifier dans le /etc/bash.bashrc
Pour mettre la console administrateur en couleur ?
Hors ligne
#68 Le 29/12/2008, à 12:35
- penkoad
Re : Partagez vos alias et function (fichier .bashrc)
Salut alicia63,
Si je comprends bien ta demande tu veux avoir des couleurs dans ton terminal quand tu fais un ls par exemple...
Je pense qu'il faut aller voir dans le .bashrc de l'utilisateur root.
54 # enable color support of ls and also add handy aliases
55 if [ "$TERM" != "dumb" ]; then
56 eval "`dircolors -b`"
57 alias ls='ls --color=auto'
58 #alias dir='ls --color=auto --format=vertical'
59 #alias vdir='ls --color=auto --format=long'
60 fi
Si je peux me permettre, pour être à l'aise dans ma session root, j'ai fais deux liens symboliques depuis root vers le .bashrc et le .bash_aliases de mon utilisateur.
Ainsi mes alias me suivent sans avoir à maintenir deux environnements.
Le user root à un "root@hostname #" plutôt qu'un "$USER@hostname $" au niveau du prompt.
"Always do sober what you said you'd do drunk. That will teach you to keep your mouth shut."
Ernest Hemingway
Hors ligne
#69 Le 29/12/2008, à 14:02
- YvanD
Re : Partagez vos alias et function (fichier .bashrc)
Mon ~/.bashrc
# Coloration du prompt
PS1='\[\033[00m\]\[\033[31m\]\u\[\033[00m\]@\[\033[35m\]\h\[\033[00m\]:\[\033[34m\]\w\[\033[00m\]\[\033[00m\]\$ '
# Couleurs
alias ls='ls --color=auto'
alias ll='ls -ahl --color=auto'
alias grep='grep --color=auto'
# Apt-get
alias up='sudo apt-get update && sudo apt-get upgrade'
alias ins='sudo apt-get install'
# Copier, déplacer, supprimer
alias cp='cp -iv'
alias mv='mv -iv'
alias rm='rm -iv'
alias trash="mv -t ~/.local/share/Trash/files --backup=t"
# Compresser/décompresser (tar)
alias mktar='tar -cvf'
alias untar='tar -xvf'
# Applications
alias totem='totem --enqueue'
alias nautilus='nautilus .'
# Autres
alias mkdir='mkdir -p'
alias clean='cd && sudo apt-get update > /dev/null && sudo apt-get -qq -y upgrade && sudo apt-get -qq autoremove && sudo apt-get clean && sudo apt-get -qq autoclean && sudo chown -R $USER * && sudo chgrp -R $USER * && rm -rf ~/.local/share/Trash/files/* ~/.local/share/Trash/info/* && find -name "*~" -delete'
ATTENTION au dernier alias, adaptez le pour vous. (aptitude au lieu de apt-get, enlever les -y, et surtout au chown et chgrp ...)
EDIT :
tar -> mktar (existait déjà)
nautiklus -> nautilus (erreur de frappe)
PS1='...\]$ ' -> PS1='...\]\$ ' (pour que cela marche chez root !!! (ajouter un "\"))
Dernière modification par YvanD (Le 29/12/2008, à 14:11)
Hors ligne
#70 Le 31/12/2008, à 06:31
- Seth_
Re : Partagez vos alias et function (fichier .bashrc)
En dehors de pas mal de celles pré-citées, voici mes alias/fonctions
alias psg='ps | grep -i'
alias emacs='emacs -nw'
alias ln='ln -si'
alias wanip='wget -q http://checkip.dyndns.org -O- | cut -d: -f2 | cut -d\< -f1'
alias trim='sed -r "s/^[ \t]*|[ \t]*$//g"'
alias nettest='ping -c 1 google.com &> /dev/null && echo +OK || echo -KO'
# screen
alias sc='screen'
alias scdr='screen -dr'
alias irc='screen -S IRC -t irssi'
alias edit='screen -S EMACS -t emacs'
# Fun
alias topten="sed -e 's/^: [0-9]\{10\}:0;//' ~/.zshist | sed -e 's/sudo //' | \
cut -d' ' -f1 | sort | uniq -c | sort -rg | head"
#functions
function ssh-sendkey {
KEY=$(cat ~/.ssh/id_rsa.pub)
ssh $1 "echo '$KEY' >> ~/.ssh/authorized_keys"
}
function center {
local OPT
local W=$COLUMNS
getopts n: OPT
[ $OPT ] && [ $OPT = "n" ] && W=$OPTARG
shift $[$OPTIND-1]
if [ $# -eq 0 ]
then
echo "Usage: center [-n N] STRING"
return 1
else
local L=$(expr length "$*")
printf "%$[($W+$L)/2]s\n" "$*"
fi
}
function rpt {
if [ $# -ne 2 ]
then
echo "Usage: rpt N STRING"
return 1
else
local i=0
local str
while [ $i -lt $1 ]
do
str="$2$str"
i=$[$i+1]
done
echo $str
fi
}
Dernière modification par Seth_ (Le 31/12/2008, à 06:40)
Hors ligne
#71 Le 31/12/2008, à 11:43
- sensini
Re : Partagez vos alias et function (fichier .bashrc)
mon mien :
# Source global definitions
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
#sauvegarde de l’historique
HISTFILE=${HOME}/.bash.d/history
#
#lignes identiques non sauvegardées
HISTCONTROL=ignoredups
#
#ajoute a la fin plutot que de reecrire
shopt -s histappend
#corrige quelques typos
#cd .bashd => cd .bash.d
#cd .Bash.d => cd .bash.d
shopt -s cdspell
#
export HISTFILE
export HISTCONTROL
#
# Source les variables d’environnement
if [ -f ${HOME}/.bash.d/env ]; then
. ${HOME}/.bash.d/env
fi
#
# Source le fichier definissant le prompt
if [ -f ${HOME}/.bash.d/prompt ]; then
. ${HOME}/.bash.d/prompt
fi
#
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
#
# Source les completions perso
if [ -f ${HOME}/.bash.d/completion ]; then
. ${HOME}/.bash.d/completion
fi
#
# Source le fichier definissant les aliases
if [ -f ${HOME}/.bash.d/aliases ]; then
. ${HOME}/.bash.d/aliases
fi
#
plus ici
http://doc.ubuntu-fr.org/aptitude
http://bepo.fr
Pensez à chercher sur un moteur de recherche avant de demander http://google.fr/ ;)
Hors ligne
#72 Le 02/01/2009, à 13:03
- Yannick_LM
Re : Partagez vos alias et function (fichier .bashrc)
function ssh-sendkey {
KEY=$(cat ~/.ssh/id_rsa.pub)
ssh $1 "echo '$KEY' >> ~/.ssh/authorized_keys"
}
Sinon y a ssh-copy-id pour ça, qui fait deux trois sympathiques en plus.
(du genre créer ~/.ssh sur l'hôte si le répertoire existe pas, et changer les permissions si nécessaires)
plus d'infos avec man ssh-copy-id
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#73 Le 02/01/2009, à 17:34
- Seth_
Re : Partagez vos alias et function (fichier .bashrc)
@Yannick_LM
Merci pour l'info, je ne connaissais pas
Hors ligne
#74 Le 02/01/2009, à 22:40
- koflesinge
Re : Partagez vos alias et function (fichier .bashrc)
un petit rapide, pour ceux qui ont des netbook sans gnome et qui veulent faire l'éconmie de gksu:
alias gksu='su-to-root -X -c'
Hors ligne
#75 Le 04/01/2009, à 11:39
- alicia63
Re : Partagez vos alias et function (fichier .bashrc)
c'est possible d'exécuter des alias avec cron ?
Dernière modification par alicia63 (Le 04/01/2009, à 12:56)
Hors ligne