Korišćenje GNU/Linux ili *BSD sistema je nezamislivo bez komandne linije. Dok kucanje komandi odbija nove korisnike, oni koji uspeju da probiju barijeru zauvek ostaju vezani za terminal.
Program koji će interpretirati komande koje kucate je Shell. Postoje razne varijante Shell-a. Onaj koji dolazi u osnovnoj instalaciji je bash, međutim zsh je alternativa u kojoj se mnogo konfornije radi. Dovoljno je videti kako taster Tab ide u korist lenjosti i spašava vas pamćenja gomile opcija za svaku od komandi. Opcije koje nudi pri podešavanju mogu da zadovolje i najzahtevnije korisnike, ukoliko naravno razumete šta znače. Zato ovde dajem konfiguracioni fajl ~/.zshrc u celosti kojim možete početi sa radom bez prethodnog podešavanja kroz interaktivni zsh meni. Pogledajte dokumentaciju za detaljnija objašnjenja.
Probna vožnja
Instalirajte:
aptitude install zsh
Možete odmah otovoriti terminal i ukucati:
zsh
Ukoliko ne postoji fajl ~/.zshrc prikazaće vam se interaktivni meni za podešavanje opcija koji će vam napraviti spomenuti fajl. Možete se lišiti muka time što ćete iskopirati sledeći tekst u .zshrc fajl unutar vašeg home direktorijuma:
autoload -U zmv autoload colors colors autoload -U promptinit promptinit setopt share_history setopt appendhistory setopt autocd setopt automenu setopt autopushd setopt autoresume setopt complete_in_word setopt extended_glob setopt hist_ignoredups setopt hist_ignorespace setopt list_types setopt mailwarning setopt no_flowcontrol setopt no_hup setopt no_notify setopt printexitvalue setopt pushd_ignoredups setopt pushd_silent zmodload -a colors zmodload -a autocomplete zmodload -a complist # Prompt PS1="%{$fg[red]%}%n%{$fg[white]%}@%{$fg[red]%}%m%{$fg[white]%}:%{$fg[white]%}%~%{$fg[red]%}%# %{$reset_color%}" # ls colors export LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jpg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.png=01;35:*.mpg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:" # Zsh settings for history export HISTIGNORE="&:ls:[bf]g:exit:reset:clear:cd:cd ..:cd.." export HISTSIZE=25000 export HISTFILE=~/.zsh_history export SAVEHIST=25000 setopt APPEND_HISTORY setopt INC_APPEND_HISTORY setopt HIST_IGNORE_ALL_DUPS setopt HIST_IGNORE_SPACE setopt HIST_REDUCE_BLANKS setopt HIST_SAVE_NO_DUPS setopt HIST_VERIFY # Zsh spelling correction options setopt CORRECT # Prompts for confirmation after 'rm *' etc # Helps avoid mistakes like 'rm * o' when 'rm *.o' was intended setopt RM_STAR_WAIT # Background processes aren't killed on exit of shell setopt AUTO_CONTINUE # Don’t nice background processes setopt NO_BG_NICE # Watch other user login/out watch=notme export LOGCHECK=60 # Editor export EDITOR="vi" export USE_EDITOR=$EDITOR export VISUAL=$EDITOR # General short aliases alias ls='ls --color=auto' alias la='ls -la' alias rm-empty='find -depth -type d -empty -exec rmdir {} \;' # Push History from previous sessions fc -R $HISTFILE # Forcing the rehash _force_rehash() { (( CURRENT == 1 )) && rehash return 1 } # set PATH so it includes user's private bin if it exists if [ -d ~/bin ] ; then PATH=~/bin:"${PATH}" fi # set PATH so it includes /sbin and /usr/sbin if [ -d /usr/sbin ] ; then PATH=/usr/sbin:"${PATH}" fi if [ -d /sbin ] ; then PATH=/sbin:"${PATH}" fi zstyle ':completion:*' completer _expand _complete _match zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*' list-prompt '%SAt %p: Hit TAB for more, or the character to insert%s' zstyle ':completion:*' max-errors 1 numeric zstyle ':completion:*' menu select=2 zstyle ':completion:*' original true zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s' zstyle ':completion:*' substitute 0 zstyle ':completion:*' verbose true zstyle :compinstall filename '/home/janos/.zshrc' autoload -Uz compinit compinit
U ovom glomaznom fajlu, između ostalog, se podešava i „prompt“, boje pri ispisivanju fajlova, istorija, osnovni aliasi i automatsko završavanje komandi.
Kada završite probnu vožnju, vratite se u bash sa Ctrl+D ili:
exit
Default Login Shell
Ako ste zadovoljni, namestite zsh kao osnovni Shell:
chsh -s /bin/zsh
Copy-paste nije uvijek preproculjivo.
Zsh useri uglavnom imaju tendencije da over-pimp-uju prompt iz nekog razloga. Meni je '#' ili '$' sasvim dovoljno.
Ako neko ceni minimalizam (.zshrc):
# Prompt
simple_prompt() {
PS1="%(#.#.$) "
PS2="> "
prompt_opts=( cr percent )
}
simple_prompt
Poz!