Ero sivun ”Zsh” versioiden välillä

Siirry navigaatioon Siirry hakuun
2 303 merkkiä lisätty ,  17. lokakuuta 2015
p
+interwiki
(asetuksista ym. yleistä laajennusta)
p (+interwiki)
 
(11 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Z shell eli zsh on kehittynyt [[komentotulkki]] Unix-järjestelmille. Sitä voi käyttää sekä normaalina kirjautumiskomentotulkkina että skriptikielenä. Sen kehitys aloitettiin 1990, ja se on tällä hetkellä luultavasti eniten ominaisuuksia sisältävä Unix-komentotulkki. Jotta ominaisuudet eivät veisi liikaa muistitilaa, on valtaosa niistä sijoitettu erikseen ladattaviin funktioihin. Zsh huolehtii itse komentorivin editoinnista (ZLE), kun se esimerkiksi [[Bash]]issa on ulkoistettu jokseenkin rajoittuneelle [[Readline]]-kirjastolle. Zsh:ssa on ollut [[Unicode]]-tuki helmikuussa 2006 julkaistusta 4.3.1-versiosta lähtien.
{{Ohjelma
| nimi=Zsh
| kuva=
| kuvateksti=
| lisenssi=[[MIT]]
| käyttöliittymä=teksti
| kotisivu=[http://www.zsh.org/ www.zsh.org] [http://zsh.sourceforge.net/ zsh.sourceforge.net]
}}


== Ominaisuuksia ==
'''Zsh''' eli '''Z Shell''' on kehittynyt [[komentotulkki]] Unix-järjestelmille. Sitä voi käyttää sekä normaalina kirjautumiskomentotulkkina että skriptikielenä. Zsh:n kehitys aloitettiin 1990, ja se on tällä hetkellä luultavasti eniten ominaisuuksia sisältävä Unix-komentotulkki. Jotta eri ominaisuudet eivät veisi liikaa muistitilaa, on valtaosa niistä sijoitettu erikseen ladattaviin funktioihin. Zsh huolehtii itse komentorivin editoinnista (ZLE), kun se esimerkiksi [[Bash]]issa on ulkoistettu jokseenkin rajoittuneelle [[Readline]]-kirjastolle. Zsh:ssa on ollut [[Unicode]]-tuki helmikuussa 2006 julkaistusta 4.3.1-versiosta lähtien.
 
==Asennus==
{{Asenna|Zsh|zsh}}
 
==Ominaisuuksia==
*Ohjelmoitava komennontäydennystoiminto, joka auttaa yleisimpien komentojen argumenttien täydentämisessä (sisältää tuon muutamalle sadalle yleisimmälle komennolle). Myös esimerkiksi man-sivujen nimien täydennys toimii. Esimerkki:
*Ohjelmoitava komennontäydennystoiminto, joka auttaa yleisimpien komentojen argumenttien täydentämisessä (sisältää tuon muutamalle sadalle yleisimmälle komennolle). Myös esimerkiksi man-sivujen nimien täydennys toimii. Esimerkki:
  [matti@masiina] ~ % yum c
  [matti@masiina] ~ % [[yum]] c
  check-update  -- Check if any updates are available
  check-update  -- Check if any updates are available
  clean        -- Clean local yum cache   
  clean        -- Clean local yum cache   
Rivi 10: Rivi 22:
*Prompt-teemat
*Prompt-teemat
*Oikoluku, esimerkiksi komento ''pwero'' täydentyy ''poweroff''iksi.
*Oikoluku, esimerkiksi komento ''pwero'' täydentyy ''poweroff''iksi.
*Yhteensopivuustila (zsh:n saa tarvittaessa esimerkiksi vaikuttamaan [[sh]]:lta, kun sitä ajetaan /bin/sh:na)
*Globbing-tuki eli tiedostonnimien automaattinen täydennys erilaisten wildcardien avulla. Esimerkiksi seuraava lisäisi merkkijonon foo kyseisen hakemiston jokaisen .txt-päätteisen tiedoston loppuun:
echo "foo" >>*.txt
*Yhteensopivuustila (zsh:n saa tarvittaessa toimimaan esimerkiksi kuin [[sh]], [[csh]] tai [[ksh]].
*Itsekirjoitetut funktiot (laajennukset)
*Itsekirjoitetut funktiot (laajennukset)


Rivi 40: Rivi 54:
  #RPROMPT='%t'
  #RPROMPT='%t'
   
   
  # Käynnistetään (uuden tyylin mukaiset) täydennystoiminnot
  # Asetetaan komentohistoriatiedosto
  autoload -U compinit
export HISTFILE=~/.history
# Asetetaan historiatiedoston suurin mahdollinen koko riveinä
export HISTSIZE=999999999
# Asetetaan kerralla historiatiedostoon tallennettavien rivien maksimimäärä
export SAVEHIST=999999999
# Lisätään hakemistot /usr/local/bin/ ja $HOME/bin [[PATH]]-muuttujaan
export PATH="$PATH:/usr/local/bin:$HOME/bin"
# Määritetään oletus[[tekstieditori]]. Tämä asetus vaikuttaa myös käytettävään
# näppäinyhdistelmäteemaan ([[vi]] tai [[emacs]]) mikäli sitä ei erikseen 
# määritetä bindkey-komennolla.
export EDITOR="[[vim]]"
export VISUAL=$EDITOR
# Asetetaan [[ls]]-komennon käyttämät värit. ('''Muunna kaikki yhdelle riville.''')
export  LS_COLORS='no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:
bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:
*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:
*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:
*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:
*.rpm=00;31:*.deb=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:
*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:'
# Komentojen täydennyksen asetuksia. Näiden asetusten luontiin voi myös käyttää 
# valmista velhoa, joka käynnistyy komennolla compinstall
# Asetetaan täydennyslistan väreiksi samat, kuin ls:llä
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
# Ladataan normaalit täydennysfunktiot sekä oikoluku
zstyle ':completion:*' completer _expand _complete _correct _approximate
# Mahdollistaa sekä merkkijonon ensimmäisiin että viimeisiin merkkeihin
# pohjautuvan täydennyksen.
zstyle ':completion:*' expand prefix suffix
# Täydennyslistan aakkosellinen järjestys. Muita vaihtoehtoja ovat mm. size
# (koko), date (muutospäivämäärä), time (muutosaika), access (edellinen avausaika)
# sekä reverse (kääntää tulostuksen)
zstyle ':completion:*' file-sort name
# Täydennettäessä yläpuolisten hakemistojen nimiä (cd ../) ei oteta huomioon nykyistä työhakemistoa
zstyle ':completion:*' ignore-parents pwd
# [[ps]]:n tulosteeseen pohjautuva valikkopohjainen täydennys [[kill]]-komennolle.
zstyle ':completion:*:*:kill:*' menu yes select
zstyle ':completion:*:kill:*' force-list always
# Valikkopohjainen täydennys joka käynnistyy, kun vaihtoehtoja on yli ruudullinen.
zstyle ':completion:*' menu select=long
  zstyle ':completion:*' select-prompt %SValikko aktiivinen. Sijainti: %p %s
   
   
  # Emacs-tyylinen koventorivin muokkaus
  # Isojen ja pienien kirjainten sekä välimerkkien vastaavuus komentojen 
  #bindkey -e
# oikoluvussa. Toisin sanoen mahdollistaa esimerkiksi komennon 'EMACs'
  # täydentämisen 'emacs'iksi.
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z} r:|[._-,]=** r:|=** l:|=*'
   
   
  # Vi-tyylinen komentorivin muokkaus
  # Käynnistetään (uuden tyylin mukaiset) täydennystoiminnot
  #bindkey -v
autoload -Uz compinit
  compinit
   
   
  # Sallii tab-täydennyksen myös sanan keskellä
  # Sallii tab-täydennyksen myös sanan keskellä
Rivi 77: Rivi 147:
  #setopt HIST_IGNORE_ALL_DUPS
  #setopt HIST_IGNORE_ALL_DUPS
   
   
# Jos annettua komentoa ei voida suorittaa ja se on hakemistonnimi, niin
# siirrytään automaattisesti tähän hakemistoon (cd).
setopt AUTO_CD
 
  # Ei ikinä piipata
  # Ei ikinä piipata
  setopt NO_BEEP
  unsetopt BEEP
#Ladataan väritoiminnot
autoload -U colors
compinit ZLS_COLORS
# Asetetaan ls-komennon käyttämät värit ('''muunna kaikki yhdelle riville''')
export  LS_COLORS='no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:
bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:
*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:
*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:
*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:
*.rpm=00;31:*.deb=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:
*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:'
# Asetetaan zsh-täydennystoiminto käyttämään samoja värejä kuin ls
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
   
   
  # Asetetaan muutamia [[alias|aliaksia]]
  # Asetetaan muutamia [[alias|aliaksia]]
Rivi 111: Rivi 169:
  alias lsa='ls -ld .*'
  alias lsa='ls -ld .*'
   
   
  # Asetetaan komentohistoriatiedosto
  # Emacs-tyylinen komentorivin muokkaus (oletus)
export HISTFILE=~/.history
  bindkey -e
# Asetetaan historiatiedoston suurin mahdollinen koko riveinä
  export HISTSIZE=999999999999
# Asetetaan kerralla historiatiedostoon tallennettavien rivien maksimimäärä
export SAVEHIST=999999999999
# Lisätään hakemistot /usr/local/bin/ ja $HOME/bin [[PATH]]-muuttujaan
export PATH="$PATH:/usr/local/bin:$HOME/bin"
   
   
# Vi-tyylinen komentorivin muokkaus
#bindkey -v
 
  # Korjataan Home- End- ja backspace-näppäinten toiminta
  # Korjataan Home- End- ja backspace-näppäinten toiminta
  bindkey '\e[1~' beginning-of-line
  bindkey '\e[1~' beginning-of-line
Rivi 133: Rivi 185:
                         bindkey '\e[F' end-of-line ;;
                         bindkey '\e[F' end-of-line ;;
                 esac
                 esac
_force_rehash() {
  (( CURRENT == 1 )) && rehash
  return 1
}
zstyle ':completion:::::' completer _force_rehash _complete _approximate


== Linkkejä ==
Asetustiedoston muutokset saa helpoiten käyttöön käynnistämällä zsh uudelleen komennolla
exec zsh
 
==Katso myös==
*[[Oh My Zsh]] - Asetukset, joilla Zsh-shellistä saadaan muun muassa interaktiivisempi
 
==Aiheesta muualla==
*[http://www.zsh.org/ Zsh:n kotisivu]
*[http://www.zsh.org/ Zsh:n kotisivu]
*[http://zsh.sunsite.dk/Guide/ Zsh-opas]
*[http://www.zshwiki.org/ Zsh-wiki]
*[http://www.zshwiki.org/ Zsh-wiki]
*[http://grml.org/zsh/zsh-lovers.html Zsh-lovers]
*[http://grml.org/zsh/zsh-lovers.html Zsh-lovers]


[[Luokka:Komentorivi]]
[[Luokka:Komentotulkit]]
[[Luokka:Komentotulkit]]
[[Luokka:Asetustiedostot]]
[[Luokka:Asetustiedostot]]
[[Luokka:Ohjeet]]
 
[[pl:zsh]]
71

muokkausta

Navigointivalikko