További parancsok

Joggal vetődik föl a kérdés: adott parancsnak milyen argumentumai lehetnek? Kell-e paramétert megadni, vannak-e kötelező opciók? S ha nem kell, ha nincsenek: milyen paramétert, milyen opciót kaphat a parancs?

Előfordulhat, hogy szerencsétlenül választott argumentum vagy argumentumok, például két opció tiltott együttesének hatására kapunk némi segítséget a parancs működéséről:

tux@madas:~/public_html/txt/mp$ cal -eo
Usage: cal [general options] [-hjy] [[month] year]
       cal [general options] [-hj] [-m month] [year]
       ncal [general options] [-bhJjpwySM] [-s country_code] [[month] year]
       ncal [general options] [-bhJeoSM] [year]
General options: [-NC31] [-A months] [-B months]
For debug the highlighting: [-H yyyy-mm-dd] [-d yyyy-mm]
tux@madas:~/public_html/txt/mp$ 

Nyilván lehet találgatni: próbálkozhatunk -s utáni országkóddal, kitalálhatjuk, a -A, illetve a -B jelentését…

tux@madas:~/public_html/txt/mp$ cal -A1
    Október 2018         November 2018      
 v  h  k sz cs  p sz   v  h  k sz cs  p sz  
    1  2  3  4  5  6               1  2  3  
 7  8  9 10 11 12 13   4  5  6  7  8  9 10  
14 15 16 17 18 19 20  11 12 13 14 15 16 17  
21 22 23 24 25 26 27  18 19 20 21 22 23 24  
28 29 30 31           25 26 27 28 29 30     
                                            
tux@madas:~/public_html/txt/mp$ 

…de ez hosszú távon aligha lesz hatékony.

Érdemes kipróbálni a (rövid) -h, illetve a (hosszú) --help opciót: ezek sok esetben adnak segítséget – de éppen a cal parancs esetén nem…

A másik lehetőség a man parancs használata: ezzel a unix/linux-kézikönyv megfelelő oldalára jutunk:

tux@madas:~/public_html/txt/mp$ man cal
CAL(1)                                                 BSD General Commands Manual                                                CAL(1)

NAME
     cal, ncal — displays a calendar and the date of Easter

SYNOPSIS
     cal [-3hjy] [-A number] [-B number] [[month] year]
     cal [-3hj] [-A number] [-B number] -m month [year]
     ncal [-3bhjJpwySM] [-A number] [-B number] [-s country_code] [[month] year]
     ncal [-3bhJeoSM] [-A number] [-B number] [year]
     ncal [-CN] [-H yyyy-mm-dd] [-d yyyy-mm]

DESCRIPTION
     The cal utility displays a simple calendar in traditional format and ncal offers an alternative layout, more options and the date
     of Easter.  The new format is a little cramped but it makes a year fit on a 25x80 terminal.  If arguments are not specified, the
     current month is displayed.

     The options are as follows:

     -h      Turns off highlighting of today.
…

A kézikönyv egységes minta alapján mutatja be a parancsokat: röviden megfogalmazza a céljukat, összefoglalja az opcióikat és/vagy a paramétereiket, szükség szerint részletezi azokat (majd további információkat ad róluk).

Eleinte zavaró lehet, hogy a man parancs „rátelepszik” a parancsértelmezőre: q-val tudunk kilépni belőle (és a nyilakkal, PgDn/PgDn billentyűkkel mozogni a szövegben).

Próbáljuk ki most a date parancsot:

tux@madas:~/public_html/txt/mp$ date
2018. okt. 30., kedd, 15:04:00 CET
tux@madas:~/public_html/txt/mp$ 

Ezúttal a -h opció továbbsegít minket (az opciót az angol eredeti nyomán kapcsolónak is nevezik):

tux@madas:~/public_html/txt/mp$ date -h
date: érvénytelen kapcsoló -- "h"
További információkért adja ki a(z) „date --help” parancsot.
tux@madas:~/public_html/txt/mp$ 

Követve az útmutatást:

tux@madas:~/public_html/txt/mp$ date --help
Használat: date [KAPCSOLÓ]… [+FORMÁTUM]
  vagy:    date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Az aktuális idő megjelenítése a FORMÁTUMBAN, vagy a rendszerdátum beállítása.

A hosszú kapcsolók kötelező argumentumai a rövid kapcsolókhoz is kötelezők.
  -d, --date=KARAKTERLÁNC   a KARAKTERLÁNC által leírt dátum megjelenítése
                              az aktuális helyett
  -f, --file=DÁTUMFÁJL      ugyanaz, mint a --date egyszer a DÁTUMFÁJL minden
                              egyes sorára
…
tux@madas:~/public_html/txt/mp$ 

A parancs kimenete valószínűleg hosszabb, mint egy képernyő: próbálkozhatunk a Shift-PgUp, majd a Shift-PgDn billentyűkombinációkkal (ha nem segít, majd később a more, illetve a less parancs kínál megoldást).

Ahogyan láthatjuk, a leírás jelentős része különböző dátumformátumokkal foglalkozik:

tux@madas:~/public_html/txt/mp$ date +%Y%m%d%H%M%S
20181030151539
tux@madas:~/public_html/txt/mp$ 

Alkalomadtán még hasznát vehetjük: a unix-alapú rendszerek az 1970. január 1. óta eltelt másodpercek alapján tartják nyilván az időt:

tux@madas:~/public_html/txt/mp$ date +%s
1540911282
tux@madas:~/public_html/txt/mp$ 

A date parancsot végül használhatjuk arra is, hogy megadott időpontot írjon ki más formátumban:

tux@madas:~/public_html/txt/mp$ date --date 1970-01-01 +%s
-3600
tux@madas:~/public_html/txt/mp$ 

Hogyan magyarázható az előző parancs kimenete?

Segítségképpen két elvarázsolt parancs, illetve azok eredménye:

tux@madas:~/public_html/txt/mp$ date --date='TZ="Pacific/Kiritimati" 2000-01-01'
1999. dec. 31., péntek, 11:00:00 CET
tux@madas:~/public_html/txt/mp$ date --date='TZ="Asia/Kathmandu" 2000-01-01'
1999. dec. 31., péntek, 19:15:00 CET
tux@madas:~/public_html/txt/mp$ 

Lássunk végül néhány parancsot annak szemléltetésére, hogy a unix/linux többfelhasználós rendszer: a who parancs felsorolja, hogy kik vannak bejelentkezve…

tux@madas:~/public_html/txt/mp$ who
tux      tty7         2018-10-27 20:05 (:0)
guest-ju1ves tty8         2018-10-31 11:10 (:1)
tux@madas:~/public_html/txt/mp$ 

…gyakorlásképpen pedig olvassuk el, mire szolgál a last, illetve a lastlog parancs, majd próbáljuk is ki ezeket.