Bash shell uljepsavanje
Postano: 30 tra 2008, 22:09
Evo nekih korisnih dodataka za shell kako bi nam olaksali rad s istim.
1. Alias je nesto slicno sym linku, ali na komandama. Znaci nekoj rijeci dodjelimo komandu te pri upisivanju te rijeci izvrsuje se komanda koju smo naveli. Evo primjera:
- znaci kad upisemo rm(brisanje filea) on pokrece komandu rm -i. Slovo "I" stoji za "interact" sto znaci da nas prvo pita dali zelimo nesto obrisati.
- ovo ce vas mozda zbuniti. Evo opisa. Rijeci "confmakeinstall" smo dodijelili 5 komandi koje koristimo pri kompajliranju te ce se one izvrsavati jedna poslije druge. Posto znamo da za instalaciju(make install) treba root pristup toj komandi smo dodali sudo te ce nas prilikom instalacije zatraziti lozinku. Jednostavno i efektivno.(Vrijedi samo za sudo korisnike. Za su korisnike prije pokretanja upisati su te obrisite sudo iz aliasa)
- isto sto i rm samo sto ovo sluzi za kopiranje.
- isto sto i rm samo sto ovo sluzi za micanje.
- prikazuje sve fileove u trenutnom direktoriju.
- Sada umjesto da pisemo sudo apt-get install [ime_paketa] samo trebamo navesti "get [ime_paketa]".
- Umjesto da pisemo sudo apt-cache search [ime_paketa] da trazimo program jednostavno upisemo search [ime_paketa]
2. Fortune - ovo je program koji nam pri pokretanju konzole izbaci nekakvu izreku i slicno. Morate ga imati instaliranog(sudo apt-get install fortune ili (samo za Arch i Frugalware) pacman -S fortune)
Sada samo na kraj .bashrc filea dodamo "fortune".
3. Mjenjanje boja i rasporeda naseg bash usera. Znate kad upalimo konzolu kako nam pise user@hostname:$? Sad cemo to promijeniti tako da pase nasim potrebama. U fileu /home/user/.bashrc imamo red slican ovome ovome:
- ovako izgleda moj, vas vjerojatno je ovakav:
One brojke i slova kod mene sluze da mi naprave konzolu koja izgleda ovako:
Evo prvo objasnjenja komande:
'${debian_chroot:+($debian_chroot)} - Ovo sam vidio samo u KUbuntuu - neznam stoje i nebrine me jer neutjece na rad. Ako netko zna please tell. :'P
\u - stoji za username, tocnije ispise ga u konzoli.
@ - obicno slovo/znak
\h - stoji za hostname, isto ga ispise u konzoli username@hostname
\[\033[01;15m\] - e ovo je sad kripticno, u biti ove brojke predstavljaju boje koje biramo. Preporucujem promjenu samo zadnje brojke(15).
\d - stoji za date, ispisuje trenutan datum u konzoli.
\w - ispisuje trenutan direktorij.
\$ - oznacava da smo u obicnom shellu(nismo u rootu). Za root je #.
\[\033[01;32m\] - boje, preporuka kao u proslom.
\n - novi red.
--> - to sam si napisao da mi bude u drugom redu. Moze biti bilo sta.
Isto tako izmedju svih ovih slova mozete pisati bilo sta sto zelite da pise u konzoli. Spas je u probavanju. :')
Eh sad kad sam toliko napisao vrijeme je da pokazem svoj .bashrc file da to sve bude lakse za skuziti. Naravno tu su i komentari. :')
Jednostavno, malo, efektno. Sto vise pozeljeti? :')
Ako ovo unesete u .bashrc file onda ce vrijediti samo za korisnika kojem ste dodjelili ove dodatke. Root postavke najbolje je mjenjati ako se ima "su" sustav, a posto je vecina korisnika ovdje na Ubuntuu koji koristi sudo nema potrebe dodavati ovo root korisniku.
1. Alias je nesto slicno sym linku, ali na komandama. Znaci nekoj rijeci dodjelimo komandu te pri upisivanju te rijeci izvrsuje se komanda koju smo naveli. Evo primjera:
Kod: Označi sve
alias rm="rm -i"Kod: Označi sve
alias confmakeinstall="./configure && make && sudo make install && make clean && make distclean"Kod: Označi sve
alias cp="cp -i"Kod: Označi sve
alias mv="mv -i"Kod: Označi sve
alias ls="ls -a"Kod: Označi sve
alias get="sudo apt-get install"Kod: Označi sve
alias search="sudo apt-cache search"2. Fortune - ovo je program koji nam pri pokretanju konzole izbaci nekakvu izreku i slicno. Morate ga imati instaliranog(sudo apt-get install fortune ili (samo za Arch i Frugalware) pacman -S fortune)
Sada samo na kraj .bashrc filea dodamo "fortune".
3. Mjenjanje boja i rasporeda naseg bash usera. Znate kad upalimo konzolu kako nam pise user@hostname:$? Sad cemo to promijeniti tako da pase nasim potrebama. U fileu /home/user/.bashrc imamo red slican ovome ovome:
Kod: Označi sve
PS1='${debian_chroot:+($debian_chroot)}\u@\h@ \[\033[01;15m\]\d:\w\$\[\033[01;32m\]\n--> 'Kod: Označi sve
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
Evo prvo objasnjenja komande:
'${debian_chroot:+($debian_chroot)} - Ovo sam vidio samo u KUbuntuu - neznam stoje i nebrine me jer neutjece na rad. Ako netko zna please tell. :'P
\u - stoji za username, tocnije ispise ga u konzoli.
@ - obicno slovo/znak
\h - stoji za hostname, isto ga ispise u konzoli username@hostname
\[\033[01;15m\] - e ovo je sad kripticno, u biti ove brojke predstavljaju boje koje biramo. Preporucujem promjenu samo zadnje brojke(15).
\d - stoji za date, ispisuje trenutan datum u konzoli.
\w - ispisuje trenutan direktorij.
\$ - oznacava da smo u obicnom shellu(nismo u rootu). Za root je #.
\[\033[01;32m\] - boje, preporuka kao u proslom.
\n - novi red.
--> - to sam si napisao da mi bude u drugom redu. Moze biti bilo sta.
Isto tako izmedju svih ovih slova mozete pisati bilo sta sto zelite da pise u konzoli. Spas je u probavanju. :')
Eh sad kad sam toliko napisao vrijeme je da pokazem svoj .bashrc file da to sve bude lakse za skuziti. Naravno tu su i komentari. :')
Kod: Označi sve
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines in the history. See bash(1) for more options
export HISTCONTROL=ignoredups
# ... and ignore same sucessive entries.
export HISTCONTROL=ignoreboth
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color)
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
;;
*)
#################################### Opis broj 3. je ovo. #########################################
PS1='${debian_chroot:+($debian_chroot)}\u@\h@ \[\033[01;15m\]\d:\w\$\[\033[01;32m\]\n--> '
#################################### #################### #########################################
;;
esac
# Comment in the above and uncomment this below for a color prompt
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
;;
*)
;;
esac
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
#if [ -f ~/.bash_aliases ]; then
# . ~/.bash_aliases
#fi
# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
#alias dir='ls --color=auto --format=vertical'
#alias vdir='ls --color=auto --format=long'
fi
# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
########## Starting mine part ##########
##################### Opis 1. ###################################
#Ovo su jedni od obicnih aliasa koje mogu preporuciti svima.
alias rm="rm -i"
alias cp="cp -i"
alias mv="mv -i"
alias ls="ls -a"
alias get="sudo apt-get install"
alias search="sudo apt-cache search"
alias chmodx="sudo chmod +x"
#E ovo su vec privatno(slobodno ako nekom treba nek' uzme) radjeni da mi olaksaju kompajliranje te prijelazak izmedju usera iggi i kde-dev. kde-dev mi sluzi za testiranje KDE 4.1. Kao sto se vidi sa obicnim(iggi) userom pokrenem komandu getkde koja me prebaci u folder dolje napisan te pokrene komandu svn up ... koja sluzi za automatsko fetchiranje najnovijeg KDE 4.1 izvornog koda. Zatim upisem prockdev koje me preko ssha prebaci na kde-dev usera. kde-devove .bashrc postavke su u njegovom .bashrc fileu te su prevelike da bi ih sad pisao ovdje.
alias confmakeinstall="./configure && make && sudo make install && make clean && make distclean"
alias getkde="cd /home/iggi/svn/kde/src/ && svn up svn://websvn.kde.org/trunk/KDE/"
alias prockdev="sudo ssh kde-dev@localhost"
################################### Opis 2. ###################################
#fortune - instalirate ga i ova komanda ce ispisivati uzrecicu svaki put kad otvorite konzolu.
fortune
Ako ovo unesete u .bashrc file onda ce vrijediti samo za korisnika kojem ste dodjelili ove dodatke. Root postavke najbolje je mjenjati ako se ima "su" sustav, a posto je vecina korisnika ovdje na Ubuntuu koji koristi sudo nema potrebe dodavati ovo root korisniku.