5.26  getconf - Get configuration values

getconf system_var
getconf path_var pathname

palauttaa systeemi- tai polkumuuttujan arvon, millä tässä tarkoitetaan järjestelmäriippuvia (raja-)arvoja ja vakioita, jälkimmäiset lisäksi tiedosto(järjestelmä)riippuvia.

Jos kysytty muuttuja on sallittu muttei määritelty tässä järjestelmässä, tulos on merkkijono ``undefined''.

Exit status on nolla jos muuttuja on sallittu, muutoin yksi.

POSIX määrittelee seuraavat systeemimuuttujat:

ARG_MAX maximum length of arguments for running a program, in bytes, including environment data.
CHILD_MAX maximum number of simultaneous processes allowed per real user.
CLK_TCK number of intervals per second in machine clock (optional).
NGROUPS_MAX number of simultaneous group IDs per process.
OPEN_MAX maximum number of open files at any time per process.
STREAM_MAX maximum number of streams that one process can have open at one time.
TZNAME_MAX maximum number of bytes supported for the name of a time zone (not of the TZ variable).
_POSIX_ARG_MAX minimum conforming value for ARG_MAX.
_POSIX_CHILD_MAX minimum conforming value for CHILD_MAX.
_POSIX_JOB_CONTROL POSIX job control supported.
_POSIX_LINK_MAX minimum conforming value for LINK_MAX.
_POSIX_MAX_CANON minimum conforming value for MAX_CANON.
_POSIX_MAX_INPUT minimum conforming value for MAX_INPUT.
_POSIX_NAME_MAX minimum conforming value for NAME_MAX.
_POSIX_NGROUPS_MAX minimum conforming value for NGROUPS_MAX.
_POSIX_OPEN_MAX minimum conforming value for OPEN_MAX.
_POSIX_PATH_MAX minimum conforming value for PATH_MAX.
_POSIX_PIPE_BUF minimum conforming value for PIPE_BUF.
_POSIX_SAVED_IDS processes have saved set-user-ID and saved set-group-ID.
_POSIX_SSIZE_MAX value that can be stored in an object of type ssize_t.
_POSIX_STREAM_MAX minimum conforming value for STREAM_MAX.
_POSIX_TZNAME_MAX minimum conforming value for TZNAME_MAX.
_POSIX_VERSION gives version of POSIX adhered to in this release.

BC_BASE_MAX maximum ibase and obase values for the bc command.
BC_DIM_MAX maximum number of elements permitted in a bc array.
BC_SCALE_MAX maximum scale size allowed in bc.
BC_STRING_MAX maximum number of characters in a string in bc.
COLL_WEIGHTS_MAX maximum number of weights assignable to an entry of the LC_COLLATE order keyword.
EXPR_NEST_MAX maximum number of expressions that you can nest inside parentheses in an expression evaluated by expr.
LINE_MAX maximum number of characters that a utility can accept as an input line (either from the standard input or a text file) when the utility takes text files as input. This number includes the trailing newline.
PATH standard PATH setting.
RE_DUP_MAX maximum number of repeated occurrences of a regular expression when using the interval notation {m,n} (see regexp).
POSIX2_C_BIND indicates whether the system supports the C Language Bindings Option.
POSIX2_C_DEV indicates whether the system supports the C Language Development Utilities Option.
POSIX2_FORT_DEV indicates whether the system supports the FORTRAN Development Utilities Option.
POSIX2_FORT_RUN indicates whether the system supports the FORTRAN Runtime Utilities Option.
POSIX2_LOCALEDEF indicates whether the system supports the creation of locales.
POSIX2_SW_DEV indicates whether the system supports the Software Development Utilities Option.
POSIX2_CHAR_TERM indicates whether the system supports at least one terminal type capable of all operations necessary for the User Portability Utilities. Only on if POSIX2_UPE is on.
POSIX2_UPE indicates whether the system supports the User Portability Utilities Option.
POSIX2_VERSION gives the version of POSIX.2 adhered to in this release.
POSIX2_BC_BASE_MAX minimum conforming value for BC_BASE_MAX.
POSIX2_BC_DIM_MAX minimum conforming value for BC_DIM_MAX.
POSIX2_BC_SCALE_MAX minimum conforming value for BC_SCALE_MAX.
POSIX2_BC_STRING_MAX minimum conforming value for BC_STRING_MAX.
POSIX2_COLL_WEIGHTS_MAX minimum conforming value for EQUIV_CLASS_MAX.
POSIX2_EXPR_NEST_MAX minimum conforming value for EXPR_NEST_MAX.
POSIX2_LINE_MAX minimum conforming value for LINE_MAX.
POSIX2_RE_DUP_MAX minimum conforming value for RE_DUP_MAX.

ja seuraavat polkumuuttujat:

LINK_MAX maximum number of links that this file can have.
MAX_CANON maximum number of bytes in the terminal's canonical input queue (before line editing).
MAX_INPUT space available in terminal input queue.
NAME_MAX largest file name size.
PATH_MAX maximum number of bytes in a path name.
PIPE_BUF largest atomic write to a pipe.
_POSIX_CHOWN_RESTRICTED restrictions apply to file ownership changes.
_POSIX_NO_TRUNC if set, it is an error for any path name component to be longer than NAME_MAX bytes.
_POSIX_VDISABLE processes are allowed to disable terminal special characters.

Eri järjestelmissä getconf voi tuntea muitakin muuttujia, mutta sellaisia käytettäessä on syytä varautua sekä tulokseen ''undefined'' että virheeseen. Itse asiassa siihen on syytä varautua yllämainittujenkin kanssa, erityisesti SSIZE_MAX, _POSIX_SSIZE_MAX, STREAM_MAX, _POSIX_STREAM_MAX, TZNAME_MAX ja _POSIX_TZNAME_MAX eivät olleet mukana alkuperäisessä POSIX.1-standardissa ja saattavat puuttua joistakin järjestelmistä.

Muutenkaan tuloksiin ei aina kannata sokeasti luottaa, vaan ''sanity check'' on aina paikallaan.

5.27  getopts - Parse utility options

Yleinen optionkäsittelijä, jolla saa standardinmukaiset optiot shell-skripteihin.

Useimmat standardikomennot noudattavat seuraavia sääntöjä optioiden ja argumenttien käsittelyssä:

Näiden sääntöjen mukaisen optiokäsittelyn saa tehtyä getoptsilla seuraavasti: joka kerta kutsuttaessa

getopts optstring varname [arg...]

tutkii onko seuraava optiokirjain merkkijonossa optstring ja jos on, asettaa sen muuttujaan varname. Sen lisäksi se asettaa muuttujaan OPTIND seuraavan option järjestysluvun (shellin käynnistyessä OPTIND alustetaan 1:ksi) ja jos optiokirjaimen perässä optstringissä on kaksoispiste, option argumentin muuttujaan OPTARG.

Kun optiot loppuvat, getopts palauttaa nollasta eroavan statuksen, ja OPTIND osoittaa ensimmäiseen ei-optio-argumenttiin komentorivillä (mahdollisen --:n ohi).

Jos optiokirjainta ei ole optstringissä, getopts asettaa varname:een kysymysmerkin. Jos lisäksi optstring alkaa kaksoispisteellä, tallettaa optiokirjaimen muuttujaan OPTARG, muutoin aiheutuu virheilmoitus (mutta getoptsin exit status on silti nolla).

Jos optiokirjaimen perässä optstringissä on kaksoispiste mutta optiolle ei ole annettu argumenttia, aiheuttaa virheilmoituksen paitsi jos optstringin alussa on kaksoispiste, jolloin varnameen sijoitetaan kaksoispiste ja optiokirjain muuttujaan OPTARG.

Jos getoptsille annetaan argumentteja optstringin ja varnamen lisäksi, se tutkii niitä positioparametrien asemesta.

Esimerkki: skripti ymmärtää optiot -a, -b ja -f tiedosto, ja haluaa niiden perään yhden argumentin:

opta=
optb=
file=
while getopts :abf: opt ;do
  case $opt in
    a) opta=1 ;;
    b) optb=1 ;;
    f) file="$OPTARG" ;;
    ?) printf "%s: invalid option %s\n" "$0" "$OPTARG"
       exit 1 ;;
  esac
done
shift $((OPTIND - 1))
case $# in
  0) printf "%s: argument missing\n", "$0"
     exit 2 ;;
  1) arg="$1" ;;
  *) printf "%s: too many arguments\n", "$0"
     exit 3 ;;
esac
...

5.28  grep - File pattern searcher

Esitellään tarkemmin myöhemmin ().

5.29  head - Copy the first part of files

head [-n number] [file(s)]
head [-number] [file(s)]

tulostaa tiedostoista tai stdinistä number (oletus 10) ensimmäistä riviä. Alempi syntaksi on vanha ja virallisesti epäsuosiossa.

Jos argumentteja on useita, tulostaa alkurivit kustakin tiedostosta erikseen tiedostonimien kera.

5.30  id - Return user identity

id [-G|-g|-u] [-nr] [user]

tulostaa käyttäjän UID:n ja ryhmät. Optiot:

-G tulosta vain ryhmät
-g tulosta vain EGID
-n tulosta numeerisen UID:n asemesta käyttäjätunnus
-r tulosta todellinen (real) ID vaikuttavan (EID) asemesta
-u tulosta vain UID

5.31  join - Relational database operator

join [-a n | -v n] [-e s] [-o list] [-t char] [-1 f1] [-2 f2] file1 file2

yhdistää kaksi tiedostoa yhteisen avainsarakkeen perusteella. Tiedostojen on oltava valmiiksi lajiteltuja ko. sarakkeen mukaan (kuten sort -b tekisi). Oletuksena tulostaa ensin ensimmäisen avainsarakkeen, sitten ensimmäisen tiedoston vastaavan rivin muut sarakkeet ja sitten toisen tiedoston muut sarakkeet.

Sarakkeiden erottimena on oletuksena tyhjä (ja monta peräkkäistä tyhjää lasketaan yhdeksi), ja alkutyhjiä ei oteta huomioon.

Seuraavassa ''vastineeton rivi'' tarkoittaa riviä, jolle ei löydy vastinetta (riviä jolla olisi sama avainsarake) toisesta tiedostosta.

Optiot:

-a n tulosta vastineettomat rivit tiedostosta n, missä n on 1 tai 2. Jos sekä -a 1 että -a 2 on annettu, tulostaa kaikki vastineettomat rivit.
-e string korvaa tyhjät kentät merkkijonolla string.
-o list määrittää mitkä sarakkeet tulostetaan ja missä järjestyksessä. Sarakemääritykset ovat muotoa n.f, missä n on tiedostonumero (1 tai 2) ja f sarakenumero, ja niitä voi olla mielivaltainen määrä pilkulla tai tyhjällä erotettuna.
-t char käytä kentän erottimena merkkiä char, sekä syötössä että tulostuksessa. Tätä käytettäessä tiedostojen lajittelujärjestyksen pitäisi olla sama kuin sortin ilman -b-optiota.
-v n tulosta vain (normaalin tulostuksen asemesta) vastineettomat rivit tiedostosta n, missä n on 1 tai 2. Jos sekä -v 1 että -v 2 on annettu, tulostaa kaikki vastineettomat rivit.
-1 f käytä avainsarakkeena ensimmäisestä tiedostosta saraketta f (kokonaisluku 1...).
-2 f käytä avainsarakkeena toisesta tiedostosta saraketta f.

Seuraavat optiot ovat virallisesti ''obsolete'' mutta käytännössä toimivat yhteensopivuussyistä lähes kaikkialla. Uusissa skripteissä niitä ei kuitenkaan tulisi käyttää:

-j1 f sama kuin -1 f.
-j2 f sama kuin -2 f.
-j f sama kuin -1 f -2 f .

5.32  kill - Terminate or signal processes

kill -s signaalinimi pid...
kill -l [signaalinumero]
kill -[SIGsignaalinimi|signaalinumero] pid...

Lähettää prosess(e)ille halutun signaalin. Viimeinen syntaksi on virallisesti vanhentunut, mutta toimii käytännössä kaikkialla. Jos signaalia ei anneta komentorivillä, oletus on SIGTERM.

Optio -l tulostaa kaikki järjestelmän tuntemat signaalit, tai annettua numeroa vastaavan signaalin nimen.

Signaali voi olla jokin seuraavista (etuliitettä SIG ei tarvita option -s kanssa), suluissa numeroarvot niille joille ne on standardoitu (kaikille löytyy kyllä numero joka järjestelmästä mutta muut vaihtelevat):

0 null signal3
SIGHUP (1) hangup1
SIGINT (2) terminal interrupt 1
SIGQUIT (3) terminal quit2
SIGABRT (6) abort2
SIGKILL (9) kill (cannot be caught or ignored)2
SIGALRM (14) alarm clock1
SIGTERM (15) software termination1
SIGILL illegal instruction1
SIGTRAP trace/breakpoint trap2
SIGFPE floating point exception2
SIGUSR1 user defined signal 11
SIGSEGV segmentation violation2
SIGUSR2 user defined signal 21
SIGPIPE write on a pipe with no one to read it1
SIGCHLD child process terminated or stopped3
SIGCONT continue if stopped5
SIGSTOP stop signal (cannot be caught or ignored)4
SIGTSTP interactive stop signal4
SIGTTIN background process wants to read4
SIGTTOU background process wants to write4

Oletustoiminta jos prosessi ei ota signaalia kiinni:
1 prosessi lopetetaan epänormaalisti, siivotaan kuten _exit()
2 prosessi lopetetaan epänormaalisti, järjestelmäkohtaisin seurauksin (core dump)
3 ei vaikutusta
4 prosessi pysäytetään
5 jos prosessi on pysähtynyt sen suoritusta jatketaan, muuten ei vaikutusta.

Exit status on nolla jos ainakin yksi prosessi käsitteli signaalin, muutoin > 0. Niinpä
kill -0 pid
sopii prosessin olemassaolon testaamiseen.

Useimmista järjestelmistä löytyy muitakin, epästandardeja signaaleja, esim.

SIGBUS Bus error
SIGPOLL Pollable event
SIGPROF Profiling timer expired
SIGPWR Power fail/restart
SIGSYS Bad system call
SIGURG High bandwidth data is available at a socket
SIGVTALRM Virtual timer expired
SIGWINCH Window size change
SIGXCPU CPU time limit exceeded
SIGXFSZ File size limit exceeded

5.33  ln - Link files

ln [-f] [-s] tiedosto(t) kohde

''Linkittää'' tiedostoja, ts. luo niille uuden hakemistotiedon (link()). Jos linkitettäviä tiedostoja on useampia, kohteen on oltava ennestään olemassa oleva hakemisto, ja linkki tehdään sen alle alkuperäisellä nimellä. Joka tapauksessa kohteen on oltava samassa tiedostojärjestelmässä eikä hakemistoa voi linkittää, ellei optiota -s ole käytetty.

Jos kohdetiedosto on olemassa, aiheutuu virhe paitsi jos optio -f on annettu, jolloin se yritetään ensin poistaa (unlink() - ei onnistu hakemistolle).

Hakemistolle ei voi tehdä linkkiä.

POSIX.2 ei itse asiassa määritellyt symbolisia linkkejä lainkaan, eikä niitä varsinkaan ei-Unixmaisissa POSIX-järjestelmissä useinkaan ole, mutta kaikissa moderneissa Unixeissa kylläkin.

Symbolinen linkki on osoitin tiedoston nimeen (tavallinen tai ''hard'' linkki osoittaa inodeen, eikä itse asiassa eroa alkuperäisestä nimestä mitenkään), ja voi siten osoittaa tiedostojärjestelmästä toiseen. Symbolinen linkki voi myös osoittaa hakemistoon tai vaikka tiedostoon jota ei edes ole olemassa, ja alkuperäisen tiedoston nimen vaihtuessa se hukkaa sen. Saadessaan argumenttina symbolisen linkin lähes kaikki komennot käyttävät tiedostoa johon se viittaa (poikkeuksena erityisesti rm).

5.34  locale - Get locale-specific information

locale [-a | -m]
locale [-ck] name...

palauttaa tietoja paikallisesta kieliympäristöstä (locale, kieli- ja maa-valinta).

Ilman optioita tulostaa voimassa olevat asetukset, ilman argumentteja yhteenvedon (ts. LC_*- ja LANG-muuttujien arvot), jos argumentteja on annettu, tulostaa niitä vastaavat asetukset. Argumentti voi olla kategoria (LC_*), jolloin tulostetaan kaikki siihen kuuluvat asetukset, tai avainsana joka vastaa jotakin asetusta.

Optiot:

-a tulosta lista järjestelmän tuntemista kieliympäristöistä
-c tulosta kategorianimet
-k tulosta avainsanat
-m tulosta lista järjestelmän tuntemista merkistöistä

Mahdolliset kategoriat ja tärkeimmät niihin liittyvät avainsanat ovat:

LC_CTYPE: Merkkien luokitteluun ja iso-pieni-muunnokseen liittyvät koodit, vaihtelevat järjestelmittäin. Käytännössä hyödyllinen voisi olla lähinnä charmap, joka kertoo käytössä olevan merkistön.

LC_NUMERIC: lukujen esitykseen liittyvät:

decimal_point desimaalierotin (piste, pilkku)
thousands_sep tuhansien (jne) erotinmerkki
grouping erotteluvälit edelliselle

LC_TIME: ajan ja päivämäärien esitykseen liittyvät, mm:

abday viikonpäivien lyhenteet
day viikonpäivien nimet
abmon kuukausien lyhenteet
mon kuukausien nimet
am_pm aamu- ja iltapäiväsymbolit
d_t_fmt ajan ja päiväyksen oletusformaatti (mitä date:n %c vastaa)
d_fmt päiväyksen oletusformaatti (date:n %x)
t_fmt kellonajan oletusformaatti (date:n %T)
t_fmt_ampm 12h-ajan oletusformaatti (date:n %r)

LC_COLLATE: lajittelualgoritmin määräävät avainsanat, vaihtelevat järjestelmittäin eikä niitä juurikaan tarvita suoraan.

LC_MONETARY: valuutan esittämiseen liittyvät:

int_curr_symbol kansainvälinen valuuttasymboli (esim. FIM)
currency_symbol paikallinen valuuttasymboli (esim. mk)
mon_decimal_point desimaalierotin
mon_thousands_sep tuhansien erotin
mon_grouping em. ryhmittelyväli
positive_sign positiivinen etumerkki
negative_sign negatiivinen etumerkki
int_frac_digits desimaalien määrä kv. yhteyksissä
frac_digits desimaalien määrä paikallisesti
p_cs_precedes tuleeko valuuttasymboli ennen (1) vai jälkeen (0) positiivisissa luvuissa
p_sep_by_space erotetaanko valuuttasymboli välilyönnillä positiivisissa luvuissa (0=ei, 1=kyllä, 2=erotetaan myös etumerkistä)
n_cs_precedes tuleeko valuuttasymboli ennen (1) vai jälkeen (0) negatiivisissa luvuissa
n_sep_by_space erotetaanko valuuttasymboli välilyönnillä negatiivisissa luvuissa
p_sign_posn positiivisen etumerkin paikka (0=luku suluissa, 1=ennen lukua ja valuuttasymbolia, 2=luvun ja valuuttasymbolin jälkeen, 3=ennen valuuttasymbolia, 4=valuuttasymbolin jälkeen)
n_sign_posn negatiivisen etumerkin paikka

LC_MESSAGES: viestejä käyttäjälle ja -ltä:

yesexpr ''kyllä'' paikallisella kielellä
noexpr ''ei'' paikallisella kielellä
yesstr ''kyllä''-vastaukseksi tunnistettava regexp (muodossa jonka grep -E tunnistaa)
nostr ''ei''-vastaukseksi tunnistettava regexp

Näitä käyttävät soveltuvin osin kaikki standardikomennot, erityisesti kaikki jotka vertailevat tai lajittelevat merkkijonoja tai tulostavat kellonaikoja tai päivämääriä. Jos jotakin kategorianimeä vastaava ympäristömuuttuja ei ole asetettu käytetään sen asemesta muuttujaa LANG. Jos kuitenkin LC_ALL on asetettu käytetään sitä riippumatta muista LC_*- tai LANG-muuttujista. Jos arvo on virheellinen tai ko. järjestelmässä tuntematon, käytetään oletuksena arvoa POSIX tai C (jotka on määritelty kaikissa järjestelmissä).

Muuttujien LC_* ja LANG mahdolliset arvot vaihtelevat eri järjestelmissä, mutta yleensä ne ovat muotoa
kieli[_alue][.merkistö]
missä kieli on joko kaksikirjaiminen lyhenne tai kielen englanninkielinen nimi täydellisenä (mutta pienillä kirjaimilla) (esim. fi tai finnish), alue on maan tai alueen kaksikirjaiminen lyhenne (isoilla kirjaimilla, esim. FI), ja merkistö on käytetyn merkistön lyhenne (vaihtelevat suuresti). Suomessa voivat tulla kyseeseen esim. fi_FI.iso88591, fi_FI.iso885915@euro, finnish.iso8859-1, finnish jne.

Jos haluaa olla varma että kieliympäristö ei muuta jonkin komennon tulostusta voi asettaa LC_ALL-muuttujan tunnettuun arvoon, esim.
LC_ALL=C DOW=$(DATE +%a)
(Tuota ei pidä tehdä jos kyseessä on ihmisten luettavaksi tarkoitettu viesti - ne yleensä halutaan voida kääntää paikalliselle kielelle.)

Esim. LC_MESSAGES-kategorian avulla saa monikielisen kyllä/ei-kysymyksen:

printf "%s? " "$(locale yesstr)/$(locale nostr)"
read reply
if printf "%reply\n" "$query?" | grep -Eq "$(locale yesexpr)"
then echo "se on suomeksi 'joo'!"
else echo "se on suomeksi 'ei hitossa'!"
fi

Tämä ei kuitenkaan monessakaan järjestelmässä toimi kuten pitäisi, erityisesti joitakin arvoja ei ehkä ole määritelty ollenkaan joten oletusarvot on syytä laittaa, ja mm. HP-UX lisää ylimääräisiä lainausmerkkejä vastauksiinsa. Paranoidisiirrettävyyttä kaipaava voisi tehdä esim. näin:

# get locale-specific yes/no question & reply, defaults in English
nostr=$(locale nostr); nostr=${nostr:-no}
yesstr=$(locale yesstr); yesstr=${yesstr:-yes}
yesexpr=$(locale yesexpr); yesexpr=${yesexpr:-"^[yY]"}
# peel possible extra quotes away
for var in yesstr nostr yesexpr ;do
  eval value=\$$var
  case "$val" in \"*) eval $var=$value ;; esac
done
printf "%s? " "$yesstr/$nostr"
read reply
if printf "%s\n" "$reply" | grep -Eq "$yesexpr"
then echo "se on suomeksi 'joo'!"
else echo "se on suomeksi 'ei hitossa'!"
fi

Esim. Halutaan tutkia onko annettu merkkijono luku, jossa voi olla desimaalierotin (muttei muita koristeita):

case "${luku:-BAD}" in
  *[!0-9$(locale decimal_point)]*)
       echo "'$luku' is not a proper number"  ;;
esac

5.35  localedef - Define locale environment

localedef [-c] [-f charmap] [-i sourcefile] name

luo uuden kieliympäristön annetun määrityksen mukaisesti. Yksityiskohtiin ei tässä puututa sen enempää.

5.36  logger - Log messages

logger tekstiä

lähettää viestin systeemilokiin. Käyttökelpoinen lähinnä järjestelmän ylläpitäjälle. Lokiin menee yleensä automaattisesti myös aikaleima ja tieto siitä, kuka viestin lähetti.

5.37  logname - Return user's login name

Palauttaa käyttäjätunnuksen (kuten getlogin(), näkee su:n läpi jne).

5.38  lp - Send files to a printer

lp [-c] [-d dest] [-o option...] [-n copies] [file(s)]

lähettää tiedostoja (tai stdinin) kirjoittimelle. Optiot:

-c Palaa vasta kun tiedostoja ei enää tarvita.
-d kirjoitin Käytä nimettyä kirjoitinta. Ilman tätä oletus on ensisijaisesti $LPDEST, jos sitä ei ole $PRINTER, jos sitäkään ei ole systeemin oletuskirjoitin ja jos sitäkään ei ole tapahtuu virhe.
-n k Tulosta k kopiota.
-o option Tätä POSIX ei vaadi mutta suosittelee järjestelmäkohtaisiin optioihin.

Useimmissa järjestelmissä on muitakin optioita, mutta vain nuo ovat edes kohtuullisen siirrettäviä. BSD-pohjaisissa järjestelmissä vastaava komento on historiallisesti lpr; sen optioista mainittakoon -Pkirjoitin, joka vastaa lp:n -d:tä.

5.39  ls - List directory contents

ls [-CFRacdilqrtu1] [file ...]

Tulostaa hakemiston sisällysluetteloa: muille kuin hakemistoargumenteille ko. tiedoston tiedot, hakemistoille ko. hakemiston sisältämien tiedostojen tiedot, jos argumentteja ei ole, työhakemiston sisällön.

Optiot:

-C Monisarakkeinen tulostus aakkosjärjestyksessä. Ympäristömuuttuja COLUMNS määrää tulostusleveyden.
-F Tulostaa kauttaviivan (/) hakemistonimien, tähden (*) suoritettavien ja pystyviivna (|) putkien perään. (Yleensä lisäksi sockettien ja @ symbolisten linkkien perään.)
-R Tulostaa alihakemistot rekursiivisesti.
-a Tulostaa myös pisteellä alkavat tiedostonimet. Ilman -a:ta niitä ei tulosteta ellei niitä ole erikseen annettu argumentteina.
-c Käyttää hakemistotiedon muutosaikaa (ctime) itse tiedoston muutosajan asemesta lajittelussa (-t) ja tulostuksessa (-l).
-d Tulostaa tiedostoistakin niiden omat tiedot niiden sisällön asemesta.
-i Tulostaa tiedostojen inode-numerot (tai yleisemmin ''järjestysnumero'').
-l Pitkä tulostusmuoto, yksi tiedosto per rivi.
-q Tulostaa erikoismerkkien paikalle kysymysmerkin.
-r Lajittelee käänteisessä järjestyksessä (viimeinen tai vanhin ensin).
-t Lajittelee tiedostot ensin aikajärjestykseen (oletuksena tiedoston muutosajan mukaan), vasta sitten aakkosjärjestykseen.
-u Käyttää tiedoston käyttöaikaa (atime) tiedoston muutosajan asemesta lajittelussa (-t) ja tulostuksessa (-l).
-1 Tulostaa vain yhden tiedosto per rivi. Oletus silloin kun tulostuslaite ei ole pääte.

Argumenttina annettu tiedostonimi tulostetaan sellaisena kuin se on annettu (polkuineen).

Optiolla -l tulostetaan seuraavat tiedot järjestyksessä:
mode, links, owner, group, bytes, date and time, pathname
Päivämäärän ja kellonajan muotoilu riippuu kieliympäristöstä (LC_TIME), POSIX-ympäristössä formaatti on kuten date ''+%b %e %H:%M'' tulostaisi jos tiedosto on alle 6 kuukautta vanha, muuten kuin ''+%b %e %Y''.

Laitetiedostoille voi koon asemesta tulostua jotain järjestelmäkohtaista.

Mode on muotoa tuuuoooggga, missä

t: tiedoston tyyppi, d=hakemisto, b=lohkolaitetiedosto, c=merkkilaitetiedosto, p=putki, -=tavallinen tiedosto. (Yleensä lisäksi l=symbolinen linkki, s=socket, n=network special file.)
uuu: tiedoston omistajan oikeudet vasemmalta oikealle:

r jos tiedosto on luettavissa, muutoin -
w jos tiedosto on luettavissa, muutoin -
x jos tiedosto on suoritettavissa, s jos tiedosto on suoritettavissa ja setuid-bitti on päällä, S jos tiedosto ei ole suoritettavissa ja setuid-bitti on päällä, muutoin -.

ggg: ryhmän oikeudet, kuten edellä mutta s ja S viittaavat setgid-bittiin.
ooo: muiden oikeudet, rxw- kuten edellä, muita ei määritelty. Epästandardi mutta yleinen on t = sticky bit on päällä (tai T jos suoritusoikeus samalla puuttuu).
a: alternate access method flag, jos epätyhjä (suositus: +) kertoo että tiedostolle on jokin muukin suojaus (yleensä ACL eli Access Control List).

Yleisiä epästandardeja optioita ovat

-x Riveittäin lajiteltu monipalstainen tulostus.
-m Tiivis pilkuilla eroteltu tulostus.
-A Kuten -a mutta jättää tiedostot . ja .. tulostamatta.
-b Tulostaa erikoismerkit (enemmän tai vähemmän) tunnistettavassa muodossa (vrt. cat -v).
-s Tulostaa tiedoston koon lohkoina (yleensä 512 tavua).
-L Jos tiedosto on symbolinen linkki, näyttää sen osoittaman tiedoston tiedot itse linkin asemesta.

5.39.1  Epästandardien suojausbittien merkityksestä

Standardi ei määrittele mitä setuid- ja setgid-bitit tarkoittavat jakemistoille eikä sticky bitin merkitystä yleensä, mutta seuraavat ovat aika vakiintuneita:

5.40  mailx - Process messages

mailx [-s subject] address...

lähettää standard inputin sähköpostina. (Huom. mail ei ole standardi, eikä ole mitään siirrettävää tapaa antaa sille otsikkotietoa.)

5.41  mkdir - Make directories

mkdir [-p] [-m mode] dir...

luo nimetyt hakemistot. Optiot:

-p Luo mahdollisesti puuttuvat komponentit polun varresta, ei aiheuta virhettä valmiiksi olemassa olevista hakemistoista.
-m mode Asettaa luodun hakemiston suojauksen, mode kuten chmod-komennossa. Oletussuojaus on rwxrwxrwx XOR umask. Option -p takia luotavien välihakemistojen suojaukseen tulee kuitenkin aina u+wx.

5.42  mkfifo - Make FIFO special files

mkfifo [-m mode] file...

luo nimetyn putken. Optiolla -m voi asettaa sen suojausbitit, mode kuten chmodissa.

Historiallisesti samaan tarkoitukseen on käytetty komentoa mknod file p.

5.43  mv - Move files

mv [-fi] tiedosto(t) kohde

siirtää tai uudelleennimeää tiedostoja, joko luomalla uuden hakemistotiedon (kuten ln) ja poistamalla vanhan (jos siirrettäviä on vain yksi ja kohde on samassa tiedostojärjestelmässä) tai kopiomalla tiedoston tai tiedostot (kuten cp) ja hävittämällä alkuperäiset. Jos siirrettäviä on useita, kohteen on oltava olemassa oleva hakemisto.

Jos kohde on ennestään olemassa eikä siihen ole kirjoitusoikeutta aiheutuu virhe, paitsi jos -f on annettu jolloin se yritetään ensin poistaa kyselemättä, tai jos stdin on pääte tai -i on annettu jolloin kysytään käyttäjältä (ts. interaktiivisesti -i on oletus). Jos on annettu sekä -f että -i, viimeinen ratkaisee.

Mahdollisen virheen sattuessa joko alkuperäinen tai uusi tiedosto voi olla korruptoitunut, mutta jompi kumpi on aina ehjä.

Historiallisesti mv ei ole osannut siirtää hakemistoa tiedostojärjestelmästä toiseen, mutta POSIX edellyttää että senkin pitäisi onnistua, kunhan kaikkiin siirrettäviin tiedostoihin on lukuoikeus (mitä ei tiedostojärjestelmän sisällä tarvita).

Seuraava: 5.44-72 Standardikomennot N-Z
Edellinen: 5.1-5.25 Standardikomennot A-F


File translated from TEX by TTH, version 1.98.
On 17 May 2001, 18:14.