             Âïìåå ðïìîùå ó÷åäåîéñ ï UNIXe

                          Üôïô ôåëóô ðïäçïôï÷ìåî ÎÐÏ "ËÌÏÔÏ"

                ÏÇÌÁ×ÌÅÎÉÅ

1. Ó÷åäåîéñ ï ðòïãåóóáè é óéóôåíîùè ÷ùúï÷áè . . . . . . . .
2. Áôòéâõôù ðòïãåóóï÷ . . . . . . . . . . . . . . . . . . .
        2.1. Îáóìåäõåíùå æáêìù  . . . . . . . . . . . . . .
        2.2. Éäåîôéæéëáôïò ðïìøúï÷áôåìñ (UID)  é  éäåîôéæé-
             ëáôïò çòõððù (GID) . . . . . . . . . . . . . .
3. Ëïíáîäù UNIXá  . . . . . . . . . . . . . . . . . . . . .
        3.1. Ëïîôåëóôîùê ðïéóë é ðòåïâòáúï÷áîéå ôåëóôá  . .
        3.2. Áòéæíåôéþåóëéê ñúùë äìñ  ÷ùþéóìåîéê  ó  ðòïéú-
             ÷ïìøîïê ôïþîïóôøà  . . . . . . . . . . . . . .
        3.3. Éúíåîåîéå ðòá÷ äïóôõðá ë æáêìáí  . . . . . . .
        3.4. Óòá÷îåîéå óïäåòöéíïçï ä÷õè æáêìï÷  . . . . . .
        3.5. Ðïóôòïþîïå óòá÷îåîéå ä÷õè ôåëóôï÷ùè æáêìï÷ . .
        3.6. Ðòïóôùå áòéæíåôéþåóëéå ÷ùþéóìåîéñ ó ðòïéú÷ïìø-
             îïê ôïþîïóôøà  . . . . . . . . . . . . . . . .
        3.7. ×ù÷åóôé áòçõíåîôù ëïíáîäîïê  óôòïëé  îá  óôáî-
             äáòôîùê ÷ù÷ïä  . . . . . . . . . . . . . . . .
        3.8. Òáúìïöåîéå ãåìïçï þéóìá îá ðòïóôùå óïíîïöéôåìé
        3.9. Ïðòåäåìåîéå ôéðá æáêìá . . . . . . . . . . . .
        3.10. Ðïéóë æáêìï÷  . . . . . . . . . . . . . . . .
        3.11. Ëïîôåëóôîùê ðïéóë ÷ ôåëóôï÷ïí æáêìå . . . . .
        3.12. Ïðòåäåìåîéå   éäåîôéæéëáôïòá  ðïìøúï÷áôåìñ  é
             éäåîôéæéëáôïòá çòõððù  . . . . . . . . . . . .
        3.13. Á÷áòéêîïå úá÷åòûåîéå ðòïãåóóá . . . . . . . .
        3.14. Éîæïòíáãéñ ï óïóôïñîéé ðòïãåóóï÷  . . . . . .
        3.15. Óïòôéòï÷ëá é/éìé óìéñîéå æáêìï÷ . . . . . . .
        3.16 Ðïäóþåô ëïìéþåóô÷á óéí÷ïìï÷, óìï÷  é  óôòïë  ÷
             æáêìå  . . . . . . . . . . . . . . . . . . . .

                1. Ó÷åäåîéñ ï ðòïãåóóáè é óéóôåíîùè ÷ùúï÷áè.

     Óéóôåíîùå ÷ùúï÷ù - üôï éîôåòæåêó íåöäõ ðòïçòáííáíé é ñäòïí
UNIXá. Ñäòï UNIXá ïâåóðåþé÷áåô òáúäåìåîéå ðòïãåóóïòá íåöäõ  ÷ù-
ðïìîñàýéíéóñ ðòïçòáííáíé,  ïóõýåóô÷ìñåô  õðòá÷ìåîéå  ðáíñôøà  é
äòõçéíé õóôòïêóô÷áíé, òåáìéúõåô æáêìï÷õà óéóôåíõ. Óéóôåíîùå ÷ù-
úï÷ù íïçõô éóðïìøúï÷áôøóñ ÷óåíé âåú éóëìàþåîéñ ðòïçòáííáíé.
     Ðòïçòáííá, îáèïäñýáñóñ  ÷  óôáäéé  ÷ùðïìîåîéñ,  îáúù÷áåôóñ
ðòïãåóóïí. Ôáë, shell, ïöéäáàýéê ÷÷ïäá ëïíáîäù,  ñ÷ìñåôóñ  ðòï-
ãåóóïí.
     ×óå ëïíáîäù UNIXá (ëòïíå ÷óôòïåîîùè ëïíáîä shellá) ñ÷ìñàô-
óñ ïâùþîùíé ðòïçòáííáíé. Ðïüôïíõ, ðïìõþé÷ ëïíáîäõ, îå ñ÷ìñàýõà-
óñ ÷óôòïåîîïê, shell äïìöåî ÷ùú÷áôø îá ÷ùðïìîåîéå  ðòïçòáííõ  é
ðåòåäáôø åê áòçõíåîôù éú ëïíáîäîïê óôòïëé. Äìñ üôïçï shell  äå-
ìáåô óìåäõàýåå: ïî òáúäåìñåôóñ îá ä÷å ëïðéé (éóðïìøúõñ  óéóôåí-
îùê ÷ùúï÷ fork), ïôìéþáàýéåóñ ìéûø ôåí, þôï ëáöäáñ íïöåô  ïðòå-
äåìéôø, ëåí ïîá ñ÷ìñåôóñ: ðòïãåóóïí-ðòåäëïí  éìé  ðòïãåóóïí-ðï-
ôïíëïí. Ðòé üôïí ðòïãåóóõ-ðïôïíëõ äïóôáàôóñ ðï  îáóìåäóô÷õ  ÷óå
áôòéâõôù ðòïãåóóá-ðòåäëá: ïôëòùôùå æáêìù, ðåòåíåîîùå ïëòõöåîéñ,
ôåëõýáñ äéòåëôïòéñ é äò. Úáôåí ðòïãåóó-ðòåäïë ðåòåèïäéô ÷  óïó-
ôïñîéå ïöéäáîéñ úá÷åòûåîéñ ðòïãåóóá-ðïôïíëá (éóðïìøúõñ  óéóôåí-
îùê ÷ùúï÷ wait), åóìé ôïìøëï  ðòïãåóó-ðïôïíïë  îå  âùì  úáðõýåî
áóéîèòïîîï. Ðòïãåóó-ðïôïíïë éúäáåô óéóôåíîùê ÷ùúï÷ exec, ðï ëï-
ôïòïíõ ñäòï UNIXá ðïäíåîñåô ðòïçòáííõ,  ïðòåäåìñàýõà  ðï÷åäåîéå
ðòïãåóóá, é ðåòåäáåô åê õðòá÷ìåîéå é óðéóïë áòçõíåîôï÷.
     Îáóìåäï÷áîéå áôòéâõôï÷ ïâ®ñóîñåô, ðïþåíõ ôáë  ìåçëï  íïöîï
ðåòåîáúîáþéôø óôáîäáôîùê ÷÷ïä-÷ù÷ïä. Ðåòåä  ôåí,  ëáë  ðåòåäáôø
õðòá÷ìåîéå îï÷ïê ðòïçòáííå, shell (ðòïãåóó-ðòåäïë) ðåòåîáúîáþá-
åô ó÷ïê óôáîäáòôîùê  ÷÷ïä-÷ù÷ïä,  ëïôïòùê  é  äïóôáîåôóñ  îï÷ïê
ðòïçòáííå.
     Úá÷åòûé÷ ÷ùðïìîåîéå, ðòïãåóó-ðïôïíïë ðòïéú÷åäåô "óáíïõâéê-
óô÷ï" (éúäá÷ äìñ üôïçï óéóôåíîùê ÷ùúï÷ exit). Ðòé üôïí ÷óå ïôë-
òùôùå ÷ îåí æáêìù âõäõô úáëòùôù é óáí ïî ðòåëòáôéô  óõýåóô÷ï÷á-
îéå. Åóìé úá÷åòûéìóñ ðòïãåóó, õ ëïôïòïçï âùìé ðïôïíëé,  ôï  üôé
ðïôïíëé óôáîõô ðïôïíëáíé "÷óåïâýåçï ðòåäëá", ô.å. ðòïãåóóá, úá-
ðõýåîîïçï ðòé ÷èïäå ÷ óéóôåíõ. Úá÷åòûåîéå ðòïãåóóá-ðïôïíëá ðòé-
÷ïäéô ë ðòïâõöäåîéà ðòïãåóóá-ðòåäëá, ëïôïòùê ðïìõþáåô  éîæïòíá-
ãéà ï ôïí, ëïôïòùê éú ðòïãåóóï÷-ðïôïíëï÷ úá÷åòûéì ó÷ïå  óõýåóô-
÷ï÷áîéå é ëïä åçï úá÷åòûåîéñ. Ðïóìå üôïçï ðòïãåóó-ðòåäïë  õîéþ-
ôïöéô ÷óå óìåäù óõýåóô÷ï÷áîéñ ðòïãåóóá-ðïôïíëá é ðòïäïìöéô  ÷ù-
ðïìîåîéå ó÷ïåê ðòïçòáííù.
     Ëáöäùê ðòïãåóó ðòé åçï ðïòïöäåîéé ðïìõþáåô õîéëáìøîùê  îï-
íåò, îáúù÷áåíùê PID (process ID). Îïíåò åçï  ðòïãåóóá-ðòåäëá  -
PPID (parent PID). Üôé îïíåòá íïöîï ðïìõþéôø,  ÷ïóðïìøúï÷á÷ûéóø
ëïíáîäïê ps (óí. 3.14).

                2. Áôòéâõôù ðòïãåóóï÷.

     Ðòé ðïòïöäåîéé îï÷ïçï  ðòïãåóóá,  ðïóìåäîéê  îáóìåäõåô  ïô
ðòïãåóóá-ðòåäëá âïìøûéîóô÷ï áôòéâõôï÷. Ë îéí ïôîïóñôóñ ïôëòùôùå
æáêìù, ðåòåíåîîùå ïëòõöåîéñ, ôåëõýáñ äéòåëôïòéñ,  éäåîôéæéëáôïò
ðïìøúï÷áôåìñ é éäåîôéæéëáôïò çòõððù é ô.ä.

        2.1. Îáóìåäõåíùå æáêìù.

     ×óå æáêìù, ëïôïòùå âùìé ïôëòùôù ÷ ðòïãåóóå, éúäá÷ûåí  óéó-
ôåíîùê ÷ùúï÷ fork, âõäõô õîáóìåäï÷áîù ðïôïíëïí.  Åóìé ëáëïê-ìé-
âï éú üôéè ðòïãåóóï÷ òåûéô úáëòùôø ïäéî  éú  ôáëéè  æáêìï÷,  ôï
äïóôõðá ë æáêìõ ìéûéôóñ ôïìøëï ïî óáí. Æáêì íïöåô âùôø  äïóôõð-
îùí é âïìåå þåí ä÷õí  ðòïãåóóáí-òïäóô÷åîîéëáí,  åóìé  ðïòïöäåîï
âïìåå ïäîïçï  ðòïãåóóá-ðïôïíëá.  Ðòé  üôïí  ÷óå  ïîé  òáúäåìñàô
åäéîóô÷åîîùê õëáúáôåìø îá æáêì.

        2.2. Éäåîôéæéëáôïò ðïìøúï÷áôåìñ (UID).
                           é  éäåîôéæéëáôïò  çòõððù (GID)

     Äìñ ëáöäïçï ðòïãåóóá ïðòåäåìåîù ðòá÷á äïóôõðá ë  òáúìéþîùí
æáêìáí ó ðïíïýøà éäåîôéæéëáôïòá ðïìøúï÷áôåìñ  é  éäåîôéæéëáôïòá
çòõððù, ëïôïòùå éíååô ðïìøúï÷áôåìø, úáðõóôé÷ûéê ðòïãåóó (õúîáôø
éè íïöîï ëïíáîäïê id (óí. 3.12)). Üôé  éäåîôéæéëáôïòù  ñ÷ìñàôóñ
ãåìùíé þéóìáíé é éè õóôáîï÷ëá ðòïéú÷ïäéôóñ  ÷  íïíåîô  ÷èïäá  ÷
óéóôåíõ. Éäåîôéæéëáôïò ðïìøúï÷áôåìñ é éäåîôéæéëáôïò çòõððù, õó-
ôáîï÷ìåîîùå äìñ ðòïãåóóá, ðåòåäáàôóñ éí ðï îáóìåäóô÷õ ÷óåí  ðï-
ôïíëáí.
     Îá óáíïí äåìå ó ëáöäùí ðòïãåóóïí, ëòïíå äåêóô÷õàýåçï éäåî-
ôéæéëáôïòá ðïìøúï÷áôåìñ é äåêóô÷õàýåçï  éäåîôéæéëáôïòá  çòõððù,
ó÷ñúáîù åýå  òåáìøîùê  éäåîôéæéëáôïò  ðïìøúï÷áôåìñ  é  òåáìøîùê
éäåîôéæéëáôïò çòõððù. Ðåò÷ùå ä÷á éóðïìøúõàôóñ ðòé ðòï÷åòëå òáú-
òåûåîéñ îá äïóôõð ë æáêìáí, á ÷ôïòùå ä÷á ïðòåäåìñàô ðïìøúï÷áôå-
ìñ, ïô éíåîé ëïôïòïçï ÷ùóôõðáåô ðòïãåóó.
     × âïìøûéîóô÷å óìõþáå÷ üôé éäåîôéæéëáôïòù óï÷ðáäáàô. Ïäîáëï
íïçõô âùôø õóôáîï÷ìåîù ôáëéå ëïäù úáýéôù æáêìá, þôï ðòé ïâòáýå-
îéé ë îåíõ (îáðò. mail, rmdir) ðåòåõóôáîá÷ìé÷áåôóñ ìéâï  òåáìø-
îùê éäåîôéæéëáôïò  ðïìøúï÷áôåìñ,  ìéâï  òåáìøîùê  éäåîôéæéëáôïò
çòõððù, ìéâï é ôïô é äòõçïê, é, ôáëéí ïâòáúïí, ðïìøúï÷áôåìø ðï-
ìõþáåô ÷ïúíïöîïóôø ðòïéú÷ïäéôø äåêóô÷éñ ïô éíåîé ðïìøúï÷áôåìñ ó
âïìøûéíé ðòá÷áíé.

                3. Ëïíáîäù UNIXá.

awk     - ëïîôåëóôîùê ðïéóë é ðòåïâòáúï÷áîéå ôåëóôá
bc      - áòéæíåôéþåóëéê ñúùë  äìñ  ÷ùþéóìåîéê  ó  ðòïéú÷ïìøîïê
          ôïþîïóôøà
chmod   - éúíåîåîéå ðòá÷ äïóôõðá ë æáêìáí
cmp     - óòá÷îåîéå óïäåòöéíïçï ä÷õè æáêìï÷
comm    - ðïóôòïþîïå óòá÷îåîéå ä÷õè ôåëóôï÷ùè æáêìï÷
dc      - ðòïóôùå áòéæíåôéþåóëéå ÷ùþéóìåîéñ ó ðòïéú÷ïìøîïê ôïþ-
          îïóôøà
echo    - ÷ù÷åóôé áòçõíåîôù ëïíáîäîïê óôòïëé îá óôáîäáòôîùê ÷ù-
          ÷ïä
factor  - òáúìïöåîéå ãåìïçï þéóìá îá ðòïóôùå óïíîïöéôåìé
file    - ïðòåäåìåîéå ôéðá æáêìá
find    - ðïéóë æáêìï÷
grep    - ëïîôåëóôîùê ðïéóë ÷ ôåëóôï÷ïí æáêìå
id      - ïðòåäåìåîéå éäåîôéæéëáôïòá ðïìøúï÷áôåìñ é éäåîôéæéëá-
          ôïòá çòõððù
kill    - á÷áòéêîïå úá÷åòûåîéå ðòïãåóóá
ps      - éîæïòíáãéñ ï óïóôïñîéé ðòïãåóóï÷
sort    - óïòôéòï÷ëá é/éìé óìéñîéå æáêìï÷
wc      - ðïäóþåô ëïìéþåóô÷á óéí÷ïìï÷, óìï÷ é óôòïë ÷ æáêìå

        3.1. Ëïîôåëóôîùê ðïéóë é ðòåïâòáúï÷áîéå ôåëóôá.

Æïòíáô ëïíáîäù: awk [ -Fc ] [ -f ] [ <ðòïç> ] [ <ðáòáíåôòù> ]
                                                    [ <æáêìù> ]

     awk óëáîéòõåô ëáöäùê ÷èïäîïê æáêì ÷ ðïéóëå óôòïë, õäï÷ìåô-
÷ïòñàýéè ëáëïíõ-ìéâï éú ûáâìïîï÷, ïðòåäåìåîîùè ÷ <ðòïç>. Ûáâìï-
îù íïçõô ìéâï âùôø úáäáîù îåðïóòåäóô÷åîîï  ÷  ëáþåóô÷å  <ðòïç>,
ìéâï âùôø úáðéóáîù ÷ æáêì progfile é ïâòáâïôáîù ëïíáîäïê

        awk -f progfile [ <æáêìù> ]

Åóìé ûáâìïîù õëáúáîù ÷ ëïíáîäîïê óôòïëå,  ôï  ïîé  äïìöîù  âùôø
úáëìàþåîù ÷ ïäéîáòîùå ëá÷ùþëé ('). awk íïçõô âùôø ðåòåäáîù  ðá-
òáíåôòù ÷ æïòíå x=... y=... é ô.ä. Ðòéíåòù óí. ÷  ëïîãå  ïðéóá-
îéñ.
     Æáêìù þéôáàôóñ ÷ õëáúáîîïí ðïòñäëå. Åóìé îå õëáúáîï îé ïä-
îïçï æáêìá, ôï óôòïëé ÷÷ïäñôóñ éú óôáîäáòôîïçï  ÷÷ïäá.  Æáêì  ó
éíåîåí "-" ïâïúîáþáåô óôáîäáòôîùê ÷÷ïä.
     ×÷ïä äìñ awk äåìéôóñ îá  úáðéóé,  òáúäåìñåíùå  óðåãéáìøîùí
òáúäåìéôåìåí. Ðï õíïìþáîéà üôï <NEW LINE>, é ôïçäá awk  ïâòáâá-
ôù÷áåô ÷÷ïä ðïóôòïþîï. Òáúäåìéôåìø úáðéóåê íïöîï éúíåîéôø,  ðå-
òåïðòåäåìé÷ ðåòåíåîîõà RS.
     Ëáöäáñ úáðéóø äåìéôóñ îá ðïìñ, ïçòáîéþåîîùå  òáúäåìéôåìñíé
ðïìåê. Ðï õíïìþáîéà üôï ðòïâåìù. Üôïô òáúäåìéôåìø  íïöîï  éúíå-
îéôø, õóôáîï÷é÷ ðåòåíåîîõà FS òá÷îïê óéí÷ïìõ c éìé õëáúá÷  æìáç
-Fc. Ûáâìïîù ëïíáîäîïê óôòïëé äïóôõðîù ðï éíåîáí $1,  $2,  ...;
$0 - ÷óñ ÷èïäîáñ óôòïëá. Åóìé òáúäåìéôåìø úáðéóåê  îõìå÷ïê,  ôï
îá óáíïí äåìå éí ñ÷ìñåôóñ ðõóôáñ óôòïëá.
     Äìñ ëáöäïçï ïâòáúãá,  õëáúáîîïçï  ÷  <ðòïç>,  ïðòåäåìñåôóñ
äåêóô÷éå. Õëáúáîîïå äåêóô÷éå âõäåô ðòïéú÷åäåîï ó  ëáöäïê  óôòï-
ëïê, éìé ðïìåí ÷îõôòé îåå, ëïôïòáñ õäï÷ìåô÷ïòñåô üôïíõ ûáâìïîõ.
     Ïðåòáôïò <ïâòáúåã-äåêóô÷éå> éíååô ÷éä:

        <ûáâìïî> { <äåêóô÷éå> }

     Ëáöäáñ óôòïëá ðòï÷åòñåôóñ îá óï÷ðáäåîéå ó ëáöäùí ûáâìïîïí.
Ðòé ëáöäïí óï÷ðáäåîéé ÷ùðïìîñàôóñ ÷óå õëáúáîîùå äåêóô÷éñ. Ðïóìå
óòá÷îåîéñ óï ÷óåíé ïâòáúãáíé ÷÷ïäéôóñ óìåäõàýáñ óôòïëá  é  ðòï-
ãåóó óòá÷îåîéñ ðï÷ôïòñåôóñ. Íïöåô âùôø ïðõýåî ìéâï ûáâìïî, ìéâï
äåêóô÷éå, îï îå ïâá ÷íåóôå. Åóìé äìñ äáîîïçï ûáâìïîá îå õëáúáîù
äåêóô÷éñ, ôï óôòïëá ðòïóôï ëïðéòõåôóñ ÷ ÷ù÷ïä. Åóìé äìñ  äåêóô-
÷éñ îå ïðòåäåìåî ûáâìïî, ôï ïîï âõäåô  ÷ùðïìîñôøóñ  äìñ  ëáöäïê
÷èïäîïê óôòïëé. Óôòïëé, îå õäï÷ìåô÷ïòñàýéå îé  ïäîïíõ  ïâòáúãõ,
éçîïòéòõàôóñ.
     Äåêóô÷éå åóôø ðïóìåäï÷áôåìøîïóôø ïðåòáôïòï÷. Ôáë ëáë  ûáâ-
ìïîù é äåêóô÷éñ íïçõô âùôø ïðõýåîù, ôï, þôïâù  òáúìéþáôø  éè  ÷
ðòïçòáííå, ðïóìåäîéå îáäï âòáôø  ÷  æéçõòîùå  óëïâëé.  Ïðåòáôïò
åóôø ïäîá éú ëïîóôòõëãéê:

        if ( <õóìï÷éå> ) <ïðåòáôïò> [ else <ïðåòáôïò> ]
        while ( <õóìï÷éå> ) <ïðåòáôïò>
        for ( <÷ùòáöåîéå>; <õóìï÷éå>; <÷ùòáöåîéå> ) <ïðåòáôïò>
        break
        continue
        [ <ïðåòáôïò> ] ...
        <ðåòåíåîîáñ> = <÷ùòáöåîéå>
        print [ <óðéóïë ÷ùòáöåîéê> ] [ > <÷ùòáöåîéå> ]
        printf <æïòíáô> [ , <óðéóïë ÷ùòáöåîéê> ]
                                              [ > <÷ùòáöåîéå> ]
        next   (ðòïðõóôéôø ïóôá÷ûéåóñ ûáâìïîù é ðåòåêôé ë
                óìåäõàýåê óôòïëå)
        exit   (ðòïðõóôéôø ïóôá÷ûéåóñ óôòïëé)

     Ïðåòáôïòù úá÷åòûáàôóñ ôïþëïê ó  úáðñôïê,  <NEW  LINE>  éìé
ðòá÷ïê óëïâëïê. Ðõóôïê <óðéóïë ÷ùòáöåîéê> ïúîáþáåô ÷óà  óôòïëõ.
×ùòáöåîéñ óôòïñôóñ éú óôòïëï÷ùè éìé þéóìï÷ùè ÷åìéþéî ó  ðïíïýøà
ïðåòáãéê +, -, *, /, % é ëïîëáôåîáãéé (ïâïúîáþáåôóñ  ðòïâåìïí).
× ÷ùòáöåîéñè ôáëöå íïöîï éóðïìøúï÷áôø ïðåòáôïòù  ñúùëá  C:  ++,
--, +=, -=, *=,  /=,  %=.  Ðåòåíåîîùå  éîéãéáìéúéòõàôóñ  ðõóôïê
óôòïëïê. Ðåòåíåîîùå íïçõô ôáëöå âùôø üìåíåîôáíé íáóóé÷á  (ïâïú-
îáþáåôóñ x[i]) éìé ðïìñíé. Éîäåëóù íáóóé÷á îå ïâñúáîù âùôø  ãå-
ìùíé. Ëïîóôáîôîùå óôòïëé äïìöîù âùôø úáëìàþåîù ÷ ä÷ïêîùå ëá÷ùþ-
ëé (").
     Ïðåòáôïò print ÷ù÷ïäéô ó÷ïé áòçõíåîôù ÷ óôáîäáòôîùê  ÷ù÷ïä
(éìé ÷ æáêì, åóìé ïðòåäåìåîá þáóôø '> <÷ùòáöåîéå>'),   òáúäåìññ
éè ôåëõýéí òáúäåìéôåìåí ðïìåê é úá÷åòûáñ ëáöäõà úáðéóø  ôåëõýéí
òáúäåìéôåìåí úáðéóåê. Ïðåòáôïò printf äåìáåô ôï  öå  óáíïå,  îï
ðïä õðòá÷ìåîéåí æïòíáôá (æïòíáô óï÷ðáäáåô  ó  æïòíáôïí  æõîëãéé
printf ñúùëá C).
     ×óôòïåîîáñ æõîëãéñ length ÷ïú÷òáýáåô äìéîõ ó÷ïåçï áòçõíåî-
ôá, òáóóíáôòé÷áñ åçï ëáë óôòïëõ; åóìé áòçõíåîô ïðõýåî, ôï ÷ïú÷-
òáýáåôóñ  äìéîá  ôåëõýåê  óôòïëé.  Ïðòåäåìåîù  ôáëöå  óìåäõàýéå
÷óôòïåîîùå æõîëãéé: exp, log, sqrt é int (int ÷ïú÷òáýáåô  ãåìõà
þáóôø ó÷ïåçï  áòçõíåîôá).  Æõîëãéñ  substr(s, m, n)  ÷ïú÷òáýáåô
n-óéí÷ïìøîõà ðïäóôòïëõ óôòïëé s, îáþéîáñ ó ðïúéãéé  m.  Æõîëãéñ
sprintf(<æïòíáô>, <÷ùòáöåîéå>, <÷ùòáöåîéå>,  ...)   ðòåïâòáúõåô
÷ùòáöåîéñ ÷ óïïô÷åôóô÷éé ó õëáúáîîùí æïòíáôïí  (óí.  printf)  é
÷ïú÷òáýáåô ðïìõþåîîõà óôòïëõ.
     Ûáâìïî - üôï ìïçéþåóëáñ ëïíâéîáãéñ (ó ðïíïýøà !, || ,&&  é
óëïâïë) òåçõìñòîùè ÷ùòáöåîéê (óí. grep (egrep)), úáëìàþåîîùè  ÷
óìüûé (/), é ïôîïóéôåìøîùè ÷ùòáöåîéê (óí. îéöå). Ïôäåìøîïå  òå-
çõìñòîïå ÷ùòáöåîéå ÷ ûáâìïîå ïôîïóéôóñ ëï ÷óåê óôòïëå. Òåçõìñò-
îùå ÷ùòáöåîéñ íïçõô âùôø é ÷ ïôîïóéôåìøîùè  ÷ùòáöåîéñè.  Ûáâìïî
íïöåô óïóôïñôø éú ä÷õè ïâòáúãï÷, òáúäåìåîîùè úáðñôïê; ðòé  üôïí
õëáúáîîùå äåêóô÷éñ ÷ùðïìîñàôóñ äìñ ÷óåè  óôòïë  íåöäõ  óôòïëïê,
õäï÷ìåô÷ïòñàýåê ðåò÷ïíõ  ûáâìïîõ,  é  óôòïëïê,  õäï÷ìåô÷ïòñàýåê
÷ôïòïíõ ûáâìïîõ.
     Ïôîïóéôåìøîïå ÷ùòáöåîéå - üôï ïäîá éú óìåäõàýéè  ëïîóôòõë-
ãéê:
        <÷ùòáöåîéå> <ïðåò_óòá÷î> <òåçõì_÷ùòáöåîéå>
        <÷ùòáöåîéå> <ïðåò_ïôîïûåîéñ> <÷ùòáöåîéå>

çäå <ïðåò_ïôîïûåîéñ> - ìàâáñ éú ûåóôé ïðåòáãéê ïôîïûåîéñ  ñúùëá
                       C,
    <ïðåò_óòá÷î> - üôï ~ (óïäåòöéôóñ) éìé !~ (îå óïäåòöéôóñ).
     <Õóìï÷éå> - üôï  áòéæíåôéþåóëïå  ÷ùòáöåîéå,  ïôîïóéôåìøîïå
÷ùòáöåîéå éìé éè ìïçéþåóëáñ ëïíâéîáãéñ.
     Äìñ ÷ùðïìîåîéñ ëáëéè-ìéâï äåêóô÷éê ðåòåä ðåò÷ïê éìé  ðïóìå
ðïóìåäîåê óôòïëé ïðòåäåìåîù óðåãéáìøîùå ûáâìïîù  BEGIN  é  END.
Îáðòéíåò, äìñ éóðïìøúï÷áîéñ óéí÷ïìá c  ÷  ëáþåóô÷å  òáúäåìéôåìñ
ðïìåê íïöîï ìéâï úáðõóôéôø ðòïçòáííõ ó æìáçïí -Fc, ìéâï õëáúáôø

        BEGIN { FS = c }

    Ïóôáìøîùå óðåãéáìøîùå ðåòåíåîîùå:

        NF      - ëïìéþåóô÷ï ðïìåê ÷ ôåëõýåê úáðéóé
        NR      - ðïòñäëï÷ùê îïíåò ôåëõýåê úáðéóé
        FILENAME- éíñ æáêìá, éú ëïôïòïçï ÷ äáîîùê íïíåîô ðòïéú-
                  ÷ïäéôóñ ÷÷ïä
        OFS     - òáúäåìéôåìø ðïìåê ðòé ÷ù÷ïäå (ðï õíïìþáîéà  -
                  ðòïâåì)
        ORS     - òáúäåìéôåìø úáðéóåê ðòé ÷ù÷ïäå (ðï  õíïìþáîéà
                  <NEW LINE>)
        OFMT    - æïòíáô ÷ù÷ïäá þéóåì (ðï õíïìþáîéà %.6g)

Ðòéíåòù.

1) ×ù÷åóôé óôòïëé æáêìá first, ÷ ëïôïòùè âïìåå 72 óéí÷ïìï÷

        awk 'length > 72' first

2) ×ù÷åóôé ðåò÷ùå ä÷á ðïìñ æáêìá second ÷ ïâòáôîïí ðïòñäëå

        awk '{ print $2, $1 }' second

3) Óìïöéôø þéóìá, óôïñýéå ÷ ðåò÷ïí óôïìâãå æáêìá third,  é  ÷ù-
   ÷åóôé óõííõ é óòåäîåå

   Ðåò÷ùê ÷áòéáîô:
   × æáêìå prog:

                { s += $1 }
        END     { print "sum is", s, "average is", s/NR }

   Ëïíáîäîáñ óôòïëá:

        awk -f prog third

   ×ôïòïê ÷áòéáîô:

awk '{ s += $1 } END { print "sum -",s,"average -",s/NR }' third

4) ×ù÷åóôé ðïìñ æáêìá fourth ÷ ïâòáôîïí ðïòñäëå

        awk '{ for (i = NF; i > 0; --i) print $i }' fourth

5) ×ù÷åóôé ÷óå óôòïëé æáêìá  fifth,  îáèïäñýéåóñ  íåöäõ  ðáòáíé
   start/stop

        awk '/start/,/stop/' fifth

6) ×ù÷åóôé ôå óôòïëé æáêìá sixth, õ ëïôïòùè ðåò÷ïå ðïìå îå óï÷-
   ðáäáåô ó ðåò÷ùí ðïìåí ðòåäùäõýåê óôòïëé

        awk '$1 != prev { print; prev = $1 }' sixth

7) Òáóðåþáôáôø æáêì seventh, ÷óôá÷ìññ îïíåò óôòáîéãù, îáþéîáñ ó
   ðñôïê, ðïóìå óìï÷á "Page"

   × æáêìå program:

        /Page/ { $2 = n++; }
               { print }

  Ëïíáîäîáñ óôòïëá:

        awk -f program n=5 seventh

        3.2. Áòéæíåôéþåóëéê ñúùë  äìñ  ÷ùþéóìåîéê.
          ó  ðòïéú÷ïìøîïê ôïþîïóôøà

Æïòíáô ëïíáîäù: bc [ -c ] [ -l ] [ <æáêì> ... ]

     bc - éîôåòáëôé÷îùê ðòïãåóóïò äìñ C-ðïäïâîïçï ñúùëá, ðïú÷ï-
ìñàýåçï ðòïéú÷ïäéôø áòéæíåôéëõ  îåïçòáîéþåîîïê  ôïþîïóôé.  ×÷ïä
ðòïéú÷ïäéôóñ éú õëáúáîîùè æáêìï÷, á úáôåí óï óôáîäáòôîïçï  ÷÷ï-
äá. Æìáç -l ïúîáþáåô ðïäëìàþåîéå íáôåíáôéþåóëïê âéâìéïôåëé  äìñ
ïðåòáãéê ðòïéú÷ïìøîïê ôïþîïóôé.
     Îéöå ïðéóù÷áåôóñ óéîôáëóéó ñúùëá bc. L ïúîáþáåô  ìàâõà  éú
âõë÷ [a-z], E - ÷ùòáöåîéå, S - ïðåòáôïò.

Ëïííåîôáòéé
        óôòïëé, úáëìàþåîîùå ÷ /* é */.
Éíåîá
        ðòïóôáñ ðåòåíåîîáñ: L
        üìåíåîô íáóóé÷á: L [ E ]
        óìï÷á "ibase","obase","scale"
Äòõçéå ïðåòáîäù
        þéóìá ðòïéú÷ïìøîïê äìéîù, ÷ïúíïöîï óï úîáëïí é äåóñôéþ-
        îïê ôïþëïê
        ( E )
        sqrt ( E )
        length ( E )    ëïìéþåóô÷ï úîáþáýéè äåóñôéþîùè ãéæò
        scale ( E )     ëïìéþåóô÷ï äåóñôéþîùè ãéæò ðïóìå  úáðñ-
                        ôïê
        L ( E, ..., E )
Ïðåòáãéé
        + - * / % ^     (% - ïóôáôïë, ^ - ÷ïú÷åäåîéå ÷ óôåðåîø)
        ++   --         (õ÷åìéþåîéå é õíåîøûåîéå îá 1; ðòåæéëó-
                        îùå é ðïóôæéëóîùå)
        == <= >= != <>
        = =+ =- =* =/ =%
Ïðåòáôïòù
        E
        { S; ... ; S }
        if ( E ) S
        while ( E ) S
        for ( E; E; E ) S
        ðõóôïê ïðåòáôïò
        break
        quit
Ïðòåäåìåîéå æõîëãéé
        define L ( L, ..., L ) {
                auto L, ..., L
                S; ...; S
                return ( E )
        }
Æõîëãéé, ïðòåäåìåîîùå ÷ -l âéâìéïôåëå:
        s(x)    - sin(x)
        c(x)    - cos(x)
        e(x)    - exp(x)
        l(x)    - ln(x)
        a(x)    - arctan(x)
        j(n,x)  - æõîëãéñ Âåóóåìñ

×óå áòçõíåîôù æõîëãéñí ðåòåäáàôóñ ðï úîáþåîéà.
     Úîáþåîéå ïðåòáôïòá,  ñ÷ìñàýåçïóñ  ÷ùòáöåîéåí,  ðåþáôáåôóñ,
åóìé ïî îå ñ÷ìñåôóñ þáóôøà ïðåòáôïòá ðòéó÷áé÷áîéñ.    Ïðåòáôïòù
íïçõô òáúäåìñôøóñ ëáë ; ôáë é <NEW  LINE>.  Ðòéó÷áé÷áîéå  scale
ïðòåäåìñåô ôïþîïóôø ÷ùðïìîåîéñ ïðåòáãéê. Ðòéó÷áé÷áîéå  ibase  é
obase ïðòåäåìñåô óéóôåíõ óþéóìåîéñ äìñ  ÷÷ïäá  é  ÷ù÷ïäá  óïïô-
÷åôóô÷åîîï.
     Ïäîá é ôá öå âõë÷á íïöåô  âùôø  ïäîï÷òåíåîîï  éóðïìøúï÷áîá
ëáë éíñ ðòïóôïê ðåòåíåîîïê, éíñ íáóóé÷á é éíñ æõîëãéé. ×óå  ðå-
òåíåîîùå  ñ÷ìñàôóñ  çìïâáìøîùíé.  Ðåòåíåîîùå,   ïðéóáîîùå   ëáë
"auto", óïúäáàôóñ ðòé ÷èïäå ÷ æõîëãéà. Ðòé éóðïìøúï÷áîéé íáóóé-
÷ï÷ ÷ ëáþåóô÷å áòçõíåîôï÷ æõîëãéê éìé ðòé ïðéóáîéé éè ëáë á÷ôï-
íáôéþåóëéè, úá éíåîåí íáóóé÷á íïçõô óìåäï÷áôø ðõóôùå ë÷áäòáôîùå
óëïâëé.
     bc - ðòåðòïãåóóïò äìñ dc, ëïôïòùê ïî  úáðõóëáåô  á÷ôïíáôé-
þåóëé, åóìé ôïìøëï îå õëáúáî æìáç -c (ôïìøëï ëïíðéìñãéñ).

     Ðòéíåò. ×ù÷åóôé sqrt(x) äìñ ðåò÷ùè 10 ãåìùè þéóåì.

/*      ïðòåäåìñåôóñ ôïþîïóôø ÷ùþéóìåîéê */
        scale = 20
/*      ïðòåäåìñåôóñ æõîëãéñ */
        define r(a) {
                auto x,y
                y = a + 1
                x = y + 1
                while ( y < x ) {
                        x = y
                        y = 0.5 * ( x + a / x )
                }
        return (y)
        }

/*      ÷ùþéóìñåôóñ úîáþåîéå */
        for ( i = 1; i <= 10; i++ ) r(i)
/*      ÷ùèïä */
        quit

Úáíåþáîéñ.
     Ïðåòáôïò for äïìöåî éíåôø ÷óå ôòé E.
     Quit éîôåòðòåôéòõåôóñ ðòé ÷÷ïäå, á îå ðòé ÷ùðïìîåîéé.

        3.3. chmod   Éúíåîåîéå ðòá÷ äïóôõðá ë æáêìáí.

Æïòíáô ëïíáîäù: chmod ðòá÷á æáêìù

     Òåöéí äïóôõðá ë õëáúáîîùí æáêìáí éúíåîñåôóñ ÷ óïïô÷åôóô÷éé
ó õëáúáîîùíé ðòá÷áíé. Ðòá÷á íïçõô âùôø õëáúáîù ÷ áâóïìàôîïí éìé
÷ óéí÷ïìøîïí ÷éäå.
     Áâóïìàôîùê ÷éä - ÷ïóøíåòéþîïå þéóìï, ñ÷ìñàýååóñ ìïçéþåóëéí
ÉÌÉ óìåäõàýéè òåöéíï÷:

        04000  - ðòé ÷ùðïìîåîéé ðåòåõóôáîï÷éôø UID ðïìøúï÷áôå-
                 ìñ  îá UID æáêìá
        02000  - ðòé ÷ùðïìîåîéé ðåòåõóôáîï÷éôø GID ðïìøúï÷áôå-
                 ìñ  îá GID æáêìá
        00400  - äïóôõðåî äìñ þôåîéñ ÷ìáäåìøãåí
        00200  - äïóôõðåî äìñ úáðéóé ÷ìáäåìøãåí
        00100  - äïóôõðåî äìñ ÷ùðïìîåîéñ ÷ìáäåìøãåí
        00040  - äïóôõðåî äìñ þôåîéñ þìåîáíé çòõððù
        00020  - äïóôõðåî äìñ úáðéóé þìåîáíé çòõððù
        00010  - äïóôõðåî äìñ ÷ùðïìîåîéñ þìåîáíé çòõððù
        00004  - äïóôõðåî äìñ þôåîéñ ðòïþéíé ðïìøúï÷áôåìñíé
        00002  - äïóôõðåî äìñ úáðéóé ðòïþéíé ðïìøúï÷áôåìñíé
        00001  - äïóôõðåî äìñ ÷ùðïìîåîéñ ðòïþéíé ðïìøúï÷áôåìñíé

     Îáðòéíåò, þôïâù õóôáîï÷éôø  ðòá÷á,  ðïú÷ïìñàýéå  ÷ìáäåìøãõ
þéôáôø é ðéóáôø ÷ æáêì, á þìåîáí çòõððù é ðòïþéí  ðïìøúï÷áôåìñí
ôïìøëï þéôáôø, îáäï óìïöéôø 0400, 0200, 0040 é 0004. Ôáëéí  ïâ-
òáúïí ëïíáîäá âõäåô éíåôø ÷éä:

        chmod 644 file

     Óéí÷ïìøîùê ÷éä:

        [ <ëïíõ> ] <ïðåò> <ðòá÷ï>

     Þáóôø <ëïíõ> åóôø ëïíâéîáãéñ âõë÷ u (÷ìáäåìåã), g (çòõððá)
é o (ðòïþéå). Åóìé þáóôø <ëïíõ> ïðõýåîá éìé õëáúáîï a,  ôï  üôï
üë÷é÷áìåîôîï ugo.
     <ïðåò> íïöåô âùôø: + - òáúòåûéôø ðòá÷ï äïóôõðá, - - úáðòå-
ôéôø ðòá÷ï äïóôõðá, = - úáðòåôéôø ÷óå ðòá÷á äïóôõðá äìñ õëáúáî-
îùè ëáôåçïòéê ðïìøúï÷áôåìåê.
     <ðòá÷ï> - ìàâáñ ëïíâéîáãéñ éú âõë÷ r (þéôáôø), w (ðéóáôø),
x (÷ùðïìîñôø), s (õóôáîá÷ìé÷áôø UID éìé  GID).  Ïðõóôéôø  þáóôø
<ðòá÷ï> íïöîï ôïìøëï åóìé <ïðåò> åóôø  =  äìñ  úáðòåýåîéñ  ÷óåè
ðòá÷.
     Åóìé îáäï óäåìáôø âïìåå ïäîïçï õëáúáîéñ ïâ éúíåîåîéé ðòá÷,
ôï, ðòé éóðïìøúï÷áîéé óéí÷ïìøîïçï óðïóïâá úáäáîéñ ðòá÷ äïóôõðá,
÷ <ðòá÷á> îå äïìöîï âùôø ðòïâåìï÷, á õëáúáîéñ äïìöîù òáúäåìñôø-
óñ úáðñôùíé. Îáðòéíåò, ëïíáîäá

        chmod u+w,go+x file

äïâá÷éô äìñ ÷ìáäåìøãá ðòá÷ï ðéóáôø ÷ æáêì, á äìñ þìåîï÷  çòõððù
é ðòïþéè ðïìøúï÷áôåìåê - ðòá÷ï ÷ùðïìîñôø æáêì. Ðòá÷á õóôáîá÷ìé-
÷áàôóñ ÷ õëáúáîîïê ðïóìåäï÷áôåìøîïóôé (óìå÷á îáðòá÷ï).
     Éúíåîéôø ðòá÷á äïóôõðá ë æáêìõ íïöåô ôïìøëï  åçï  ÷ìáäåìåã
(éìé óõðåòðïìøúï÷áôåìø). Äìñ ðòïóíïôòá ðòá÷ äïóôõðá é  ëïîôòïìñ
ðòé éè éúíåîåîéé éóðïìøúõêôå ëïíáîäõ

        ls -l file

(ðòá÷á ðåòåõóôáîï÷ëé UID é GID ïôíåþáàôóñ âõë÷ïê s îá íåóôå óï-
ïô÷åôóô÷õàýåê âõë÷ù x: íáìåîøëïê âõë÷ïê s, åóìé óïïô÷åôóô÷õàýáñ
ëáôåçïòéñ ðïìøúï÷áôåìåê éíååô ðòá÷ï x, é âïìøûïê S  -  åóìé  îå
éíååô).
     Ðòéíåòù. Ðõóôø æáêì file éíååô ðòá÷á: -rw-rw-rw-, ôï åóôø
äïóôõðåî ÷óåí îá þôåîéå é úáðéóø.
1) Úáðòåôéôø úáðéóø ÷ æáêì äìñ ðòïþéè ðïìøúï÷áôåìåê

        chmod o-w file

        ( -rw-rw-r-- )

2) Óäåìáôø æáêì ÷ùðïìîñåíùí

        chmod +x file

        ( -rwxrwxr-x )

3) Ìéûéôø þìåîï÷ çòõððù ÷óåè ðòá÷ îá äïóôõð ë æáêìõ, úá  éóëìà-
   þåîéåí þôåîéñ

        chmod g=+r file

        ( -rwx-w-r-x )

4) Òáúòåûéôø ðåòåõóôáîá÷ìé÷áôø UID ðïìøúï÷áôåìñ îá UID æáêìá

        chmod u+s file

        ( -rws-w-r-x )

        3.4. Óòá÷îåîéå óïäåòöéíïçï ä÷õè æáêìï÷.

Æïòíáô ëïíáîäù: cmp [-l] [-s] file1 file2

     Óòá÷îé÷áàôóñ æáêìù file1 é file2 (åóìé file1 úáíåîåî  úîá-
ëïí -, ôï éóðïìøúõåôóñ óôáîäáòôîùê ÷÷ïä). Ðï õíïìþáîéà, cmp  îå
äáåô îéëáëéè óïïâýåîéê, åóìé æáêìù óï÷ðáäáàô; åóìé æáêìù  ïôìé-
þáàôóñ, ôï óïïâýáàôóñ îïíåò óôòïëé é ðïúéãéñ ÷ îåê,  ÷  ëïôïòïê
îáèïäéôóñ ðåò÷ùê îåóï÷ðáäáàýéê óéí÷ïì. Åóìé ïäéî éú æáêìï÷  ñ÷-
ìñåôóñ îáþáìïí äòõçïçï, ôï ÷ùäáåôóñ óïïâýåîéå:

        cmp: EOF on <éíñ æáêìá>

çäå <éíñ æáêìá> - âïìåå ëïòïôëéê æáêì.
     Îáúîáþåîéå ëìàþåê:

-l      - ÷ù÷åóôé îïíåò âáêôá (äåóñôéþîïå) é òáúìéþáàýéåóñ âáê-
          ôù (÷ïóøíåòéþîïå) äìñ ëáöäïçï îåóïïô÷åôóô÷éñ
-s      - îéþåçï îå ðåþáôáôø, á ôïìøëï  ÷åòîõôø  ëïä  ÷ïú÷òáôá:
          åóìé æáêìù óï÷ðáäáàô - 0, åóìé òáúìéþáàôóñ - 1,  åóìé
          ðòïðõýåî áòçõíåîô éìé äïóôõð äìñ þôåîéñ ë  ïäîïíõ  éú
          æáêìï÷ úáðòåýåî - 2.

        3.5. Ðïóôòïþîïå óòá÷îåîéå ä÷õè ôåëóôï÷ùè æáêìï÷.

Æïòíáô ëïíáîäù: comm [ - [ 123 ] ] file1 file2

     Comm þéôáåô æáêìù file1 é file2 é ÷ù÷ïäéô òåúõìøôáôù ÷ ôòé
ëïìïîëé:
        1. Óôòïëé, éíåàýéåóñ ôïìøëï ÷ file1
        2. Óôòïëé, éíåàýéåóñ ôïìøëï ÷ file2
        3. Óôòïëé, éíåàýéåóñ ÷ ïâïéè æáêìáè
Úîáë - îá íåóôå éíåîé æáêìá ïúîáþáåô óôáîäáòôîùê ÷÷ïä.
     Æìáçé 1,2 éìé 3 ðïäá÷ìñàô ÷ù÷ïä  óïïô÷åôóô÷õàýéè  ëïìïîïë.
Ôáë, comm -12 ÷ù÷ïäéô óôòïëé, ïâýéå äìñ ä÷õè æáêìï÷; comm -23 -
éíåàýéåóñ ôïìøëï ÷ file1, îï ïôóõôóô÷õàýéå ÷ file2;  comm  -123
îå ÷ù÷ïäéô îéþåçï.

        3.6. Ðòïóôùå áòéæíåôéþåóëéå ÷ùþéóìåîéñ ó ðòïéú÷ïìøîïê ôïþîïóôøà.

Æïòíáô ëïíáîäù: dc [ æáêì ]

     dc - ðáëåô äìñ áòéæíåôéþåóëéè  ÷ùþéóìåîéê  ó  ðòïéú÷ïìøîïê
ôïþîïóôøà. Ïâùþîï ïî ïðåòéòõåô ÷ äåóñôéþîïê óéóôåíå  ó  ãåìùíé,
ïäîáëï íïöîï úáäáôø óéóôåíù óþéóìåîéñ äìñ  ÷÷ïäá,  äìñ  ÷ù÷ïäá,
ôïþîïóôø ÷ùþéóìåîéê. Ïâýáñ óôòõëôõòá dc - óôåëï÷ùê ëáìøëõìñôïò,
éóðïìøúõàýéê ïâòáôîõà ðïìøóëõà úáðéóø. Åóìé áòçõíåîô õëáúáî, ôï
óîáþáìá ÷÷ïä ðòïéú÷ïäéôóñ éú æáêìá,  á  ðïôïí  éú  óôáîäáòôîïçï
÷÷ïäá.
     bc, ðòåðòïãåóóïò äìñ dc, ðïääåòöé÷áåô éîæéëóîõà îïôáãéà  é
C-ðïäïâîùê óéîôáëóéó  äìñ  ïðòåäåìåîéñ  æõîëãéê  é  õðòá÷ìñàýéè
óôòõëôõò ÷ ðòïçòáííáè (óí. 3.2).
     dc òáóðïúîáåô óìåäõàýéå ëïîóôòõëãéé:

<þéóìï> - úîáþåîéå þéóìá ðïíåýáåôóñ ÷ óôåë. <þéóìï> - îåðòåòù÷-
          îáñ óôòïëá ãéæò 0-9. × îáþáìå åå  íïöåô  óôïñôø  úîáë
          ðïäþåòëé÷áîéñ (_)  äìñ  ÷÷ïäá  ïôòéãáôåìøîïçï  þéóìá.
          <þéóìï> íïöåô óïäåòöáôø äåóñôéþîõà ôïþëõ.

+-/*%^  - ÷åòèîéå ä÷á þéóìá óôåëá óëìáäù÷áàôóñ (+),  ÷ùþéôáàôóñ
          (-), õíîïöáàôóñ (*), âåòåôóñ ïóôáôïë (%)  éìé  ÷ôïòïå
          ïô ÷åòûéîù þéóìï ÷ïú÷ïäéôóñ ÷  óôåðåîø,  ïðòåäåìñåíõà
          þéóìïí, îáèïäñýéíóñ ÷  ÷åòûéîå  óôåëá.  Ïâá  ïðåòáîäá
          éú÷ìåëáàôóñ éú óôåëá é òåúõìøôáô ðïíåýáåôóñ ïâòáôîï ÷
          óôåë. Ðïëáúáôåìø óôåðåîé äïìöåî âùôø ãåìùí þéóìïí.
sx      - éú÷ìåëáåôóñ ÷åòûéîá óôåëá é ðïíåýáåôóñ  ÷  òåçéóôò  ó
          éíåîåí x, çäå x - ìàâïê óéí÷ïì. Åóìé õëáúáîï S, ôï  x
          òáóóíáôòé÷áåôóñ ëáë óôåë é òåúõìøôáô ðïíåýáåôóñ ÷ åçï
          ÷åòûéîõ.
lx      - úîáþåîéå, èòáîñýååóñ ÷ òåçéóôòå x, ðïíåýáåôóñ ÷ óôåë.
          Òåçéóôò x îå íåîñåôóñ. Éúîáþáìøîï ÷óå òåçéóôòù éîéãé-
          áìéúéòõàôóñ îõìåí. Åóìé õëáúáîï L, ôï  òåçéóôò  òáóó-
          íáôòé÷áåôóñ ëáë óôåë é åçï ÷åòûéîá éú÷ìåëáåôóñ é  ðï-
          íåýáåôóñ ÷ çìá÷îùê óôåë.
d       - ÷åòûéîá óôåëá õä÷áé÷áåôóñ
p       - ÷ù÷ïäéôóñ ÷åòûéîá óôåëá (îå éúíåîññóø).  P  éú÷ìåëáåô
          ÷åòûéîõ óôåëá é ÷ù÷ïäéô åå ëáë óôòïëõ.
f       - ðåþáôáåô ÷óå üìåíåîôù óôåëá.
q       - úá÷åòûáåô òáâïôõ ðòïçòáííù.
x       - ÷åòûéîá óôåëá òáóóíáôòé÷áåôóñ ëáë ëïíáîäá äìñ dc    é
          ÷ùðïìîñåôóñ
X       - ÷åòûéîá óôåëá úáíåîñåôóñ ëïìéþåóô÷ïí ãéæò ÷ îåê ðïóìå
          úáðñôïê
[ ... ] - óôòïëá, úáëìàþåîîáñ ÷ óëïâëé,  ðïíåýáåôóñ  ÷  ÷åòûéîõ
          óôåëá.
<x >x =x -ä÷á ÷åòèîéè üìåíåîôá óôåëá éú÷ìåëáàôóñ é  óòá÷îé÷áàô-
          óñ. Åóìé ïîé õäï÷ìåô÷ïòñàô õëáúáîîïíõ õóìï÷éà, ôï óï-
          äåòöéíïå òåçéóôòá x òáóóíáôòé÷áåôóñ ëáë ëïíáîäá dc  é
          ÷ùðïìîñåôóñ.
v       - ÷åòèîéê üìåíåîô óôåëá úáíåîñåôóñ ë÷áäòáôîùí ëïòîåí éú
          îåçï. Åóìé ïî âùì ãåìùí, ôï ëïòåîø ôáëöå ïëòõçìñåôóñ.
!       - ïóôáìøîáñ þáóôø óôòïëé éîôåòðòåôéòõåôóñ  ëáë  ëïíáîäá
          shellá
c       - ïþéóôéôø óôåë
i       - ÷åòûéîá óôåëá éú÷ìåëáåôóñ é éóðïìøúõåôóñ ëáë  ïóîï÷á-
          îéå óéóôåíù óþéóìåîéñ ðòé ÷÷ïäå. I ðïíåýáåô éóðïìøúõ-
          åíïå ðòé ÷÷ïäå ïóîï÷áîéå óéóôåíù óþéóìåîéñ ÷  ÷åòûéîõ
          óôåëá.
o       - ÷åòûéîá óôåëá éú÷ìåëáåôóñ é éóðïìøúõåôóñ ëáë  ïóîï÷á-
          îéå óéóôåíù óþéóìåîéñ ðòé ÷ù÷ïäå. O ðïíåýáåô  éóðïìø-
          úõåíïå ðòé ÷ù÷ïäå ïóîï÷áîéå óéóôåíù óþéóìåîéñ ÷  ÷åò-
          ûéîõ óôåëá.
k       - éú÷ìåëáåôóñ ÷åòûéîá óôåëá é éóðïìøúõåôóñ ëáë  îåïôòé-
          ãáôåìøîùê  íáóûôáâîùê  íîïöéôåìø:  ëïìéþåóô÷ï  úîáëï÷
          ðïóìå úáðñôïê ðòé ÷ù÷ïäå, ðòé  õíîïöåîéé,  äåìåîéé  é
          ÷ïú÷åäåîéé ÷ óôåðåîø.
z       - ÷ óôåë ðïíåýáåôóñ ëïìéþåóô÷ï åçï üìåíåîôï÷
Z       - þéóìï ÷ ÷åòûéîå óôåëá úáíåîñåôóñ åçï äìéîïê (âåú õþå-
          ôá äåóñôéþîïê ôïþëé é úîáëá íéîõó).
?       - óï óôáîäáòôîïçï ÷÷ïäá ÷÷ïäéôóñ ïäîá óôòïëá é éóðïìîñ-
          åôóñ.

Ðòéíåò. ×ù÷åóôé ðåò÷ùå 10 úîáþåîéê n!

        [la1+dsa*pla10>y]sy
        0sa1
        lyx

Óïïâýåîéñ

x is unimplemented      - x - ÷ïóøíåòéþîïå úîáþåîéå
stack empty             - ÷ óôåëå íåîøûå üìåíåîôï÷, þåí  ôòåâõ-
                          åôóñ
Out of pushdown         - óôåë ðåòåðïìîåî
Nesting Depth           - óìéûëïí âïìøûïê õòï÷åîø ÷ìïöåîîïóôé

        3.7. ×ù÷åóôé áòçõíåîôù ëïíáîäîïê óôòïëé îá óôáîäáòôîùê ÷ù÷ïä.

     Ëïíáîäá echo ÷ù÷ïäéô îá óôáîäáòôîùê ÷ù÷ïä ó÷ïé  áòçõíåîôù,
òáúäåìññ éè ðòïâåìáíé é úáëáîþé÷áñ óôòïëõ <NEW LINE>. Ëòïíå ôï-
çï, ðïääåòöé÷áàôóñ óìåäõàýéå äïçï÷ïòåîîïóôé:

        \b      - õóôáîï÷éôø ëõòóïò ÷ ìå÷ùê ÷åòèîéê õçïì üëòáîá
        \c      - îå úáëáîþé÷áôø óôòïëõ <NEW LINE>
        \f      - ëïîåã óôòáîéãù
        \n      - ðåòå÷ïä óôòïëé
        \r      - ÷ïú÷òáô ëáòåôëé
        \\      - âüëóìåû
        \0xx    - ïô ïäîïê äï ôòåè ÷ïóøíåòéþîùè ãéæò, ó 0 ÷ îá-
                  þáìå, ðòåäóôá÷ìñàýéå ëïä ASCII óéí÷ïìá

        3.8. Òáúìïöåîéå ãåìïçï þéóìá îá ðòïóôùå óïíîïöéôåìé.

Æïòíáô ëïíáîäù: factor [ <þéóìï> ]

     Ðòé úáðõóëå âåú áòçõíåîôï÷ ÷÷ïäéô  þéóìá  éú  óôáîäáòôîïçï
÷÷ïäá. Íáëóéíáìøîï äïðõóôéíïå þéóìï - 2ƒµƒ¶  (~  7.2*10ƒ±ƒ¶).  ×÷ïä
ïôòéãáôåìøîùè þéóåì ðòé÷ïäéô ë óïïâýåîéà:

        Ouch!

á îåþéóìï÷ùè óéí÷ïìï÷ ë úá÷åòûåîéà ðòïçòáííù.
     ×òåíñ ÷ùþéóìåîéê ðòïðïòãéïîáìøîï ëïòîà éú þéóìá  é  íáëóé-
íáìøîï, åóìé þéóìï ñ÷ìñåôóñ ðòïóôùí éìé ë÷áäòáôïí ðòïóôïçï.

        3.9. Ïðòåäåìåîéå ôéðá æáêìá.

Æïòíáô ëïíáîäù: file [ -f ffile ] <áòçõíåîô> ...

     Ëïíáîäá file ðòï÷ïäéô óåòéà ôåóôï÷ äìñ ëáöäïçï  áòçõíåîôá,
óþéôáñ åçï éíåîåí æáêìá,  ðùôáñóø  ëìáóóéæéãéòï÷áôø  åçï.  Åóìé
æáêì ôåëóôï÷ùê, ôï file ðùôáåôóñ ðï ðåò÷ùí 512  âáêôáí  ïðòåäå-
ìéôø ñúùë ðòïçòáííéòï÷áîéñ.
     Ðòé úáäáîéé æìáçá -f óìåäõàýéê úá îéí æáêì  äïìöåî  óïäåò-
öáôø óðéóïë æáêìï÷, ðïäìåöáýéè éóóìåäï÷áîéà.

        3.10. Ðïéóë æáêìï÷.

Æïòíáô ëïíáîäù: find <óðéóïë ðïéóëá> <÷ùòáöåîéå>

     Find òåëõòóé÷îï ðòïóíáôòé÷áåô äéòåëôïòéé äìñ ëáöäïçï  üìå-
íåîôá óðéóëá ðïéóëá, ïôùóëé÷áñ æáêìù, õäï÷ìåô÷ïòñàýéå  ìïçéþåó-
ëïíõ <÷ùòáöåîéà>, úáðéóáîîïíõ ó ðïíïýøà ðòé÷åäåîîùè îéöå ðòéíé-
ôé÷ï÷. × éè ïðéóáîéñè n éóðïìøúõåôóñ ëáë ãåìïå äåóñôéþîïå  þéó-
ìï, +n ïúîáþáåô âïìøûå, þåí n, -n - íåîøûå, þåí n.

-name <æáêì>    éóôéîá, åóìé ôåëõýéê æáêì õäï÷ìåô÷ïòñåô ûáâìïîõ
                <æáêì>
-perm onum      éóôéîá, åóìé ëïä úáýéôù æáêìá ÷ ôïþîïóôé  òá÷åî
                onum (óí. chmod)
-type c         éóôéîá, åóìé ôéð æáêìá c, çäå c - b, c,  d,  p,
                éìé f - âìïë- éìé óéí÷ïìøîïïòéåîôéòï÷áîîùê óðå-
                ãéáìøîùê æáêì,  äéòåëôïòéñ,  ëáîáì  (pipe)  éìé
                ïâùþîùê æáêì
-links n        éóôéîá, åóìé æáêì éíååô n ó÷ñúåê
-user uname     éóôéîá, åóìé UID æáêìá óï÷ðáäáåô ó uname
-group gname    éóôéîá, åóìé GID æáêìá óï÷ðáäáåô ó gname
-size n[c]      éóôéîá, åóìé æáêì úáîéíáåô  n  âìïëï÷  (ðï  512
                âáêô). Åóìé õëáúáîá âõë÷á c,  ôï  òáúíåò  æáêìá
                úáäáåôóñ ÷ óéí÷ïìáè
-atime n        éóôéîá, åóìé æáêì îå þéôáìóñ ÷ ðïóìåäîéå n äîåê
-mtime n        éóôéîá, åóìé æáêì îå íïäéæéãéòï÷áìóñ ÷  ðïóìåä-
                îéå n äîåê
-ctime n        éóôéîá, åóìé ðòá÷á äïóôõðá ë æáêìõ îå  íåîñìéóø
                ÷ ðïóìåäîéå n äîåê
-exec cmd       éóôéîá, åóìé ðïóìå ÷ùðïìîåîéñ ëïíáîäù cmd ÷ïú÷-
                òáýáåôóñ îõìå÷ïê ëïä ÷ïú÷òáôá. Cmd íïöåô úáëáî-
                þé÷áôøóñ ôïþëïê ó úáðñôïê, ëïôïòáñ äïìöîá  âùôø
                üëòáîéòï÷áîá. Áòçõíåîô  ëïíáîäù  {}  úáíåîñåôóñ
                éíåîåí ôåëõýåçï æáêìá
-ok cmd         ôï öå, þôï é exec, úá éóëìàþåîéåí ôïçï, þôï
                ðåòåä ÷ùðïìîåîéåí cmd úáðòáûé÷áåôóñ ðïäô÷åòöäå-
                îéå é cmd ÷ùðïìîñåôóñ ôïìøëï ðòé ïô÷åôå y
-print          ÷óåçäá éóôéîá; ÷ù÷ïäéô éíñ æáêìá
(÷ùòáöåîéå)     éóôéîá, åóìé éóôéîîï úáëìàþåîîïå ÷ óëïâëé ÷ùòá-
                öåîéå (óëïâëé äïìöîù âùôø üëòáîéòï÷áîù)

     Ðòéíéôé÷ù íïçõô ëïíâéîéòï÷áôøóñ ó ðïíïýøà óìåäõàýéè ïðåòá-
ãéê (÷ ðïòñäëå õíåîøûåîéñ ðòéïòéôåôá):

1) Ïôòéãáîéå (! - õîáòîáñ ïðåòáãéñ NOT)
2) Ëïîëáôåîáãéñ (ïðåòáãéñ AND, ïâïúîáþáåôóñ ðòïâåìïí)
3) ×ùâïò (-ï - ïðåòáãéñ OR)

     Ðòéíåò. Õäáìéôø ÷óå æáêìù ó éíåîáíé a.out éìé *.o, ëïôïòùå
îå ïôëòù÷áìéóø ÷ ôåþåîéå îåäåìé:

find / \( -name a.out -o -name '*.o' \) -atime +7 -exec rm {} \;

        3.11. Ëïîôåëóôîùê ðïéóë ÷ ôåëóôï÷ïí æáêìå.

     Ëïîôåëóôîùê ðïéóë ÷ ôåëóôï÷ïí æáêìå ÷ùðïìîñàô ôòé ðòïçòáí-
íù: grep, egrep é fgrep.

Æïòíáô ëïíáîä:
        grep  [ æìáçé ] ÷ùòáöåîéå     [ æáêìù ]
        egrep [ æìáçé ] [ ÷ùòáöåîéå ] [ æáêìù ]
        fgrep [ æìáçé ] [ óôòïëé ]    [ æáêìù ]

     Ëïíáîäù ðòïóíáôòé÷áàô ÷èïäîùå æáêìù  (ðï  õíïìþáîéà  óôáî-
äáòôîùê ÷÷ïä) ÷ ðïéóëå óôòïë, õäï÷ìåô÷ïòñàýéè ûáâìïîõ.  Ïâùþîï,
ëáöäáñ îáêäåîîáñ óôòïëá ëïðéòõåôóñ ÷ óôáîäáòôîùê ÷ù÷ïä. Ûáâìïîù
äìñ grep íïçõô âùôø ôïìøëï òåçõìñòîùíé  ÷ùòáöåîéñíé  (óí.  "Éî-
ôåòðòåôáôïò ëïíáîäîïçï ñúùëá shell); ïî  éóðïìøúõåô  ëïíðáëôîùê
îåäåôåòíéîéòï÷áîîùê áìçïòéôí. egrep éóðïìøúõåô âùóôòùê äåôåòíé-
îéòï÷áîîùê áìçïòéôí é ðïääåòöé÷áåô ÷  ëáþåóô÷å  ûáâìïîï÷  âïìåå
óï÷åòûåîîùå òåçõìñòîùå ÷ùòáöåîéñ. Ûáâìïîù ÷ óíùóìå fgrep  ñ÷ìñ-
àôóñ óôòïëï÷ùíé ëïîóôáîôáíé; fgrep âùóôò é ëïíðáëôåî.
     Ðòïçòáííáíé ïâòáâáôù÷áàôóñ óìåäõàýéå æìáçé:

-v      ÷ù÷ïäñôóñ ÷óå óôòïëé, ëòïíå õäï÷ìåô÷ïòñàýéè ûáâìïîõ
-x      ÷ù÷ïäñôóñ ôïìøëï õäï÷ìåô÷ïòñàýéå ûáâìïîõ óôòïëé (ôïìøëï
        äìñ fgrep)
-c      ÷ù÷ïäéôóñ  ôïìøëï  ëïìéþåóô÷ï  õäï÷ìåô÷ïòñàýéè  ûáâìïîõ
        óôòïë
-i      ðòé óòá÷îåîéé óþéôáôø âïìøûéå é íáìåîøëéå âõë÷ù  óï÷ðá-
        äáàýéíé
-l      ÷ù÷ïäéôø ôïìøëï éíåîá æáêìï÷, ÷ ëïôïòùè åóôø õäï÷ìåô÷ï-
        òñàýéå ûáâìïîõ óôòïëé
-n      ðåòåä ëáöäïê óôòïëïê óôá÷éôø åå îïíåò ÷ æáêìå
-b      ðåòåä ëáöäïê óôòïëïê óôá÷éôø îïíåò âìïëá, ÷ ëïôïòïí ïîá
        îáêäåîá. Üôï éóðïìøúõåôóñ äìñ ïðòåäåìåîéñ âìïëá îá äéó-
        ëå ðï ëïîôåëóôõ
-s      ðïäá÷ìñôø óïïâýåîéñ ïâ ïûéâëáè,  ôéðá  "îåóõýåóô÷õàýéê"
        éìé "úáëòùôùê äìñ þôåîéñ æáêì" (ôïìøëï äìñ grep)
-e ÷ùòáöåîéå
        ôï öå óáíïå, þôï é ïäéîïþîùê áòçõíåîô  <÷ùòáöåîéå>,  îï
        õäïâîï, åóìé <÷ùòáöåîéå> îáþéîáåôóñ óï úîáëá - (îå  òá-
        âïôáåô ó grep)
-f æáêì
        òåçõìñòîïå ÷ùòáöåîéå (egrep) éìé óðéóïë  óôòïë  (fgrep)
        þéôáàôóñ éú æáêìá

     ×ï ÷óåè óìõþáñè, éíñ æáêìá, ÷ ëïôïòïí åóôø õäï÷ìåô÷ïòñàýéå
ûáâìïîõ óôòïëé, ÷ù÷ïäéôóñ. Äìñ üëòáîéòï÷áîéñ óéí÷ïìï÷ $, *,  [,
^, |, (, ) é \ ìõþûå ÷óåçï úáëìàþáôø  <÷ùòáöåîéå>  ÷  ïäéîáòîùå
ëá÷ùþëé '...'.
     fgrep éýåô óôòïëé, óïäåòöåýéå ïäîõ éú <óôòïë>.
     egrep òáóóíáôòé÷áåô òåçõìñòîùå ÷ùòáöåîéñ  ôáë  öå,  ëáë  é
shell (óí.) (ëòïíå \( é \) ), îï, ëòïíå ôïçï:

1. Òåçõìñòîïå ÷ùòáöåîéå, úáëáîþé÷áàýååóñ úîáëïí +, ïúîáþáåô ïä-
îï éìé âïìåå ÷èïöäåîéå åçï ÷ òåçõìñòîïå ÷ùòáöåîéå.
2. Òåçõìñòîïå ÷ùòáöåîéå, úáëáîþé÷áàýååóñ úîáëïí ?, ïúîáþáåô ïä-
îï éìé îé ïäîïçï ÷èïöäåîéå åçï ÷ òåçõìñòîïå ÷ùòáöåîéå.
3. Ä÷á òåçõìñòîùè ÷ùòáöåîéñ, òáúäåìåîîùå úîáëïí | éìé <NEW  LI-
NE>, õäï÷ìåô÷ïòñàô óôòïëå, ëïôïòïê õäï÷ìåô÷ïòñåô ïäéî éú îéè.
4. Òåçõìñòîïå ÷ùòáöåîéå äìñ çòõððéòï÷áîéñ íïöåô  úáëìàþáôøóñ  ÷
óëïâëé.
     egrep îå ïâòáâáôù÷áåô ëïîóôòõëãéé ôéðá [a-z].
     Åóìé âùìá ðïìõþåîá èïôñ âù  ïäîá  óôòïëá,  õäï÷ìåô÷ïòñàýáñ
ûáâìïîõ, ÷ïú÷òáýáåôóñ ëïä úá÷åòûåîéñ 0, åóìé îå îáêäåîï îé  ïä-
îïê ôáëïê óôòïëé - 1, ðòé îáìéþéé óéîôáëóéþåóëéè ïûéâïë éìé ðòé
îáìéþéé æáêìá, îåäïóôõðîïçï äìñ þôåîéñ, (äáöå åóìé âùìé îáêäåîù
õäï÷ìåô÷ïòñàýéå ûáâìïîõ óôòïëé) - 2.

        3.12. Ïðòåäåìåîéå éäåîôéæéëáôïòá ðïìøúï÷áôåìñ é.
              éäåîôéæéëáôïòá çòõððù

Æïòíáô ëïíáîäù: id

     Ëïíáîäá id ÷ùäáåô îá óôáîäáòôîùê ÷ù÷ïä óïïâýåîéå, óïäåòöá-
ýåå UID, GID é óïïô÷åôóô÷õàýéå ôåëóôï÷ùå éíåîá   äìñ   ôåëõýåçï
ðòïãåóóá.

        3.13. Á÷áòéêîïå úá÷åòûåîéå ðòïãåóóá.

Æïòíáô ëïíáîäù: kill [ -<îïíåò óéçîáìá> ] pid ...

     kill ðïóùìáåô óéçîáì 15 õëáúáîîïíõ ðòïãåóóõ. Ôáëéí  óðïóï-
âïí ïâùþîï íïöîï úá÷åòûéôø ðòïãåóó, ëïôïòùê îå ïôìá÷ìé÷áåô  éìé
îå éçîïòéòõåô óéçîáìù. Îïíåòá ðòïãåóóï÷ íïöîï õúîáôø ðï ëïíáîäå
ps (óí. 3.14). Îïíåò áóéîèòïîîï úáðõýåîîïçï ðòïãåóóá óïïâýáåôóñ
shellïí ðòé åçï úáðõóëå.
     Ðòïãåóó, ëïôïòïíõ ðïóùìáåôóñ óéçîáì,  äïìöåî  ðòéîáäìåöáôø
ðïìøúï÷áôåìà. Åóìé îïíåò óéçîáìá õëáúáî ñ÷îï, ôï ÷íåóôï óéçîáìá
15 ðïóùìáåôóñ ïî. Ëïíáîäá

        kill -9 ...

õâé÷áåô ðòïãåóó, åóìé, ëïîåþîï, äìñ õâéêóô÷á è÷áôáåô ðòá÷.
(Ï îïíåòáè óéçîáìï÷ óí. "Éîôåòðòåôáôïò ëïíáîäîïçï ñúùëá shell")

        3.14. Éîæïòíáãéñ ï óïóôïñîéé ðòïãåóóï÷.

Æïòíáô ëïíáîäù: ps [ æìáçé ]

     ps ÷ù÷ïäéô éîæïòíáãéà ïâ áëôé÷îùè ðòïãåóóáè. Ðï õíïìþáîéà,
éîæïòíáãéñ äáåôóñ ôïìøëï ï ðòïãåóóáè, áóóïãééòï÷áîîùè ó  äáîîùí
ôåòíéîáìïí. Ëïíáîäïê ps ïâòáâáôù÷áàôóñ óìåäõàýéå æìáçé:

-e      ÷ù÷ïóôé éîæïòíáãéà ïâï ÷óåè ðòïãåóóáè
-f      çåîåòéòï÷áôø ðïìîùê ìéóôéîç
-l      çåîåòéòï÷áôø ìéóôéîç ÷ äìéîîïí æïòíáôå
-t <ôåòíéîáì>
        ÷ù÷ïäéôø éîæïòíáãéà ôïìøëï  ï  ðòïãåóóáè,  ó÷ñúáîîùè  ó
        <ôåòíéîáìïí> ( <ôåòíéîáì>, üôï tty° éìé console)
-p <ðòïãåóó>
        ÷ù÷ïäéôø éîæïòíáãéà ôïìøëï  ïâ õëáúáîîïí ðòïãåóóå
-u <UID>
        ÷ù÷ïäéôø éîæïòíáãéà ôïìøëï ï  ðòïãåóóáè,  þåê  UID  éìé
        ÷èïäîïå éíñ ðïìøúï÷áôåìñ õëáúáîï
-g <GID>
        ÷ù÷ïäéôø éîæïòíáãéà ôïìøëï  ï  ðòïãåóóáè,  GID  ëïôïòùè
        õëáúáîï

     Îéöå ðòé÷ïäñôóñ úáçïìï÷ëé ëïìïîïë ìéóôéîçá  é  ïâ®ñóîñåôóñ
éè óïäåòöéíïå; âõë÷ù l é f ïúîáþáàô, ðïñ÷ìñåôóñ ìé üôá  ëïìïîëá
ðòé äìéîîïí éìé ðïìîïí æïòíáôå ìéóôéîçá; all ïúîáþáåô, þôï äáî-
îáñ ëïìïîëá ÷ù÷ïäéôóñ ðòé ìàâùè úîáþåîéñè ëìàþåê.

F       (l)     æìáçé (÷ïóøíåòéþîùå), óõííá ëïôïòùè äáåô óìåäõ-
                àýéå ó÷åäåîéñ ï ðòïãåóóå:
                        01 ÷ ðáíñôé
                        02 óéóôåíîùê ðòïãåóó
                        04 ÷ ïöéäáîéé  úá÷åòûåíéñ  ÷÷ïäá-÷ù÷ïäá
                           ðòïãåóó æéëóéòï÷áî ÷ ðáíñôé
                        10 ó÷ïððéòï÷áî
                        20 ôòáóóéòõåôóñ äòõçéí ðòïãåóóïí
                        40 äòõçéå æìáçé ôòáóóéòï÷ëé
S       (l)     Óôáôõó ðòïãåóóá:
                        0  îå óõýåóô÷õåô
                        S  óðñýéê ðòïãåóó
                        W  öäõýéê ðòïãåóó
                        R  ÷ùðïìîñàýéêóñ ðòïãåóó
                        I  ÷ùðïìîñåôóñ  ðòåòù÷áåíùê   óéóôåíîùê
                           ÷ùúï÷
                        Z  úá÷åòûåîîùê ðòïãåóó
                        T  ïóôáîï÷ìåîîùê (stopped) ðòïãåóó
                        X  ðòïãåóó úáëáþé÷áåôóñ ÷ ðáíñôø
UID     (f,l)   UID ÷ìáäåìøãá ðòïãåóóá; éíñ ÷èïäá ÷ óéóôåíõ ÷ù-
                ÷ïäéôóñ ðòé õëáúáîéé ïðãéé -f
PID     (all)   îïíåò ðòïãåóóá
PPID    (f,l)   îïíåò ðòïãåóóá-ðòåäëá
C       (f,l)   éóðïìøúï÷áîéå ðòïãåóóïòá äìñ ðìáîéòï÷áîéñ
STIME   (f)     ÷òåíñ úáðõóëá ðòïãåóóá
PRI     (l)     ðòéïòéôåô  ðòïãåóóá;  âïìøûåå  þéóìï   ïúîáþáåô
                íåîøûéê ðòéïòéôåô
NI      (l)     ðïðòá÷ëá ë ðòéïòéôåôõ
ADDR    (l)     áäòåó ðòïãåóóá ÷ ðáíñôé (õëáúáôåìø  îá  ôáâìéãõ
                óåçíåîôï÷), åóìé ðòïçòáííá  òåúéäåîôîáñ,  éîáþå
                äéóëï÷ùê áäòåó
SZ      (l)     òáúíåò ïâòáúá úáäáþé ÷ âìïëáè
WCHAN   (l)     óïâùôéå, éú-úá ëïôïòïçï  ïöéäáåô  ðòïãåóó;  äìñ
                ÷ùðïìîñàýéèóñ ðòïãåóóï÷ îå õëáúù÷áåôóñ
TTY     (all)   ôåòíéîáì, ó ëïôïòïçï âùì úáðõýåî ðòïãåóó
TIME    (all)   ÷òåíñ ÷ùðïìîåîéñ ðòïãåóóá
CMD     (all)   éíñ ðòïçòáííù; åóìé õëáúáî æìáç -f, ôï ÷ù÷ïäéô-
                óñ ðïìîïå éíñ

     Ðòïãåóó éíåàýéê ðòåäëá é úá÷åòûé÷ûéêóñ, îï  åýå  ïöéäáåíùê
üôéí ðòåäëïí, ïâïúîáþáåôóñ <defunct>.
     Ðòé õëáúáîéé æìáçá -f ps ðùôáåôóñ ïðòåäåìéôø éíñ  é  áòçõ-
íåîôù, ó ëïôïòùíé ðòïãåóó âùì óïúäáî ÷ ðáíñôé éìé ïâìáóôé ó÷ïð-
ðéîçá. Åóìé üôï îå õäáåôóñ, éíñ ðòïãåóóá úáëìàþáåôóñ ÷ ë÷áäòáô-
îùå óëïâëé.

        3.15. Óïòôéòï÷ëá é/éìé óìéñîéå æáêìï÷.

Æïòíáô ëïíáîäù: sort [ - cmu ] [ -ooutput ] [ -ykmem ]
[ -zrecsz ] [ -dfiMnr ] [ -btx ] [ +pos1 [ -pos2 ]] [ files ]

     Sort óïòôéòõåô óôòïëé ÷óåè õëáúáîîùè æáêìï÷ ïäîï÷òåíåîîï é
÷ù÷ïäéô òåúõìøôáô îá óôáîäáòôîùê ÷ù÷ïä. Åóìé  éíåîá  æáêìï÷  îå
õëáúáîù, éìé åóìé ÷ ëáþåóô÷å éíåîé æáêìá õëáúáî  -,  éîæïòíáãéñ
ðïóôõðáåô éú óôáîäáòôîïçï ÷÷ïäá.
     Óòá÷îåîéñ ðòïéú÷ïäñôóñ îá ïóîï÷å ïäîïçï éìé  âïìåå  ðïìåê,
ðïìõþáåíùè éú ëáöäïê ÷÷ïäéíïê óôòïëé. Ðï õíïìþáîéà, ôáëïå  ðïìå
ïäîï é éí ñ÷ìñåôóñ óáíá óôòïëá; óôòïëé  õðïòñäïþé÷áàôóñ  ìåëóé-
ëïçòáæéþåóëé ÷ óïïô÷åôóô÷éé ó ëïäáíé îáâïòá óéí÷ïìï÷ ASCII.
     Óìåäõàýéå æìáçé éúíåîñàô ðïòñäïë òáâïôù:

-c      ðòï÷åòéôø, ñ÷ìñåôóñ ìé ÷èïäîïê æáêì õöå ïôóïòôéòï÷áîîùí
        óïçìáóîï úáäáîîùí ðòá÷éìáí
-m      ôïìøëï óìéôø æáêìù; óþéôáôø éè õöå ïôóïòôéòï÷áîîùíé
-u      éú ÷óåè óï÷ðáäáàýéè óôòïë ÷ù÷ïäéôø ôïìøëï ïäîõ
-ooutput
        õëáúáîîïå éíñ <output> ñ÷ìñåôóñ éíåîåí æáêìá, ÷ ëïôïòùê
        îáäï îáðòá÷éôø ÷ù÷ïä; üôïô æáêì íïöåô óï÷ðáäáôø ó ïäîéí
        éú æáêìï÷ ÷÷ïäá. Íåöäõ -o é output íïçõô âùôø ðòïâåìù
-ykmem  ðï õíïìþáîéà sort éóðïìøúõåô ïðòåäåìåîîùê óéóôåíïê ïâ®-
        åí ðáíñôé; ðòé úáäáîéé üôïçï æìáçá  âõäåô  éóðïìøúï÷áîï
        kmem ëéìïâáêô. Åóìé üôï þéóìï âïìøûå  éìé  íåîøûå  ðòå-
        äåìøîï äïðõóôéíùè úîáþåîéê, ôï âõäåô õóôáîï÷ìåîï  óïïô-
        ÷åôóô÷õàýåå ðòåäåìøîïå úîáþåîéå. Ôáë,  -y0  çáòáîôéòõåô
        éóðïìøúï÷áîéå íéîéíáìøîïçï ïâ®åíá ðáíñôé. Ðï äïçï÷ïòåî-
        îïóôé, -y (âåú áòçõíåîôï÷)  õóôáîá÷ìé÷áåô  íáëóéíáìøîùê
        ïâ®åí ðáíñôé
-zrecsz ðòé äìéîå óôòïëé âïìøûå, þåí ðòéîñôï ÷ óéóôåíå,  ÷ùðïì-
        îåîéå sort úá÷åòûáåôóñ  á÷áòéêîï.  ×ï  éúâåöáîéå  üôïçï
        íïöîï õëáúáôø íáëóéíáìøîõà äìéîõ óôòïëé recsz ÷ âáêôáè.

     Óìåäõàýéå æìáçé õóôáîá÷ìé÷áàô óðïóïâ õðïòñäïþåîéñ óôòïë:

-d      "óìï÷áòîùê" ðïòñäïë: ðòé óòá÷îåîéé  ñ÷ìñàôóñ  úîáþéíùíé
        ôïìøëï âõë÷ù, ãéæòù é ðòïâåìù
-f      ðòåïâòáúï÷ù÷áôø ðòïðéóîùå âõë÷ù ÷ óôòïþîùå
-i      éçîïòéòï÷áôø óéí÷ïìù ó ëïäáíé, îå ìåöáýéíé  ÷  ðòåäåìáè
        040-0176
-M      ðòåïâòáúï÷áôø ðåò÷ùå ôòé óéí÷ïìá ÷ ðòïðéóîùå é óòá÷îéôø
        éè ó õóìï÷éåí ôïçï, þôï "JAN" < "FEB" <  ...  <  "DEC".
        Ïóôáìøîùå úîáþåîéñ üôéè ðïìåê óþéôáôø  íåîøûéíé  "JAN".
        Üôïô æìáç ðïäòáúõíå÷áåô æìáç -b (óí. äáìåå)
-n      óôòïëé þéóåì, ÷ïúíïöîï óïäåòöáýéå ðòïâåìù, úîáë -,  äå-
        óñôéþîõà ôïþëõ, óïòôéòõàôóñ  ðï  úîáþåîéñí üôéè  þéóåì.
        Üôïô æìáç ðïäòáúõíå÷áåô æìáç -b (óí. äáìåå)
-r      ïâòáôîùê ðïòñäïë óïòôéòï÷ëé

     Úáðéóø +pos1 -pos2 ïúîáþáåô, þôï ðïìå óòá÷îåîéñ âõäåô  îá-
þéîáôøóñ ÷ ðïúéãéé pos1 é ëïîþáôøóñ ÷ ðïúéãéé pos2. Åóìé  -pos2
ïðõýåîï, ôï ðïäòáúõíå÷áåôóñ ëïîåã óôòïëé.
     Õëáúáîéå pos1 é pos2 ÷ëìàþáåô ÷ óåâñ ðïîñôéå ðïìñ -  íéîé-
íáìøîïê ðïóìåäï÷áôåìøîïóôé óéí÷ïìï÷, úá÷åòûáàýåêóñ òáúäåìéôåìåí
ðïìåê éìé <NEW LINE>. Ðï õíïìþáîéà, ôáëéí òáúäåìéôåìåí óþéôáåô-
óñ ðåò÷ùê ÷óôòåþåîîùê ðòïâåì ÷ ðïóìåäï÷áôåìøîïóôé ðòïâåìï÷. ×óå
ïóôáìøîùå ðòïâåìù éú üôïê ðïóìåäï÷áôåìøîïóôé óþéôáàôóñ ÷èïäñýé-
íé ÷ óìåäõàýåå ðïìå (îáðòéíåò, ÷óå ðòïâåìù ÷ îáþáìå óôòïëé ÷èï-
äñô ÷ ðåò÷ïå ðïìå). Òáúäåìéôåìé ðïìåê íïçõô âùôø úáäáîù óìåäõà-
ýéíé æìáçáíé:

-tx     éóðïìøúï÷áôø ÷ ëáþåóô÷å  òáúäåìéôåìñ  ðïìåê  óéí÷ïì  x;
        ëáöäïå ÷èïöäåîéå x ñ÷ìñåôóñ úîáþéíùí (ô.å. xx òáúäåìñàô
        ðïìå îõìå÷ïê äìéîù)
-b      éçîïòéòï÷áôø ÷åäõýéå ðòïâåìù ðòé ïðòåäåìåîéé  îáþáìá  é
        ëïîãá ðïìñ óòá÷îåîéñ

     Pos1 é pos2 éíåàô æïòíõ: m.n é, ÷ïúíïöîï,  ðïóìå   ëáöäïçï
óìåäõàô æìáçé bdfinr. +m.n ïúîáþáåô (n+1)ùê  óéí÷ïì  ÷  (m+1)ïí
ðïìå. Ðòïðõýåîîïå .n ïúîáþáåô .0. Åóìé õëáúáî  æìáç  -b,  ôï  n
ïôóþéôù÷áåôóñ ïô ðåò÷ïçï îåðòïâåìá ÷ (m+1)ïí ðïìå; +m.0b  ïúîá-
þáåô ðåò÷ùê îåðòïâåì ÷ (m+1)ïí ðïìå. -m.n ïúîáþáåô  nùê  óéí÷ïì
(÷ëìàþáñ òáúäåìéôåìé ðïìåê) ðïóìå ðïóìåäîåçï óéí÷ïìá mïçï ðïìñ.
Åóìé n ïðõýåîï, ôï ðïäòáúõíå÷áåôóñ .0, ïúîáþáñ ðïóìåäîéê óéí÷ïì
mïçï ðïìñ. Åóìé õëáúáî æìáç -b, ôï n ïôóþéôù÷áåôóñ ïô ðïóìåäîå-
çï ÷åäõýåçï ðòïâåìá ÷ (m+1)ïí ðïìå; -m.1b ïúîáþáåô  ðåò÷ùê  îå-
ðòïâåì ÷ (m+1)ïí ðïìå.
     Åóìé õëáúáîù îåóëïìøëï ðïìåê óòá÷îåîéñ, ôï  âïìåå  ðïúäîéå
îå éóðïìøúõàôóñ äï õðïòñäïþåîéñ ðï âïìåå  òáîîéí.  Åóìé  óôòïëé
éíåàô ïäéîáëï÷ùå ðïìñ óòá÷îåîéñ, ôï ïîé õðïòñäïþé÷áàôóñ ó  õþå-
ôïí ÷óåè óéí÷ïìï÷.

Ðòéíåòù.

1. Õðïòñäïþéôø óïäåòöéíïå infile ðï ÷ôïòïíõ ðïìà ÷ ëáþåóô÷å ðï-
   ìñ óòá÷îåîéñ

        sort +1 -2 infile

2. Õðïòñäïþéôø ÷ ïâòáôîïí ðïòñäëå óïäåòöéíïå infile1 é infile2,
   ðïíåóôé÷ òåúõìøôáô ÷ outfile.  Õðïòñäïþåîéå  ðòïéú÷ïäéôø  ðï
   ðåò÷ïíõ óéí÷ïìõ ÷ôïòïçï ðïìñ

        sort -r -o outfile +1.0 -1.2 infile1 infile2

3. Õðïòñäïþéôø ÷ ïâòáôîïí ðïòñäëå óïäåòöéíïå infile1 é  infile2
   ðï ðåò÷ïíõ ïôìéþîïíõ ïô ðòïâåìá óéí÷ïìõ ÷ôïòïçï ðïìñ

        sort -r +1.0b -1.1b infile1 infile2

4. Òáóðåþáôáôø æáêì passwd, ïôóïòôéòï÷á÷ åçï ðï þéóìï÷ùí úîáþå-
   îéñí UID (ôòåôøå ðïìå, òáúäåìéôåìø ðïìåê - :)

        sort -t: +2n -3 /etc/passwd

5. Òáóðåþáôáôø óôòïëé õöå ïôóïòôéòï÷áîîïçï æáêìá infile, ÷ù÷ïäñ
   ìéûø ðåò÷õà éú óôòïë ó ïäéîáëï÷ùíé ôòåôøéíé ðïìñíé

        sort -um +2 -3 infile

        3.16. Ðïäóþåô ëïìéþåóô÷á óéí÷ïìï÷, óìï÷ é óôòïë ÷ æáêìå.

Æïòíáô ëïíáîäù: wc [ -lwc ] [ <æáêì> ... ]

     wc ðïäóþéôù÷áåô óôòïëé, óìï÷á é óéí÷ïìù, þéôáñ éè  éú õëá-
úáîîùè æáêìï÷ éìé éú óôáîäáòôîïçï ÷÷ïäá, åóìé éíåîá  æáêìï÷  îå
õëáúáîù. Ôáëöå ðïäóþéôù÷áåôóñ ïâýéê  éôïç  äìñ  ÷óåè  õëáúáîîùè
æáêìï÷.
     Óìï÷ï - üôï íáëóéíáìøîáñ óôòïëá  óéí÷ïìï÷,  îå  óïäåòöáýáñ
ðòïâåìï÷ é <NEW LINE>.
     Æìáçé l, w é c íïçõô éóðïìøúï÷áôøóñ  ÷  ìàâïê  ëïíâéîáãéé,
õëáúù÷áñ, þôï äïìöîù ÷ù÷ïäéôøóñ ëïìéþåóô÷ï óôòïë, óìï÷ éìé óéí-
÷ïìï÷ óïïô÷åôóô÷åîîï. Ðï õíïìþáîéà éóðïìøúõåôóñ îáâïò -lwc.
     Åóìé ÷ ëïíáîäîïê óôòïëå õëáúáîù éíåîá æáêìï÷, ôï ïîé ÷ù÷ï-
äñôóñ ðïóìå óïïô÷åôóô÷õàýéè óõíí.
