setala

SM4DOCS.LST

Apr 29th, 2021
632
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. cat *
  2. TKK/Tietojenk{sittelyopin lab.
  3. 3.76.127 Assembler
  4. Kalle Hukkinen                                          04.03.1982
  5.  
  6.  
  7.         Joitakin assembler-ohjelmointiin liittyvi{ vihjeit{:
  8.  
  9.  
  10. Viitteiden k{yt|st{
  11.  
  12.         --[l{ k{yt{ viitteennimi{, jotka ovat samoja kuin esimerkiksi
  13.           jotkin konek{skyt.
  14.         --[l{ k{yt{ pitempi{ viitteit{, kuin mit{ assembler tunnistaa.
  15.         --K{yt{ viitteiss{ vain kirjain- ja numeromerkkej{.
  16.           Aloita viite kirjaimella.
  17.         --K{yt{ viitteit{, jotka kuvaavat merkityst{{n, siis
  18.           esim. 'addword' eik{ 'xxx'.
  19.        
  20.  
  21. Vakiot ja lausekkeet
  22.        
  23.         --K{yt{ vakioissa selkeint{ lukuj{rjestelm{{,
  24.           esim. laskurit desimaalisina, maskit oktaalisina
  25.           tai hexana, ASCII-merkit merkkivakioina jne.
  26.         --Erota data ja osoitteet.
  27.         --Pid{ lausekkeet mahdollisimman yksinkertaisina.
  28.        
  29.  
  30. Kommentoinnista
  31.        
  32.         --Kommentin tulisi kertoa miten joku k{sky vaikuttaa
  33.           teht{v{n suoritukseen eik{ miten se vaikuttaa keskusyksik|n
  34.           toimintaan, siis EI n{in: "add 1 to accumulator"
  35.           tai "hyp{t{{n alkuun", vaan n{in:
  36.           "line feed to tty" tai "joko l{mp|tila ylitti raja-arvon?".
  37.         --Kommentin on oltava lyhyt ja selke{
  38.         --[l{ k{yt{ eriskummallisia lyhenteit{.
  39.         --Kommentoi kaikki vakio- ja muuttujam{{rittelyt.
  40.         --Kommentoi kunkin modulin tai aliohjelman toiminta,
  41.           parametrinv{litys sek{ rekisterien k{ytt|.
  42.         --Pid{ k{ytt{m{si terminologia yhten{isen{.
  43.           Kommentoidessa ei tarvitse pel{t{ toistoa.
  44. .pl 66
  45. .ll 70
  46. .he 'TKK/Tietojenk{sittelyopin lab.''DOKUMENTOINTIOHJE'
  47. .fo ''-%-''
  48. .m2 0
  49. 3.76.127 Assembler
  50. .br
  51. Kalle Hukkinen                                              20.01.1982
  52. .m2 2
  53. .in 18
  54. .bl 4
  55. .ti 0
  56. Dokumentointiohjeet:
  57.  
  58.  
  59.  
  60. .ti16
  61. 1.Ohjelmadokumentti on perusrakenteeltaan samanlainen
  62. kuin korkean tason kielill{ kirjoitettujen ohjelmien
  63. dokumentit.
  64.  
  65. .ti16
  66. 2.Mit{{n erityist{ dokumentointilomakkeistoa ei tarvitse
  67. k{ytt{{. Suosittelen tutustumista UNIXin roff ja nroff
  68. tekstinmuokkausohjelmistoihin. Lyhyt kuvaus l|ytyy
  69. artikkelista 'UNIX For Beginners', ja
  70. enemm{n tietoja on manuaaleissa 'UNIX Programmer's Manual' sek{
  71. 'NROFF User's Manual'.
  72.  
  73. .ti16
  74. 3.Dokumentin tulee selke{sti kuvata ohjelman rakenne
  75. modulikuvauksin, sek{ eri aliohjelmien parametriv{litys.
  76.  
  77. .ti16
  78. 4.Varatut muuttuja-alueet sek{ niiden k{ytt| on selostettava.
  79.  
  80. .ti16
  81. 5.Ohjelmasta tulee olla algoritmikuvaus jollain korkean
  82. tason kielell{ (Pascal, Simula, Algol, mutta EI Fortran)
  83. tai pseudokielell{. Kuvausta ei tarvitse testata tai
  84. k{{nt{{.
  85.  
  86. .ti16
  87. 6.Hyvin kommentoitu ohjelmalistaus liitet{{n dokumenttiin.
  88. Assembler-ohjelmoinnissa kommentointi on ehdottomuus.
  89. Kommentoinnin on oltava toimenpiteit{ selkiytt{v{{,
  90. ei siis pid{ kertoa, ett{ siirret{{n ykk|nen rekisteriin
  91. nolla, vaan miksi n{in tehd{{n!
  92.  
  93. .ti16
  94. 7.K{ytt|ohjeet ja esimerkit
  95.  
  96.                      UNIX V6 boottaus AMPEX levylt{
  97.                      =----------------------------=
  98.  
  99.       Kaada kone HALLITUSTI, eli anna sync komento kun olet logannut
  100.       sis{{n. Tai loggaa sis{{n projectille sync.
  101.       HETI kun saat uudestaan promptin, ('#' tai '%')  paina
  102.       HALT nappula alas. (Valkoinen nappula prosessorissa)
  103.  
  104.       T{m{n j{lkeen pit{{ harrastaa hieman koneen ohjelmoimista
  105.       keinukytkimilt{: Sy|tet{{n oktaalinen osoite (esim) 001000
  106.       antamalla se keinukytkimilt{ (Nappula 9 alhaalla, muut ylh{{ll{).
  107.  
  108.       Tee seuraavan ohjeen mukaan:
  109.       (Kaikki esiintyv{t luvut ovat OKTAALILUKUJA !!!)
  110.  
  111.         001000 LOAD ADDRS        (Lataa osoitteen 001000)
  112.         012737 DEP               (Painetaan KERRAN punaista DEP nappulaa)
  113.         000013 DEP
  114.         176306 DEP
  115.         000001 DEP
  116.         001000 LOAD ADDRS        (Lataa uudestaan osoite 001000)
  117.                HALT -> ENABLE    (Painettaessa alhaalla olevaa HALT nappulaa
  118.                                   se nousee yl|s ENABLE asentoon.)
  119.                START             (Paina ja p{{st{ irti, kone k{ynnistyy
  120.                                   ja j{{ ikuiseen silmukkaan)
  121.                ENABLE -> HALT    (Pys{ytt{{ koneen)
  122.         000000 LOAD ADDRS        (Lataa osoitteen 000000)
  123.                HALT -> ENABLE    (HALT nappula ENABLE asentoon)
  124.                START             (K{ynnist{{ koneen)
  125.  
  126.         Konsolina olevalle p{{tteelle ilmestyy ( -tynee?) '@', johon
  127.         kirjoitetaan unix ja RETURN (ilman v{lily|ntej{!)
  128.  
  129.         T{m{n j{lkeen kone k{ynnistynee normaalisti, ja kysyy
  130.         p{iv{m{{r{n/kellonajan, jonka j{lkeen se hoitaa itse loput.
  131.  
  132.         Jos esiintyy ongelmia (esim. root device corrupted),
  133.         ota yhteytt{ Jukiin.
  134.  
  135.                   Jukka Virtanen,  TeKoLa,  451-2624,  U249
  136.                   Puhelin Kotiin   522558
  137.  
  138.  
  139. Levynpaikkailuesimerkki
  140. Kalle Hukkinen  10.03.1982
  141.  
  142.  
  143. # dcheck /dev/rrk0
  144. /dev/rrk0:
  145. entries link cnt
  146. 561     1       0
  147. 565     1       0
  148. 584     1       0
  149. # icheck /dev/rrk0
  150. /dev/rrk0:
  151.  3096 dup; inode=0, class=free
  152.  3102 dup; inode=0, class=free
  153.  1266 dup; inode=0, class=free
  154. 3 dups in free
  155. spcl      31
  156. files    423
  157. large    127
  158. direc     35
  159. indir    127
  160. used    3701
  161. free     215
  162. # ncheck -i 561 565 584 /dev/rrk0
  163. /dev/rrk0:
  164. 584     /tmp/atm1a
  165. 565     /tmp/atm2a
  166. 561     /tmp/atm3a
  167. # rm /tmp/atm*
  168. /tmp/atm1a (0 mode)?y
  169. /tmp/atm2a (0 mode)?y
  170. /tmp/atm3a (0 mode)?y
  171. /tmp/e00117 (600 mode)?
  172. /tmp/e00235 (600 mode)?
  173. # icheck -s /dev/rrk0
  174. /dev/rrk0:
  175. #
  176. #
  177. # dcheck /dev/rrk1
  178. /dev/rrk1:
  179. #
  180. # icheck /dev/rrk1
  181. /dev/rrk1:
  182. missing    4
  183. spcl       0
  184. files    631
  185. large    128
  186. direc    144
  187. indir    128
  188. used    3813
  189. free     968
  190. # icheck -s /dev/rrk1
  191. /dev/rrk1:
  192. #
  193. / T{m{ pieni esimerkkiohjelma k{{nt{{ p{{ttelt{ annetun
  194. / tekstirivin merkit k{{nteiseen j{rjestykseen
  195.  
  196. / Kalle Hukkinen   26.11.1981
  197.  
  198. buflen  = 80.           /puskurin pituus m{{ritell{{n vakioksi
  199. cr      = 15            /carriage return
  200. lf      = 12            /line feed
  201.  
  202.         .text
  203. main:
  204.         mov     $1,r0           /r0 sis{lt{{ nyt tiedostonumeron write-kutsua
  205.         sys     write;info;infolen / varten  (tty kuvaputki = 1)
  206.         clr     r0              /r0 sis{lt{{ systeemikutsua read varten
  207.         sys     read;iobuf;buflen / tiedostonumeron (tty n{pp{imist| = 0)
  208.         bcs     ex              /read-virhetilanteessa carry asettuu
  209.         mov     r0,r2           /read palauttaa r0:ssa luettujen merk. m{{r{n
  210.         beq     ex              /jos se oli 0, poistutaan
  211.         mov     $iobuf,r1       /puskurin alkuosoite rekisteriin r1
  212. 1:      movb    (r1)+,-(sp)     /siirret{{n merkit puskurista pinoon
  213.         dec     r0              /merkkien m{{r{n laskuri
  214.         bne     1b              /joko siirrettiin kaikki ??
  215.  
  216.         mov     $iobuf,r1       /puskurin alkuosoite
  217.         mov     r2,r0           /merkkien m{{r{ oli muistissa r2:ssa
  218. 2:      movb    (sp)+,(r1)+     /siirret{{n merkit nyt k{{nteisess{
  219.         dec     r0              /  j{rjestyksess{ pinosta puskuriin
  220.         bne     2b              /joko siirrettiin ?
  221.         movb    $cr,(r1)+       /pannaan puskuriin viel{ return
  222.         movb    $lf,(r1)+       /  ja linefeed
  223.         clrb    (r1)+           /  sek{ loppuun nul
  224.  
  225.         mov     $1,r0           /r0:ssa tiedostonumero (tty kuvaputki = 1)
  226.         sys     write;iobuf;buflen  /puskurin tulostus
  227. ex:     sys     exit
  228.  
  229.         .data
  230. info:   <K{{nnet{{np{ rivin merkit v{{rinp{in \nAnna jokin teksti!\n\0>
  231. infolen =.-info
  232.  
  233.         .bss
  234. iobuf:  .=.+buflen              /puskurin koko on buflen merkki{
  235.  
  236.  
  237. TKK/TeKoLa                                      UNIX-k{ytt|j{rjestelm{
  238. Kalle Hukkinen                                              17.11.1981
  239.  
  240.  
  241.  
  242.  
  243. Floating-point lukujen laskutoimitukset SM-4:n UNIX-assemblerilla
  244.  
  245.  
  246.                   Floating-point lukujen formaatti on sama kuin PDP-11
  247.                   formaatti, joka ei kuitenkaan ole yksityiskohdiltaan
  248.                   aivan sama kuin IEEE:n  standardi  minitietokoneiden
  249.                   floating-point esitysmuodosta.  PDP-11 koneessa flo-
  250.                   tari on kaksi sanaa  (32  bitti{).   Ylin  bitti  on
  251.                   merkkibitti,  kahdeksan  seuraavaa  ovat eksponentti
  252.                   excess-128 muodossa,  ja  mantissa  on  normalisoitu
  253.                   (ylin  bitti  on  aina  1 ja siten n{kym{t|n) siten,
  254.                   ett{ bin{{ripiste on  koko  mantissan  edess{,  siis
  255.                   n{kym{tt|m{n bitin edess{!
  256.                   (0.5 <= mantissa < 1.0)
  257.  
  258.                   K{ytett{viss{  ovat kaikki nelj{ peruslaskutoimitus-
  259.                   ta.   UNIX-assembler  ei  kuitenkaan   tunne   n{it{
  260.                   nimenomaisia flotarik{skyj{, vaan generoi koodia ns.
  261.                   PDP-11 floating-point- prosessoria varten, jota taas
  262.                   ei  SM-4 laitteistossa ole.  Niinp{ k{skyt joudutaan
  263.                   kirjoittamaan oktaalisessa muodossa  assemblerkoodin
  264.                   sekaan:
  265.                           07500r          / fadd  r
  266.                           07501r          / fsub  r
  267.                           07502r          / fmul  r
  268.                           07503r          / fdiv  r
  269.                   joissa  r  on  siis  jokin  osoitinrekisteri,  jonka
  270.                   osoittamassa muistipaikassa operandit ovat:
  271.                           (r)             high source
  272.                                                   (eniten merk. osa)
  273.                           (r)+2           low  source
  274.                           (r)+4           high destination
  275.                           (r)+6           low  destination
  276.                   Vastaus tulee dest. operandiin (r)+4 ja (r)+6 , joka
  277.                   siis tuhoutuu.
  278.  
  279.                   Esim.
  280.                           .text
  281.                           mov     $oprnds,r1
  282.                           075021                  /fmul   r1
  283.                           sys     exit
  284.  
  285.                           .data
  286.                    oprnds:047700
  287.                           000000
  288.                           047640
  289.                           000000
  290.  
  291.                   T{m{ pieni ohjelmaesimerkki kertoo kesken{{n flotar-
  292.                   it 047700000000 ja 047640000000,  ja  vastaus  tulee
  293.                   j{lkimm{isen  p{{lle  muistipaikkaan oprnds+4, johon
  294.                   my|s r1 laskutoimituksen j{lkeen osoittaa.
  295.  
  296.  
  297.                                  -1-
  298.  
  299.  
  300.  
  301. .pl 66
  302. .ll 70
  303. .he 'TKK/TeKoLa''UNIX-k{ytt|j{rjestelm{'
  304. .fo ''-%-''
  305. .m2 0
  306. Kalle Hukkinen                                              17.11.1981
  307. .br
  308. .m2 2
  309. .in 18
  310. .bl 4
  311. .ti 0
  312. Floating-point lukujen laskutoimitukset SM-4:n UNIX-assemblerilla
  313.  
  314.  
  315. Floating-point lukujen formaatti on sama kuin PDP-11 formaatti, joka
  316. ei kuitenkaan ole yksityiskohdiltaan aivan sama kuin
  317. IEEE:n standardi minitietokoneiden floating-point esitysmuodosta.
  318. PDP-11 koneessa flotari on kaksi sanaa (32 bitti{).
  319. Ylin bitti on merkkibitti, kahdeksan seuraavaa ovat eksponentti
  320. excess-128 muodossa, ja mantissa on normalisoitu (ylin bitti on aina 1 ja
  321. siten n{kym{t|n) siten, ett{ bin{{ripiste on koko mantissan
  322. edess{, siis n{kym{tt|m{n bitin edess{!
  323. .br
  324. (0.5 <= mantissa < 1.0)
  325.  
  326. K{ytett{viss{ ovat kaikki nelj{ peruslaskutoimitusta.
  327. UNIX-assembler ei kuitenkaan tunne n{it{ nimenomaisia
  328. flotarik{skyj{, vaan generoi koodia ns. PDP-11 floating-point-
  329. prosessoria varten, jota taas ei SM-4 laitteistossa ole.
  330. Niinp{ k{skyt joudutaan kirjoittamaan oktaalisessa muodossa
  331. assemblerkoodin sekaan:
  332.         07500r          / fadd  r
  333.         07501r          / fsub  r
  334.         07502r          / fmul  r
  335.         07503r          / fdiv  r
  336. .br
  337. joissa r on siis jokin osoitinrekisteri, jonka osoittamassa
  338. muistipaikassa operandit ovat:
  339.         (r)             high source
  340.                                 (eniten merk. osa)
  341.         (r)+2           low  source
  342.         (r)+4           high destination
  343.         (r)+6           low  destination
  344. .br
  345. Vastaus tulee dest. operandiin (r)+4 ja (r)+6 , joka siis tuhoutuu.
  346.  
  347. Esim.
  348.         .text
  349.         mov     $oprnds,r1
  350.         075021                  /fmul   r1
  351.         sys     exit
  352.  
  353.         .data
  354.  oprnds:047700
  355.         000000
  356.         047640
  357.         000000
  358.  
  359. T{m{ pieni ohjelmaesimerkki kertoo kesken{{n flotarit
  360. 047700000000 ja 047640000000, ja vastaus tulee j{lkimm{isen
  361. p{{lle muistipaikkaan oprnds+4, johon my|s r1 laskutoimituksen
  362. j{lkeen osoittaa.
  363. .pl 66
  364. .ll 70
  365. .he 'TKK/TeKoLa''UNIX-k{ytt|j{rjestelm{'
  366. .fo ''-%-''
  367. .m2 0
  368. Kalle Hukkinen                                              18.12.1981
  369. .br
  370. .m2 2
  371. .in 18
  372. .bl 4
  373. .ti 0
  374. OTSIKKO
  375.  
  376.  
  377.  
  378.  
  379. .ti 0
  380. Johdanto
  381.  
  382.  
  383.         SM4 - UNIX Helppi (14.01-83 Juki)
  384.  
  385.  
  386.         Olet Tkk/LK UNIX V6 :ssa.
  387.  
  388.         K{yt|ss{si on csh niminen ohjelmoitava komentotulkki.
  389.         Koneesta p{{set ulos kirjoittamalla logout
  390.         tai painamalla CONTROL-D :t{.
  391.  
  392.         (Muista, ett{ UNIX:issa isot ja pienet kirjaimet ovat
  393.          eri asioita !!!)
  394.  
  395.  
  396.         Yleisi{ komentoja:
  397.  
  398.         man komento
  399.         l -l            listaa hakemiston tiedostojen nimet
  400.         pwd             present working directory (nykyinen ty|hakemisto)
  401.         who             ketk{ muut seikkailevat koneessa
  402.         ps              omat ajossa olevat ohjelmat (ja PID niille)
  403.         kill PID        murhaa ohjelman (PID:in saa esim ps komennolla)
  404.         <break>         painamalla break nappulaa, siirrat
  405.                         nykyisen ohjelmasi n{enn{isesti taustalle.
  406.                         (SILTI katkeaa RUBOUT:illa !!!)
  407.                         Uusi <break> siirtyy takaisin ohjelman prosessiin.
  408.         ^D              Logout
  409.         ed file         editoi tiedostoa file
  410.         cd dir          vaihda hakemistoa
  411.         cd ..           siirry hakemistopuussa ylosp{in
  412.  
  413.  
  414.         SM4 - UNIX Helppi (14.01-83 Juki)
  415.  
  416.  
  417.         Olet Tkk/LK UNIX:issa.
  418.         Jos haluat p{{st{ ulos, paina CONTROL-D :t{.
  419.  
  420.         (Muista, ett{ UNIX:issa isot ja pienet kirjaimet ovat
  421.          eri asioita !!!)
  422.  
  423.  
  424.         Yleisi{ komentoja:
  425.  
  426.         l -l            listaa hakemiston tiedostojen nimet
  427.         pwd             present working directory (nykyinen ty|hakemisto)
  428.         who             ketk{ muut seikkailevat koneessa
  429.         ps              omat ajossa olevat ohjelmat (ja PID niille)
  430.         kill PID        murhaa ohjelman (PID:in saa esim ps komennolla)
  431.         <break>         painamalla break nappulaa, siirrat
  432.                         nykyisen ohjelmasi n{enn{isesti taustalle.
  433.                         (SILTI katkeaa RUBOUT:illa !!!)
  434.                         Uusi <break> siirtyy takaisin ohjelman prosessiin.
  435.         ^D              Logout
  436.         ed file         editoi tiedostoa file
  437.         cd dir          vaihda hakemistoa
  438.         cd ..           siirry hakemistopuussa ylosp{in
  439.  
  440.  
  441. TKK/TeKoLa                                      UNIX-k{ytt|j{rjestelm{
  442. Kalle Hukkinen                                              18.12.1981
  443.  
  444.  
  445.  
  446.  
  447. UNIXIN K[YT\N ALKEET
  448.  
  449.  
  450.  
  451.  
  452. Johdanto
  453.  
  454.                   T{m{n paperin tarkoitus on olla ensimm{inen johdatus
  455.                   TKK/TeKoLan SM-4  -tietokoneessa  k{ytett{v{n  UNIX-
  456.                   k{ytt|j{restelm{n  ominaisuuksiin.   T{ss{ esitet{{n
  457.                   erityisesti paikallisen TKK UNIXin  erityispiirteit{
  458.                   sek{   k{ytt|{   korkeakoulun  datavaihteen  kautta.
  459.                   T{ydent{vi{ esityksi{ ovat Bell Laboratorion toimit-
  460.                   tamat  artikkelit 'UNIX for Beginners', joka on pal-
  461.                   jolti t{m{n esityksen l{hde ja  siis  p{{llekk{inen,
  462.                   sek{  'A Tutorial Introduction to the UNIX Text Edi-
  463.                  tor' ja 'Programming in C - A Tutorial'.
  464.  
  465.  
  466. Login
  467.  
  468.                   Datavaihde tunnistaa ison N-kirjaimen  UNIX-kutsuksi
  469.                   ja   kytkee   yhden  SM-4  tietokoneeseen  menevist{
  470.                   kahdeksasta  datavaihdelinjasta  p{{tteeseen.   UNIX
  471.                   vastaa kirjoittamalla:
  472.  
  473.                           login:
  474.  
  475.                   johon   vastataan  omalla  k{ytt{j{tunnuksella.  Jos
  476.                   k{ytt{j{ on m{{ritellyt itselleen salasanan (mik{ on
  477.                   toivottavaa), kysyy UNIX sen kirjoittamalla:
  478.  
  479.                           password:
  480.  
  481.                   Jos  salasana  oli  oikea, tulostaa UNIX jonkin sys-
  482.                   teemitiedoituksen sek{ promptaa prosenttimerkill{  %
  483.                   tiedoksi  siit{,  ett{  j{rjestelm{  on  valmis vas-
  484.                   taanottamaan komentoja.
  485.  
  486.  
  487. Salasana
  488.  
  489.                   Salasanan voi itselleen m{{ritell{ komennolla:
  490.  
  491.                           % passwd k{ytt{j{tunnus salasana
  492.  
  493.                   Samalla komennolla sit{ voi my|s muuttaa.
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.                                  -1-
  502.  
  503.  
  504.  
  505.  
  506.  
  507. TKK/TeKoLa                                      UNIX-k{ytt|j{rjestelm{
  508.  
  509.  
  510. Logout
  511.  
  512.                   P{{teistunnon  lopetus   tapahtuu   yksinkertaisesti
  513.                   Ctrl-D merkill{, jolloin systeemi kirjoittaa:
  514.  
  515.                           logged out
  516.  
  517.  
  518. P{{tenopeus
  519.  
  520.                   Jos p{{tteess{ on nopeus 2400, voidaan  loggattaessa
  521.                   sis{{n  muuttaa  k{tev{sti  nopeutta.  Kun shift-N:n
  522.                   j{lkeen tulostuu 'login:', vaihdetaan heti  p{{tteen
  523.                   nopeus  2400:an  ja  sen  j{lkeen  painetaan  BREAK-
  524.                   n{pp{int{.  T{ll|in 'login:' tulostuu  uudelleen  ja
  525.                   voidaan kirjoittaa k{ytt{j{tunnus.  Muuksi nopeudek-
  526.                   si vaihtaminen k{y stty-komennolla.
  527.  
  528.  
  529. Erikoismerkit
  530.  
  531.                   UNIX k{ytt{{ hieman erikoisia merkkej{ sy|tteen kor-
  532.                   jailumerkkein{.     Edellisen   kirjoitetun   merkin
  533.                   pyyhkii  'risuaita'  #  ja  koko  kirjoitetun  rivin
  534.                   tuhoaa  'miumau'  @.  Jos n{it{ merkkej{ haluaa kir-
  535.                   joittaa tekstin sekaan (esim. editorilla), on  niit{
  536.                   edelt{v{n  merkin  oltava 'backslash' \, siis \# tai
  537.                   \@.
  538.  
  539.                   Suoritettavan   ohjelman   keskeytt{{  RUB  eli  DEL
  540.                   n{pp{in, siis ei Break. BREAK:n painaminen  ohjelman
  541.                   suorituksen aikana aiheuttaa sen, ett{ suoritus jat-
  542.                   kuu tausta-ajona ja itse  p{{st{{n  UNIXin  komento-
  543.                   tasolle.
  544.  
  545.                   K{yt|ss{ olevassa  TKK-UNIXissa  ovat  k{ytett{viss{
  546.                   my|s  DECist{  tutut  Ctrl-S  ja  Ctrl-Q tulostuksen
  547.                   tilap{ist{  pys{ytyst{  varten,  sek{  Ctrl-R   kir-
  548.                   joitetun  (ja mahdollisesti korjaillun) komentorivin
  549.                   uudelleentulostusta varten.  Edellisen komennon  voi
  550.                   toista kirjoittamalla 'miinus'-merkin:  -<CR>
  551.  
  552.  
  553. Komento
  554.  
  555.                   Komennot  UNIXille  annetaan  promptin  %  per{{n ja
  556.                   p{{tet{{n RETURN tai LINEFEED n{pp{imell{.  UNIXille
  557.                   voidaan  kirjoittaa  seuraavia  komentoja my|s edel-
  558.                   lisen komennon suorituksen aikana  (kuten  DECille),
  559.                   mutta  ero DECiin verrattuna on se, ett{ UNIX kaiut-
  560.                   taa kirjaimet v{litt|m{sti.  UNIX-komennon tulkitsee
  561.                   ohjelma nimelt{ shell, ja siirt{{ suorituksen komen-
  562.                   non      toteuttavalle      ohjelmalle.       UNIXin
  563.                   k{ytt|j{rjestelm{komennot ovat siis tavallisia suor-
  564.                   itettavia ohjelmia.
  565.  
  566.  
  567.                                  -2-
  568.  
  569.  
  570.  
  571.  
  572.  
  573. TKK/TeKoLa                                      UNIX-k{ytt|j{rjestelm{
  574.  
  575.  
  576. Tiedostoj{rjestelm{
  577.  
  578.                   UNIXin tiedostoj{rjestelm{ on  puhtaan  hierarkinen.
  579.                   Sen  juuri  on hakemisto nimelt{ root, joka jakautuu
  580.                   tiedostoiksi ja hakemistoiksi. Kukin  hakemisto  voi
  581.                   edelleen sis{lt{{ tiedostoja ja alihakemistoja, jne.
  582.                   Ainoa ero tiedostojen ja hakemistojen v{lill{ on se,
  583.                   ett{  hakemistoa voi muuttaa vain systeemi.  Tiedos-
  584.                   toilla ei ole mit{{n typpi{ tai sis{ist{ rakennetta,
  585.                   ne   ovat   yksinkertaisesti   tavujonoja.   Kaikkia
  586.                   tiedostoja, ohjelmia  ja  I/O-laitteita  k{sitell{{n
  587.                   homogeenisesti,  siis  laitteelle  tulostetaan kuten
  588.                   tiedostoon.
  589.  
  590.                   Omassa  hakemistossa  (tarkemmin siin{ hakemistossa,
  591.                   jossa parhaillaan ty|skentelee) voi tiedostoon  vii-
  592.                   tata  suoraan  tiedostonimell{.  T{ydellisen tiedos-
  593.                   tonimen muodostaa  kuitenkin  tiedostopolku  l{htien
  594.                   juuresta.  Juureen (root) voi viitata symbolilla / ,
  595.                   ja siit{ edelleen esim. k{ytt{j{ virtasen tiedostoon
  596.                   zap  voi  viitata  polulla  /usr/virtanen/zap.   zap
  597.                   kuuluu siis hakemistoon /usr/virtanen, joka  puoles-
  598.                   taan  on  hakemiston  /usr  alihakemisto.   /usr  on
  599.                   suoraan  juurihakemiston  /   (=root)  alihakemisto.
  600.                   Jos   k{ytt{j{  virtasella  on  alihakemisto,  jonka
  601.                   t{ydellinen (polku)nimi on /usr/virtanen/subdir,  ja
  602.                   siell{ tiedosto data, voi h{n ty|skennelless{{n hak-
  603.                   emistossa /usr/virtanen viitata kyseiseen tiedostoon
  604.                   nimell{    subdir/data.    Puuhierarkiassa  alasp{in
  605.                   viitattaessa ei siis tarvitse  k{ytt{{  koko  polun-
  606.                   nime{ (mutta nime{ ei my|sk{{n t{ll|in pid{ aloittaa
  607.                   juuren symbolilla / )
  608.  
  609.  
  610.  
  611. Shell
  612.  
  613.                   Shell on  UNIXin  komentotulkki.  Se  on  itsen{inen
  614.                   ohjelma (ei siis osa k{ytt|j{rjestelm{{), joka tulk-
  615.                   itsee k{ytt|j{rjestelm{lle annetut komennot  ja  luo
  616.                   niiden  mukaan  komennon  suorittavat prosessit. Jos
  617.                   halutaan suorittaa komento tai ohjelma taustaproses-
  618.                   sina  siten,  ett{  ei  odoteta ohjelman suorituksen
  619.                   p{{ttymist{  ennenkuin  palataan  shellin   komento-
  620.                   tasolle, voidaan komento p{{tt{{ merkkiin &. T{ll|in
  621.                   voidaan v{litt|m{sti jatkaa  p{{tety|skentely{.  Jos
  622.                   taustalla  ajettavassa ohjelmassa on tulostuksia, ne
  623.                   ohjautuvat kuitenkin normaalisti p{{tteelle.
  624.  
  625.                   Shelliss{ on mahdollisuus muuttaa ohjelman sy|t|n ja
  626.                   tulostuksen   oletustiedostoa   (=p{{te).   Se   k{y
  627.                   operaattoreilla  <  ja  >,  joista < tiedoston nimen
  628.                   edess{ aiheuttaa sy|t|n kyseisest{ tiedostosta ja  >
  629.                   tulostuksen tiedostoon.  Esimerkiksi kun komento:
  630.  
  631.                           cat file
  632.  
  633.                                  -3-
  634.  
  635.  
  636.  
  637.  
  638.  
  639. TKK/TeKoLa                                      UNIX-k{ytt|j{rjestelm{
  640.  
  641.  
  642.                   aiheuttaa  tiedoston  file  tulostuksen  p{{tteelle,
  643.                   niin komento:
  644.  
  645.                           cat file1 >file2
  646.  
  647.                   aiheuttaa  tiedoston  file1  tulostuksen  tiedostoon
  648.                   file2.   Lis{ksi  voidaan  tiedoston loppuun liitt{{
  649.                   tulostusta operaattorilla >>, t{ll|in  siis  tiedos-
  650.                   tossa aiemmin ollut tieto ei tuhoudu.
  651.  
  652.                   Shellin  er{s  erikoisuus  ovat  ns.  putket,  joita
  653.                   merkit{{n   operaattorilla  |  (pystyviiva).   Putki
  654.                   poistaa   usein    v{liaikaistiedostojen    tarpeen.
  655.                   Esimerkki:   ls   tulostaa  hakemistolistauksen,  wc
  656.                   laskee tiedostossa olevien rivien ja sanojen m{{r{n,
  657.                   rm  tuhoaa tiedoston, ja haluamme tiet{{ tiedostojen
  658.                   m{{r{n hakemistollamme.  Voisimme tehd{ n{in:
  659.  
  660.                           ls >temp
  661.                           wc temp
  662.                           rm temp
  663.  
  664.                   mutta kauniimmin asia hoidetaan n{in:
  665.  
  666.                           ls | wc
  667.  
  668.                   jolloin ls:n tulostus on wc:n sy|te,  eik{  tarvittu
  669.                   v{liaikaistiedostoa temp.
  670.  
  671.                   Useille shellin komennoille voi antaa  argumentteja,
  672.                   jotka  tarkemmin  m{{rittelev{t suoritettavaa komen-
  673.                   toa.   Ne  ovat  yksikirjaimisia  ja  niit{  edelt{{
  674.                   'miinus' - .  Esim.:
  675.  
  676.                           ls -lat
  677.  
  678.                   tulostaa      t{ydellisemm{n     hakemistolistauksen
  679.                   aikaj{rjestyksess{ (l = long, a = all, t = time)
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.                                  -4-
  700.  
  701.  
  702.  
  703.  
  704.  
  705. TKK/TeKoLa                                      UNIX-k{ytt|j{rjestelm{
  706.  
  707.  
  708. KOMENTOJA
  709.  
  710.                   Seuraavassa er{it{ useimmin  tarvittavia  komentoja.
  711.                   Kaikista  komennoista  on  t{ydellisempi kuvaus jul-
  712.                   kaisussa 'UNIX Programmer's Manual'.
  713.  
  714.  
  715.  
  716. as (-) (-o objectfile) name ...
  717.                   Assembler-k{{nt{j{,  josta  l|ytyy  tarkka   kuvaus
  718.                  artikkelissa 'UNIX Assembler Reference Manual'.
  719.  
  720. cat file ...
  721.                   Tulostaa mainitut tiedostot per{kk{in (katenoi).
  722.  
  723. cc (-c) (-p) (-f) (-O) (-S) (-P) file ...
  724.                   C-kielen k{{nt{j{, josta on olemassa mm. artikkelit
  725.                  'Programming in C - A Tutorial'  sek{  'C  Reference
  726.                   Manual'.
  727.  
  728. chdir directory         (TKK-UNIXissa my|s:  cd)
  729.                   Siirryt{{n toiseen hakemistoon.
  730.  
  731. chmod octal file ...
  732.                   Muuttaa tiedoston suojauslukua.
  733.                   (esim. -rw-rw-rw-  annetaan oktaalisena 666
  734.                          -rwxr-xr-x  annetaan oktaalisena 755)
  735.  
  736. cp (-iIvVupn) file1 file2
  737. cp (-riIvVupn) file ... (directory)
  738.                   Kopioi tiedoston file1 sis{ll|n  tiedostoon  file2,
  739.                  tai     tiedoston     file    sis{ll|n    tiedostoon
  740.                  directory/file.
  741.  
  742. date
  743.                   Tulostaa p{iv{yksen ja kellonajan.
  744.  
  745. db
  746.                   'Debuggeri'  assemblerohjelmien   virheenselvityst{
  747.                  varten.
  748.  
  749. diff (-) name1 name2
  750.                   Vertaa kahta tiedostoa ja tulostaa rivit, joissa on
  751.                  eroja.
  752.  
  753. du (-s) (-a) (name ...)
  754.                   Tulostaa hakemiston k{ytt{m{n  levytilan  lohkoissa
  755.                  (=512 tavua).
  756.  
  757. ed (name)
  758.                   Tekstintoimitin,  'editori',  josta  on  kuvaus mm.
  759.                  artikkelissa 'A Tutorial Introduction  to  the  UNIX
  760.                   Text Editor'.
  761.  
  762.  
  763.  
  764.  
  765.                                 -5-
  766.  
  767.  
  768.  
  769.  
  770.  
  771. TKK/TeKoLa                                      UNIX-k{ytt|j{rjestelm{
  772.  
  773.  
  774. kill processid ...
  775.                   Tuhoaa  prosessin,  joka  on esim. taustaprosessina
  776.                  j{{nyt  ikuiseen  silmukkaan.  Tarvittavan   proses-
  777.                  sinumeron saa selville ps-komennolla.  Tavallisen (=
  778.                  ei tausta-)  prosessin  saa  helpoimmin  pys{ytetty{
  779.                  n{pp{imell{ RUB eli DEL.
  780.  
  781. ld (-sulr) (-o outfile)  name ...
  782.                   Lataaja, jolla useita k{{nnettyj{ objektitiedostoja
  783.                  voidaan linkitt{{ ja ladata  ajokelpoiseksi  tiedos-
  784.                  toksi.
  785.  
  786. login (username)
  787.                   login-komennolla     voidaan     suoraan    vaihtaa
  788.                  k{ytt{j{tunnusta ('logaamatta'  v{lill{  ulos  Ctrl-
  789.                  D:ll{).
  790.  
  791. ls (-ltasdruifgzL) name ...     (TKK-UNIXissa my|s:  l)
  792.                   Tulostaa hakemistolistauksen.
  793.  
  794. mail (-y) (-n) (person ...)
  795.                   Lukee tai l{hett{{ postia muille k{ytt{jille.
  796.  
  797. mesg (n) (y)
  798.                   Kielt{{  tai sallii toisille k{ytt{jille puheyhtey-
  799.                  den write-komennolla.
  800.  
  801. mkdir dirname ...
  802.                   Luo uuden alihakemiston.
  803.  
  804. mv (-iIvVupn) file1 file2
  805. mv (-riIvVupn) file ... (directory)
  806.                   Antaa  tiedostolle  file1  uuden  nimen  file2, tai
  807.                  tiedostolle file nimen directory/file.
  808.  
  809. nroff file ...
  810.                   Tekstinmuotoiluohjelma,  josta  on  lis{tietoa  ar-
  811.                  tikkelissa 'NROFF User's Manual'.  Kts. my|s roff.
  812.  
  813. opr file &
  814.                    Rivikirjoitintulostus  DECsystem-20:n  rivikirjoit-
  815.                   timelle (Tulostuksen k{ytt{j{tunnus on TKO.UNIX).
  816.  
  817. passwd name password
  818.                    Asettaa ja  muuttaa  salasanaksi  k{ytt{j{lle  name
  819.                   sanan password.
  820.  
  821. pr (-h header) name ...
  822.                    Tulostaa tiedoston siten, ett{ jokaisen sivun alus-
  823.                   sa on p{iv{ys ja tiedostonimi sek{  mahdollinen  ot-
  824.                   sikko header.
  825.  
  826. ps (alxk) (namelist)
  827.                    Tulostaa tietoa k{ynniss{ olevista prosesseista.
  828.  
  829.  
  830.  
  831.                                  -6-
  832.  
  833.  
  834.  
  835.  
  836.  
  837. TKK/TeKoLa                                      UNIX-k{ytt|j{rjestelm{
  838.  
  839.  
  840. pwd
  841.                    Kertoo     hakemistonimen,     jossa    parhaillaan
  842.                   ty|skennell{{n.
  843.  
  844. rm (-iIvVfdr) name ...
  845.                    Tuhoaa (lopullisesti) tiedostoja.
  846.  
  847. rmdir directory ...
  848.                    Tuhoaa hakemistoja, joiden tulee olla tyhji{.
  849.  
  850. roff file ...
  851.                    Tekstinmuotoiluohjelma, joka  on  kehittym{tt|m{mpi
  852.                   kuin nroff, mutta my|s helpompi k{ytt{{.
  853.  
  854. sh (-t) (-c) (name (arg1 ...(arg9)))
  855.                    Komentotulkki shell, joka on my|s ohjelmoitavissa
  856.                    (if, goto, echo, exit, shift, sleep).
  857.  
  858. size (object ...)
  859.                    Tulostaa objekti-tyyppisen tiedoston  text-,  data-
  860.                   ja bss-sektioiden koot tavuissa.
  861.  
  862. sleep time
  863.                    Suoritus odottaa time sekuntia
  864.                    (Esim.  (sleep 120; ld file1 file2)&  ).
  865.  
  866. stty (option ...)
  867.                    Tulostaa tai asettaa p{{tteen moodin.
  868.  
  869. tty
  870.                    Tulostaa k{ytt{j{n p{{telinjan numeron
  871.  
  872. wc (name ...)
  873.                    Laskee  tiedostossa  olevien  rivien   ja   sanojen
  874.                   lukum{{r{n.
  875.  
  876. view (-oa) (-screenlength) (-wscreenwidth) (file ...)
  877.                    N{ytt|p{{tetulostus   kuvaruudullinen   kerrallaan.
  878.                   Tulostus jatkuu RETURN-n{pp{imell{.
  879.  
  880. who (am i)
  881.                    Kertoo UNIXin t{m{nhetkiset k{ytt{j{t
  882.  
  883. write user (ttyno)
  884.                    Muodostaa  yksisuuntaisen  puheyhteyden  k{ytt{j{{n
  885.                   user.   Jotta  yhteys  olisi  kaksisuuntainen, tulee
  886.                   my|s vastaanottajan antaa write-komento.
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.                                  -7-
  898.  
  899.  
  900.  
  901. .pi /usr/bin/col
  902. .TM 1982-9x9 99999  99999-11
  903. .TL
  904. TKK/TeKoLa - UNIX-k{ytt|j{rjestelm{
  905. .AU
  906. Kalle Hukkinen
  907. .AI
  908. Helsingin teknillinen korkeakoulu
  909. .OK
  910. K{ytt|j{rjestelm{t
  911. UNIX
  912. .AB
  913. T{m{ paperi on UNIX-k{ytt|j{rjestelm{n
  914. esittely aloitteleville j{rjestelm{{n tutustujille.
  915. .AE
  916. .CS 10 2 12 5 6 7
  917. .2C
  918. .PP
  919. UNIXIN K[YT\\N ALKEET
  920.  
  921. Johdanto
  922.  
  923. T{m{n paperin tarkoitus on olla ensimm{inen johdatus
  924. TKK/TeKoLan SM-4 -tietokoneessa k{ytett{v{n UNIX-k{ytt|j{restelm{n
  925. ominaisuuksiin.
  926. T{ss{ esitet{{n erityisesti paikallisen TKK UNIXin erityispiirteit{
  927. sek{ k{ytt|{ korkeakoulun datavaihteen kautta.
  928. T{ydent{vi{ esityksi{ ovat Bell Laboratorion toimittamat
  929. artikkelit 'UNIX for Beginners', joka on paljolti t{m{n esityksen
  930. l{hde ja siis p{{llekk{inen, sek{ 'A Tutorial Introduction
  931. to the UNIX Text Editor' ja 'Programming in C - A Tutorial'.
  932.  
  933.  
  934. .PP
  935. Login
  936.  
  937. Datavaihde tunnistaa ison N-kirjaimen UNIX-kutsuksi ja
  938. kytkee yhden SM-4 tietokoneeseen menevist{ kahdeksasta
  939. datavaihdelinjasta p{{tteeseen.
  940. UNIX vastaa kirjoittamalla:
  941.  
  942. .nf
  943.         login:
  944. .fi
  945.  
  946. johon vastataan omalla k{ytt{j{tunnuksella. Jos k{ytt{j{
  947. on m{{ritellyt itselleen salasanan (mik{ on toivottavaa),
  948. kysyy UNIX sen kirjoittamalla:
  949.  
  950. .nf
  951.         password:
  952. .fi
  953.  
  954. Jos salasana oli oikea, tulostaa UNIX jonkin systeemitiedoituksen
  955. sek{ promptaa prosenttimerkill{ % tiedoksi siit{, ett{ j{rjestelm{
  956. on valmis vastaanottamaan komentoja.
  957.  
  958.  
  959. .PP
  960. Salasana
  961.  
  962. Salasanan voi itselleen m{{ritell{ komennolla:
  963.  
  964.         % passwd k{ytt{j{tunnus salasana
  965.  
  966. Samalla komennolla sit{ voi my|s muuttaa.
  967. .pa
  968.  
  969.  
  970. .PP
  971. Logout
  972.  
  973. P{{teistunnon lopetus tapahtuu yksinkertaisesti
  974. Ctrl-D merkill{, jolloin systeemi kirjoittaa:
  975.  
  976.         logged out
  977.  
  978.  
  979. .PP
  980. P{{tenopeus
  981.  
  982. Jos p{{tteess{ on nopeus 2400, voidaan loggattaessa sis{{n
  983. muuttaa k{tev{sti nopeutta. Kun shift-N:n j{lkeen
  984. tulostuu 'login:', vaihdetaan heti p{{tteen nopeus 2400:an ja
  985. sen j{lkeen painetaan BREAK-n{pp{int{.
  986. T{ll|in 'login:' tulostuu uudelleen ja voidaan kirjoittaa
  987. k{ytt{j{tunnus.
  988. Muuksi nopeudeksi vaihtaminen k{y stty-komennolla.
  989.  
  990.  
  991. .PP
  992. Erikoismerkit
  993.  
  994. UNIX k{ytt{{ hieman erikoisia merkkej{ sy|tteen korjailumerkkein{.
  995. Edellisen kirjoitetun merkin pyyhkii 'risuaita' \# ja koko
  996. kirjoitetun rivin tuhoaa 'miumau' @. Jos n{it{ merkkej{ haluaa
  997. kirjoittaa tekstin sekaan (esim. editorilla), on niit{ edelt{v{n
  998. merkin oltava 'backslash' \\, siis \\# tai \\@.
  999.  
  1000. Suoritettavan ohjelman keskeytt{{ RUB eli DEL n{pp{in,
  1001. siis ei Break. BREAK:n painaminen ohjelman suorituksen
  1002. aikana aiheuttaa sen, ett{ suoritus jatkuu tausta-ajona
  1003. ja itse p{{st{{n UNIXin komentotasolle.
  1004.  
  1005. K{yt|ss{ olevassa TKK-UNIXissa ovat k{ytett{viss{ my|s
  1006. DECist{ tutut Ctrl-S ja Ctrl-Q tulostuksen tilap{ist{
  1007. pys{ytyst{ varten, sek{ Ctrl-R kirjoitetun (ja mahdollisesti
  1008. korjaillun) komentorivin uudelleentulostusta varten.
  1009. Edellisen komennon voi toista kirjoittamalla
  1010. \&'miinus'-merkin:  -<CR>
  1011.  
  1012.  
  1013. .PP
  1014. Komento
  1015.  
  1016. Komennot UNIXille annetaan promptin % per{{n ja
  1017. p{{tet{{n RETURN tai LINEFEED n{pp{imell{.
  1018. UNIXille voidaan kirjoittaa seuraavia komentoja my|s
  1019. edellisen komennon suorituksen aikana (kuten DECille),
  1020. mutta ero DECiin verrattuna on se, ett{ UNIX
  1021. kaiuttaa kirjaimet v{litt|m{sti.
  1022. UNIX-komennon tulkitsee ohjelma nimelt{ shell,
  1023. ja siirt{{ suorituksen komennon toteuttavalle ohjelmalle.
  1024. UNIXin k{ytt|j{rjestelm{komennot ovat siis tavallisia
  1025. suoritettavia ohjelmia.
  1026.  
  1027.  
  1028. .PP
  1029. Tiedostoj{rjestelm{
  1030.  
  1031. UNIXin tiedostoj{rjestelm{ on puhtaan hierarkinen.
  1032. Sen juuri on hakemisto nimelt{ root, joka jakautuu
  1033. tiedostoiksi ja hakemistoiksi. Kukin hakemisto voi
  1034. edelleen sis{lt{{ tiedostoja ja alihakemistoja, jne.
  1035. Ainoa ero tiedostojen ja hakemistojen v{lill{ on se,
  1036. ett{ hakemistoa voi muuttaa vain systeemi.
  1037. Tiedostoilla ei ole mit{{n typpi{ tai sis{ist{ rakennetta,
  1038. ne ovat yksinkertaisesti tavujonoja.
  1039. Kaikkia tiedostoja, ohjelmia ja I/O-laitteita k{sitell{{n
  1040. homogeenisesti, siis laitteelle tulostetaan kuten tiedostoon.
  1041.  
  1042. Omassa hakemistossa (tarkemmin siin{ hakemistossa, jossa
  1043. parhaillaan ty|skentelee) voi tiedostoon viitata suoraan
  1044. tiedostonimell{. T{ydellisen tiedostonimen muodostaa kuitenkin
  1045. tiedostopolku l{htien juuresta. Juureen (root) voi viitata
  1046. symbolilla / , ja siit{ edelleen esim. k{ytt{j{ virtasen
  1047. tiedostoon zap voi viitata polulla /usr/virtanen/zap.
  1048. zap kuuluu siis hakemistoon /usr/virtanen, joka puolestaan
  1049. on hakemiston /usr alihakemisto.
  1050. /usr on suoraan juurihakemiston /  (=root) alihakemisto.
  1051. Jos k{ytt{j{ virtasella on alihakemisto, jonka t{ydellinen
  1052. (polku)nimi on /usr/virtanen/subdir, ja siell{ tiedosto
  1053. data, voi h{n ty|skennelless{{n hakemistossa /usr/virtanen
  1054. viitata kyseiseen tiedostoon nimell{  subdir/data.
  1055. Puuhierarkiassa alasp{in viitattaessa
  1056. ei siis tarvitse k{ytt{{ koko polunnime{
  1057. (mutta nime{ ei my|sk{{n t{ll|in pid{ aloittaa juuren symbolilla / )
  1058.  
  1059.  
  1060. .PP
  1061. Shell
  1062.  
  1063. Shell on UNIXin komentotulkki. Se on itsen{inen ohjelma (ei siis
  1064. osa k{ytt|j{rjestelm{{), joka tulkitsee k{ytt|j{rjestelm{lle
  1065. annetut komennot ja luo niiden mukaan komennon suorittavat
  1066. prosessit. Jos halutaan suorittaa komento tai ohjelma
  1067. taustaprosessina siten, ett{ ei odoteta ohjelman suorituksen
  1068. p{{ttymist{ ennenkuin palataan shellin komentotasolle,
  1069. voidaan komento p{{tt{{ merkkiin &. T{ll|in voidaan
  1070. v{litt|m{sti jatkaa p{{tety|skentely{. Jos taustalla ajettavassa
  1071. ohjelmassa on tulostuksia, ne ohjautuvat kuitenkin normaalisti
  1072. p{{tteelle.
  1073.  
  1074. Shelliss{ on mahdollisuus muuttaa ohjelman sy|t|n ja tulostuksen
  1075. oletustiedostoa (=p{{te). Se k{y operaattoreilla < ja >,
  1076. joista < tiedoston nimen edess{ aiheuttaa sy|t|n kyseisest{
  1077. tiedostosta ja > tulostuksen tiedostoon.
  1078. Esimerkiksi kun komento:
  1079.  
  1080. .nf
  1081.         cat file
  1082. .fi
  1083.  
  1084. aiheuttaa tiedoston file tulostuksen p{{tteelle, niin komento:
  1085.  
  1086. .nf
  1087.         cat file1 >file2
  1088. .fi
  1089.  
  1090. aiheuttaa tiedoston file1 tulostuksen tiedostoon file2.
  1091. Lis{ksi voidaan tiedoston loppuun liitt{{ tulostusta
  1092. operaattorilla >>, t{ll|in siis tiedostossa aiemmin
  1093. ollut tieto ei tuhoudu.
  1094.  
  1095. Shellin er{s erikoisuus ovat ns. putket, joita merkit{{n
  1096. operaattorilla | (pystyviiva).
  1097. Putki poistaa usein v{liaikaistiedostojen tarpeen.
  1098. Esimerkki:
  1099. ls tulostaa hakemistolistauksen,
  1100. wc laskee tiedostossa olevien rivien ja sanojen m{{r{n,
  1101. rm tuhoaa tiedoston,
  1102. ja haluamme tiet{{ tiedostojen m{{r{n hakemistollamme.
  1103. Voisimme tehd{ n{in:
  1104.  
  1105. .nf
  1106.         ls >temp
  1107.         wc temp
  1108.         rm temp
  1109. .fi
  1110.  
  1111. mutta kauniimmin asia hoidetaan n{in:
  1112.  
  1113. .nf
  1114.         ls | wc
  1115. .fi
  1116.  
  1117. jolloin ls:n tulostus on wc:n sy|te,
  1118. eik{ tarvittu v{liaikaistiedostoa temp.
  1119.  
  1120. Useille shellin komennoille voi antaa argumentteja,
  1121. jotka tarkemmin m{{rittelev{t suoritettavaa komentoa.
  1122. Ne ovat yksikirjaimisia ja niit{ edelt{{ 'miinus' - .
  1123. Esim.:
  1124.  
  1125. .nf
  1126.         ls -lat
  1127. .fi
  1128.  
  1129. tulostaa t{ydellisemm{n hakemistolistauksen aikaj{rjestyksess{
  1130. (l = long, a = all, t = time)
  1131.  
  1132.  
  1133. .PP
  1134. KOMENTOJA
  1135.  
  1136. Seuraavassa er{it{ useimmin tarvittavia komentoja.
  1137. Kaikista komennoista on t{ydellisempi kuvaus julkaisussa
  1138. \&'UNIX Programmer's Manual'.
  1139.  
  1140.  
  1141.  
  1142. .PP
  1143. as (-) (-o objectfile) name ...
  1144.  
  1145. Assembler-k{{nt{j{, josta l|ytyy tarkka kuvaus artikkelissa
  1146. \&'UNIX Assembler Reference Manual'.
  1147.  
  1148. .PP
  1149. cat file ...
  1150.  
  1151. Tulostaa mainitut tiedostot per{kk{in (katenoi).
  1152.  
  1153. .PP
  1154. cc (-c) (-p) (-f) (-O) (-S) (-P) file ...
  1155. C-kielen k{{nt{j{, josta on olemassa mm. artikkelit
  1156. \&'Programming in C - A Tutorial' sek{ 'C Reference Manual'.
  1157.  
  1158. .PP
  1159. chdir directory         (TKK-UNIXissa my|s:  cd)
  1160. Siirryt{{n toiseen hakemistoon.
  1161.  
  1162. .PP
  1163. chmod octal file ...
  1164.  
  1165. Muuttaa tiedoston suojauslukua.
  1166. (esim. -rw-rw-rw-  annetaan oktaalisena 666
  1167.        -rwxr-xr-x  annetaan oktaalisena 755)
  1168.  
  1169. .PP
  1170. cp (-iIvVupn) file1 file2
  1171.  
  1172. .PP
  1173. cp (-riIvVupn) file ... (directory)
  1174.  
  1175. Kopioi tiedoston file1 sis{ll|n tiedostoon file2,
  1176. tai tiedoston file sis{ll|n tiedostoon directory/file.
  1177.  
  1178. .PP
  1179. date
  1180.  
  1181. Tulostaa p{iv{yksen ja kellonajan.
  1182.  
  1183. .PP
  1184. db
  1185.  
  1186. 'Debuggeri' assemblerohjelmien virheenselvityst{ varten.
  1187.  
  1188. .PP
  1189. diff (-) name1 name2
  1190.  
  1191. Vertaa kahta tiedostoa ja tulostaa rivit, joissa on eroja.
  1192.  
  1193. .PP
  1194. du (-s) (-a) (name ...)
  1195.  
  1196. Tulostaa hakemiston k{ytt{m{n levytilan lohkoissa (=512 tavua).
  1197.  
  1198. .PP
  1199. ed (name)
  1200.  
  1201. Tekstintoimitin, 'editori', josta on kuvaus mm. artikkelissa
  1202. \&'A Tutorial Introduction to the UNIX Text Editor'.
  1203.  
  1204. .PP
  1205. kill processid ...
  1206.  
  1207. Tuhoaa prosessin, joka on esim. taustaprosessina
  1208. j{{nyt ikuiseen silmukkaan. Tarvittavan prosessinumeron
  1209. saa selville ps-komennolla.
  1210. Tavallisen (= ei tausta-) prosessin saa helpoimmin
  1211. pys{ytetty{ n{pp{imell{ RUB eli DEL.
  1212.  
  1213. .PP
  1214. ld (-sulr) (-o outfile)  name ...
  1215.  
  1216. Lataaja, jolla useita k{{nnettyj{ objektitiedostoja
  1217. voidaan linkitt{{ ja ladata ajokelpoiseksi tiedostoksi.
  1218.  
  1219. .PP
  1220. login (username)
  1221.  
  1222. login-komennolla voidaan suoraan vaihtaa k{ytt{j{tunnusta
  1223. ('logaamatta' v{lill{ ulos Ctrl-D:ll{).
  1224.  
  1225. .PP
  1226. ls (-ltasdruifgzL) name ...     (TKK-UNIXissa my|s:  l)
  1227.  
  1228. Tulostaa hakemistolistauksen.
  1229.  
  1230. .PP
  1231. mail (-y) (-n) (person ...)
  1232.  
  1233. Lukee tai l{hett{{ postia muille k{ytt{jille.
  1234.  
  1235. .PP
  1236. mesg (n) (y)
  1237.  
  1238. Kielt{{ tai sallii toisille k{ytt{jille puheyhteyden
  1239. write-komennolla.
  1240.  
  1241. .PP
  1242. mkdir dirname ...
  1243.  
  1244. Luo uuden alihakemiston.
  1245.  
  1246. .PP
  1247. mv (-iIvVupn) file1 file2
  1248.  
  1249. .PP
  1250. mv (-riIvVupn) file ... (directory)
  1251.  
  1252. Antaa tiedostolle file1 uuden nimen file2,
  1253. tai tiedostolle file nimen directory/file.
  1254.  
  1255. .PP
  1256. nroff file ...
  1257.  
  1258. Tekstinmuotoiluohjelma, josta on lis{tietoa artikkelissa
  1259. \&'NROFF User's Manual'.
  1260. Kts. my|s roff.
  1261.  
  1262. .PP
  1263. opr file &
  1264.  
  1265.  Rivikirjoitintulostus DECsystem-20:n rivikirjoittimelle
  1266. (Tulostuksen k{ytt{j{tunnus on TKO.UNIX).
  1267.  
  1268. .PP
  1269. passwd name password
  1270.  
  1271.  Asettaa ja muuttaa salasanaksi k{ytt{j{lle name
  1272. sanan password.
  1273.  
  1274. .PP
  1275. pr (-h header) name ...
  1276.  
  1277.  Tulostaa tiedoston siten, ett{ jokaisen sivun alussa
  1278. on p{iv{ys ja tiedostonimi sek{ mahdollinen otsikko header.
  1279.  
  1280. .PP
  1281. ps (alxk) (namelist)
  1282.  
  1283.  Tulostaa tietoa k{ynniss{ olevista prosesseista.
  1284.  
  1285. .PP
  1286. pwd
  1287.  
  1288.  Kertoo hakemistonimen, jossa parhaillaan ty|skennell{{n.
  1289.  
  1290. .PP
  1291. rm (-iIvVfdr) name ...
  1292.  
  1293.  Tuhoaa (lopullisesti) tiedostoja.
  1294.  
  1295. .PP
  1296. rmdir directory ...
  1297.  
  1298.  Tuhoaa hakemistoja, joiden tulee olla tyhji{.
  1299.  
  1300. .PP
  1301. roff file ...
  1302.  
  1303.  Tekstinmuotoiluohjelma, joka on kehittym{tt|m{mpi kuin
  1304. nroff, mutta my|s helpompi k{ytt{{.
  1305.  
  1306. .PP
  1307. sh (-t) (-c) (name (arg1 ...(arg9)))
  1308.  
  1309.  Komentotulkki shell, joka on my|s ohjelmoitavissa
  1310.  (if, goto, echo, exit, shift, sleep).
  1311.  
  1312. .PP
  1313. size (object ...)
  1314.  
  1315.  Tulostaa objekti-tyyppisen tiedoston text-, data-
  1316. ja bss-sektioiden koot tavuissa.
  1317.  
  1318. .PP
  1319. sleep time
  1320.  
  1321.  Suoritus odottaa time sekuntia
  1322.  (Esim.  (sleep 120; ld file1 file2)&  ).
  1323.  
  1324. .PP
  1325. stty (option ...)
  1326.  
  1327.  Tulostaa tai asettaa p{{tteen moodin.
  1328.  
  1329. .PP
  1330. tty
  1331.  
  1332.  Tulostaa k{ytt{j{n p{{telinjan numeron
  1333.  
  1334. .PP
  1335. wc (name ...)
  1336.  
  1337.  Laskee tiedostossa olevien rivien ja sanojen lukum{{r{n.
  1338.  
  1339. .PP
  1340. view (-oa) (-screenlength) (-wscreenwidth) (file ...)
  1341.  
  1342.  N{ytt|p{{tetulostus kuvaruudullinen kerrallaan.
  1343. Tulostus jatkuu RETURN-n{pp{imell{.
  1344.  
  1345. .PP
  1346. who (am i)
  1347.  
  1348.  Kertoo UNIXin t{m{nhetkiset k{ytt{j{t
  1349.  
  1350. .PP
  1351. write user (ttyno)
  1352.  
  1353.  Muodostaa yksisuuntaisen puheyhteyden k{ytt{j{{n user.
  1354. Jotta yhteys olisi kaksisuuntainen, tulee
  1355. my|s vastaanottajan antaa write-komento.
  1356.  
  1357. .pl 66
  1358. .ll 70
  1359. .he 'TKK/TeKoLa''UNIX-k{ytt|j{rjestelm{'
  1360. .fo ''-%-''
  1361. .m2 0
  1362. Kalle Hukkinen                                              18.12.1981
  1363. .br
  1364. .m2 2
  1365. .in 18
  1366. .bl 4
  1367. .ti 0
  1368. UNIXIN K[YT\\N ALKEET
  1369.  
  1370.  
  1371.  
  1372.  
  1373. .ti 0
  1374. Johdanto
  1375.  
  1376. T{m{n paperin tarkoitus on olla ensimm{inen johdatus
  1377. TKK/TeKoLan SM-4 -tietokoneessa k{ytett{v{n UNIX-k{ytt|j{restelm{n
  1378. ominaisuuksiin.
  1379. T{ss{ esitet{{n erityisesti paikallisen TKK UNIXin erityispiirteit{
  1380. sek{ k{ytt|{ korkeakoulun datavaihteen kautta.
  1381. T{ydent{vi{ esityksi{ ovat Bell Laboratorion toimittamat
  1382. artikkelit 'UNIX for Beginners', joka on paljolti t{m{n esityksen
  1383. l{hde ja siis p{{llekk{inen, sek{ 'A Tutorial Introduction
  1384. to the UNIX Text Editor' ja 'Programming in C - A Tutorial'.
  1385.  
  1386.  
  1387. .ti 0
  1388. Login
  1389.  
  1390. Datavaihde tunnistaa ison N-kirjaimen UNIX-kutsuksi ja
  1391. kytkee yhden SM-4 tietokoneeseen menevist{ kahdeksasta
  1392. datavaihdelinjasta p{{tteeseen.
  1393. UNIX vastaa kirjoittamalla:
  1394.  
  1395.         login:
  1396.  
  1397. johon vastataan omalla k{ytt{j{tunnuksella. Jos k{ytt{j{
  1398. on m{{ritellyt itselleen salasanan (mik{ on toivottavaa),
  1399. kysyy UNIX sen kirjoittamalla:
  1400.  
  1401.         password:
  1402.  
  1403. Jos salasana oli oikea, tulostaa UNIX jonkin systeemitiedoituksen
  1404. sek{ promptaa prosenttimerkill{ % tiedoksi siit{, ett{ j{rjestelm{
  1405. on valmis vastaanottamaan komentoja.
  1406.  
  1407.  
  1408. .ti 0
  1409. Salasana
  1410.  
  1411. Salasanan voi itselleen m{{ritell{ komennolla:
  1412.  
  1413.         % passwd k{ytt{j{tunnus salasana
  1414.  
  1415. Samalla komennolla sit{ voi my|s muuttaa.
  1416. .pa
  1417.  
  1418.  
  1419. .ti 0
  1420. Logout
  1421.  
  1422. P{{teistunnon lopetus tapahtuu yksinkertaisesti
  1423. Ctrl-D merkill{, jolloin systeemi kirjoittaa:
  1424.  
  1425.         logged out
  1426.  
  1427.  
  1428. .ti0
  1429. P{{tenopeus
  1430.  
  1431. Jos p{{tteess{ on nopeus 2400, voidaan loggattaessa sis{{n
  1432. muuttaa k{tev{sti nopeutta. Kun shift-N:n j{lkeen
  1433. tulostuu 'login:', vaihdetaan heti p{{tteen nopeus 2400:an ja
  1434. sen j{lkeen painetaan BREAK-n{pp{int{.
  1435. T{ll|in 'login:' tulostuu uudelleen ja voidaan kirjoittaa
  1436. k{ytt{j{tunnus.
  1437. Muuksi nopeudeksi vaihtaminen k{y stty-komennolla.
  1438.  
  1439.  
  1440. .ti 0
  1441. Erikoismerkit
  1442.  
  1443. UNIX k{ytt{{ hieman erikoisia merkkej{ sy|tteen korjailumerkkein{.
  1444. Edellisen kirjoitetun merkin pyyhkii 'risuaita' \# ja koko
  1445. kirjoitetun rivin tuhoaa 'miumau' @. Jos n{it{ merkkej{ haluaa
  1446. kirjoittaa tekstin sekaan (esim. editorilla), on niit{ edelt{v{n
  1447. merkin oltava 'backslash' \\, siis \\# tai \\@.
  1448.  
  1449. Suoritettavan ohjelman keskeytt{{ RUB eli DEL n{pp{in,
  1450. siis ei Break. BREAK:n painaminen ohjelman suorituksen
  1451. aikana aiheuttaa sen, ett{ suoritus jatkuu tausta-ajona
  1452. ja itse p{{st{{n UNIXin komentotasolle.
  1453.  
  1454. K{yt|ss{ olevassa TKK-UNIXissa ovat k{ytett{viss{ my|s
  1455. DECist{ tutut Ctrl-S ja Ctrl-Q tulostuksen tilap{ist{
  1456. pys{ytyst{ varten, sek{ Ctrl-R kirjoitetun (ja mahdollisesti
  1457. korjaillun) komentorivin uudelleentulostusta varten.
  1458. Edellisen komennon voi toista kirjoittamalla
  1459. 'miinus'-merkin:  -<CR>
  1460.  
  1461.  
  1462. .ti 0
  1463. Komento
  1464.  
  1465. Komennot UNIXille annetaan promptin % per{{n ja
  1466. p{{tet{{n RETURN tai LINEFEED n{pp{imell{.
  1467. UNIXille voidaan kirjoittaa seuraavia komentoja my|s
  1468. edellisen komennon suorituksen aikana (kuten DECille),
  1469. mutta ero DECiin verrattuna on se, ett{ UNIX
  1470. kaiuttaa kirjaimet v{litt|m{sti.
  1471. UNIX-komennon tulkitsee ohjelma nimelt{ shell,
  1472. ja siirt{{ suorituksen komennon toteuttavalle ohjelmalle.
  1473. UNIXin k{ytt|j{rjestelm{komennot ovat siis tavallisia
  1474. suoritettavia ohjelmia.
  1475.  
  1476.  
  1477. .ti 0
  1478. Tiedostoj{rjestelm{
  1479.  
  1480. UNIXin tiedostoj{rjestelm{ on puhtaan hierarkinen.
  1481. Sen juuri on hakemisto nimelt{ root, joka jakautuu
  1482. tiedostoiksi ja hakemistoiksi. Kukin hakemisto voi
  1483. edelleen sis{lt{{ tiedostoja ja alihakemistoja, jne.
  1484. Ainoa ero tiedostojen ja hakemistojen v{lill{ on se,
  1485. ett{ hakemistoa voi muuttaa vain systeemi.
  1486. Tiedostoilla ei ole mit{{n typpi{ tai sis{ist{ rakennetta,
  1487. ne ovat yksinkertaisesti tavujonoja.
  1488. Kaikkia tiedostoja, ohjelmia ja I/O-laitteita k{sitell{{n
  1489. homogeenisesti, siis laitteelle tulostetaan kuten tiedostoon.
  1490.  
  1491. Omassa hakemistossa (tarkemmin siin{ hakemistossa, jossa
  1492. parhaillaan ty|skentelee) voi tiedostoon viitata suoraan
  1493. tiedostonimell{. T{ydellisen tiedostonimen muodostaa kuitenkin
  1494. tiedostopolku l{htien juuresta. Juureen (root) voi viitata
  1495. symbolilla / , ja siit{ edelleen esim. k{ytt{j{ virtasen
  1496. tiedostoon zap voi viitata polulla /usr/virtanen/zap.
  1497. zap kuuluu siis hakemistoon /usr/virtanen, joka puolestaan
  1498. on hakemiston /usr alihakemisto.
  1499. /usr on suoraan juurihakemiston /  (=root) alihakemisto.
  1500. Jos k{ytt{j{ virtasella on alihakemisto, jonka t{ydellinen
  1501. (polku)nimi on /usr/virtanen/subdir, ja siell{ tiedosto
  1502. data, voi h{n ty|skennelless{{n hakemistossa /usr/virtanen
  1503. viitata kyseiseen tiedostoon nimell{  subdir/data.
  1504. Puuhierarkiassa alasp{in viitattaessa
  1505. ei siis tarvitse k{ytt{{ koko polunnime{
  1506. (mutta nime{ ei my|sk{{n t{ll|in pid{ aloittaa juuren symbolilla / )
  1507.  
  1508.  
  1509. .ti 0
  1510.  
  1511. Shell
  1512.  
  1513. Shell on UNIXin komentotulkki. Se on itsen{inen ohjelma (ei siis
  1514. osa k{ytt|j{rjestelm{{), joka tulkitsee k{ytt|j{rjestelm{lle
  1515. annetut komennot ja luo niiden mukaan komennon suorittavat
  1516. prosessit. Jos halutaan suorittaa komento tai ohjelma
  1517. taustaprosessina siten, ett{ ei odoteta ohjelman suorituksen
  1518. p{{ttymist{ ennenkuin palataan shellin komentotasolle,
  1519. voidaan komento p{{tt{{ merkkiin &. T{ll|in voidaan
  1520. v{litt|m{sti jatkaa p{{tety|skentely{. Jos taustalla ajettavassa
  1521. ohjelmassa on tulostuksia, ne ohjautuvat kuitenkin normaalisti
  1522. p{{tteelle.
  1523.  
  1524. Shelliss{ on mahdollisuus muuttaa ohjelman sy|t|n ja tulostuksen
  1525. oletustiedostoa (=p{{te). Se k{y operaattoreilla < ja >,
  1526. joista < tiedoston nimen edess{ aiheuttaa sy|t|n kyseisest{
  1527. tiedostosta ja > tulostuksen tiedostoon.
  1528. Esimerkiksi kun komento:
  1529.  
  1530.         cat file
  1531.  
  1532. aiheuttaa tiedoston file tulostuksen p{{tteelle, niin komento:
  1533.  
  1534.         cat file1 >file2
  1535.  
  1536. aiheuttaa tiedoston file1 tulostuksen tiedostoon file2.
  1537. Lis{ksi voidaan tiedoston loppuun liitt{{ tulostusta
  1538. operaattorilla >>, t{ll|in siis tiedostossa aiemmin
  1539. ollut tieto ei tuhoudu.
  1540.  
  1541. Shellin er{s erikoisuus ovat ns. putket, joita merkit{{n
  1542. operaattorilla | (pystyviiva).
  1543. Putki poistaa usein v{liaikaistiedostojen tarpeen.
  1544. Esimerkki:
  1545. ls tulostaa hakemistolistauksen,
  1546. wc laskee tiedostossa olevien rivien ja sanojen m{{r{n,
  1547. rm tuhoaa tiedoston,
  1548. ja haluamme tiet{{ tiedostojen m{{r{n hakemistollamme.
  1549. Voisimme tehd{ n{in:
  1550.  
  1551.         ls >temp
  1552.         wc temp
  1553.         rm temp
  1554.  
  1555. mutta kauniimmin asia hoidetaan n{in:
  1556.  
  1557.         ls | wc
  1558.  
  1559. jolloin ls:n tulostus on wc:n sy|te,
  1560. eik{ tarvittu v{liaikaistiedostoa temp.
  1561.  
  1562. Useille shellin komennoille voi antaa argumentteja,
  1563. jotka tarkemmin m{{rittelev{t suoritettavaa komentoa.
  1564. Ne ovat yksikirjaimisia ja niit{ edelt{{ 'miinus' - .
  1565. Esim.:
  1566.  
  1567.         ls -lat
  1568.  
  1569. tulostaa t{ydellisemm{n hakemistolistauksen aikaj{rjestyksess{
  1570. (l = long, a = all, t = time)
  1571. .pa
  1572.  
  1573.  
  1574. .ti 0
  1575. KOMENTOJA
  1576.  
  1577. Seuraavassa er{it{ useimmin tarvittavia komentoja.
  1578. Kaikista komennoista on t{ydellisempi kuvaus julkaisussa
  1579. 'UNIX Programmer's Manual'.
  1580.  
  1581.  
  1582.  
  1583. .ti 0
  1584. as (-) (-o objectfile) name ...
  1585. Assembler-k{{nt{j{, josta l|ytyy tarkka kuvaus artikkelissa
  1586. 'UNIX Assembler Reference Manual'.
  1587.  
  1588. .ti 0
  1589. cat file ...
  1590. Tulostaa mainitut tiedostot per{kk{in (katenoi).
  1591.  
  1592. .ti 0
  1593. cc (-c) (-p) (-f) (-O) (-S) (-P) file ...
  1594. C-kielen k{{nt{j{, josta on olemassa mm. artikkelit
  1595. 'Programming in C - A Tutorial' sek{ 'C Reference Manual'.
  1596.  
  1597. .ti 0
  1598. chdir directory         (TKK-UNIXissa my|s:  cd)
  1599. Siirryt{{n toiseen hakemistoon.
  1600.  
  1601. .ti 0
  1602. chmod octal file ...
  1603. Muuttaa tiedoston suojauslukua.
  1604. (esim. -rw-rw-rw-  annetaan oktaalisena 666
  1605.        -rwxr-xr-x  annetaan oktaalisena 755)
  1606.  
  1607. .ti 0
  1608. cp (-iIvVupn) file1 file2
  1609. .ti 0
  1610. cp (-riIvVupn) file ... (directory)
  1611. Kopioi tiedoston file1 sis{ll|n tiedostoon file2,
  1612. tai tiedoston file sis{ll|n tiedostoon directory/file.
  1613.  
  1614. .ti 0
  1615. date
  1616. Tulostaa p{iv{yksen ja kellonajan.
  1617.  
  1618. .ti 0
  1619. db
  1620. 'Debuggeri' assemblerohjelmien virheenselvityst{ varten.
  1621.  
  1622. .ti 0
  1623. diff (-) name1 name2
  1624. Vertaa kahta tiedostoa ja tulostaa rivit, joissa on eroja.
  1625.  
  1626. .ti 0
  1627. du (-s) (-a) (name ...)
  1628. Tulostaa hakemiston k{ytt{m{n levytilan lohkoissa (=512 tavua).
  1629.  
  1630. .ti 0
  1631. ed (name)
  1632. Tekstintoimitin, 'editori', josta on kuvaus mm. artikkelissa
  1633. 'A Tutorial Introduction to the UNIX Text Editor'.
  1634. .pa
  1635.  
  1636. .ti 0
  1637. kill processid ...
  1638. Tuhoaa prosessin, joka on esim. taustaprosessina
  1639. j{{nyt ikuiseen silmukkaan. Tarvittavan prosessinumeron
  1640. saa selville ps-komennolla.
  1641. Tavallisen (= ei tausta-) prosessin saa helpoimmin
  1642. pys{ytetty{ n{pp{imell{ RUB eli DEL.
  1643.  
  1644. .ti 0
  1645. ld (-sulr) (-o outfile)  name ...
  1646. Lataaja, jolla useita k{{nnettyj{ objektitiedostoja
  1647. voidaan linkitt{{ ja ladata ajokelpoiseksi tiedostoksi.
  1648.  
  1649. .ti 0
  1650. login (username)
  1651. login-komennolla voidaan suoraan vaihtaa k{ytt{j{tunnusta
  1652. ('logaamatta' v{lill{ ulos Ctrl-D:ll{).
  1653.  
  1654. .ti 0
  1655. ls (-ltasdruifgzL) name ...     (TKK-UNIXissa my|s:  l)
  1656. Tulostaa hakemistolistauksen.
  1657.  
  1658. .ti 0
  1659. mail (-y) (-n) (person ...)
  1660. Lukee tai l{hett{{ postia muille k{ytt{jille.
  1661.  
  1662. .ti 0
  1663. mesg (n) (y)
  1664. Kielt{{ tai sallii toisille k{ytt{jille puheyhteyden
  1665. write-komennolla.
  1666.  
  1667. .ti 0
  1668. mkdir dirname ...
  1669. Luo uuden alihakemiston.
  1670.  
  1671. .ti 0
  1672. mv (-iIvVupn) file1 file2
  1673. .ti 0
  1674. mv (-riIvVupn) file ... (directory)
  1675. Antaa tiedostolle file1 uuden nimen file2,
  1676. tai tiedostolle file nimen directory/file.
  1677.  
  1678. .ti 0
  1679. nroff file ...
  1680. Tekstinmuotoiluohjelma, josta on lis{tietoa artikkelissa
  1681. 'NROFF User's Manual'.
  1682. Kts. my|s roff.
  1683.  
  1684. .ti 0
  1685. opr file &
  1686.  Rivikirjoitintulostus DECsystem-20:n rivikirjoittimelle
  1687. (Tulostuksen k{ytt{j{tunnus on TKO.UNIX).
  1688.  
  1689. .ti 0
  1690. passwd name password
  1691.  Asettaa ja muuttaa salasanaksi k{ytt{j{lle name
  1692. sanan password.
  1693.  
  1694. .ti 0
  1695. pr (-h header) name ...
  1696.  Tulostaa tiedoston siten, ett{ jokaisen sivun alussa
  1697. on p{iv{ys ja tiedostonimi sek{ mahdollinen otsikko header.
  1698.  
  1699. .ti 0
  1700. ps (alxk) (namelist)
  1701.  Tulostaa tietoa k{ynniss{ olevista prosesseista.
  1702. .pa
  1703.  
  1704. .ti 0
  1705. pwd
  1706.  Kertoo hakemistonimen, jossa parhaillaan ty|skennell{{n.
  1707.  
  1708. .ti 0
  1709. rm (-iIvVfdr) name ...
  1710.  Tuhoaa (lopullisesti) tiedostoja.
  1711.  
  1712. .ti 0
  1713. rmdir directory ...
  1714.  Tuhoaa hakemistoja, joiden tulee olla tyhji{.
  1715.  
  1716. .ti 0
  1717. roff file ...
  1718.  Tekstinmuotoiluohjelma, joka on kehittym{tt|m{mpi kuin
  1719. nroff, mutta my|s helpompi k{ytt{{.
  1720.  
  1721. .ti 0
  1722. sh (-t) (-c) (name (arg1 ...(arg9)))
  1723.  Komentotulkki shell, joka on my|s ohjelmoitavissa
  1724.  (if, goto, echo, exit, shift, sleep).
  1725.  
  1726. .ti 0
  1727. size (object ...)
  1728.  Tulostaa objekti-tyyppisen tiedoston text-, data-
  1729. ja bss-sektioiden koot tavuissa.
  1730.  
  1731. .ti 0
  1732. sleep time
  1733.  Suoritus odottaa time sekuntia
  1734.  (Esim.  (sleep 120; ld file1 file2)&  ).
  1735.  
  1736. .ti 0
  1737. stty (option ...)
  1738.  Tulostaa tai asettaa p{{tteen moodin.
  1739.  
  1740. .ti 0
  1741. tty
  1742.  Tulostaa k{ytt{j{n p{{telinjan numeron
  1743.  
  1744. .ti 0
  1745. wc (name ...)
  1746.  Laskee tiedostossa olevien rivien ja sanojen lukum{{r{n.
  1747.  
  1748. .ti 0
  1749. view (-oa) (-screenlength) (-wscreenwidth) (file ...)
  1750.  N{ytt|p{{tetulostus kuvaruudullinen kerrallaan.
  1751. Tulostus jatkuu RETURN-n{pp{imell{.
  1752.  
  1753. .ti 0
  1754. who (am i)
  1755.  Kertoo UNIXin t{m{nhetkiset k{ytt{j{t
  1756.  
  1757. .ti 0
  1758. write user (ttyno)
  1759.  Muodostaa yksisuuntaisen puheyhteyden k{ytt{j{{n user.
  1760. Jotta yhteys olisi kaksisuuntainen, tulee
  1761. my|s vastaanottajan antaa write-komento.
  1762.  
  1763. .pl 66
  1764. .ll 70
  1765. .he 'TKK/TeKoLa''UNIX-k{ytt|j{rjestelm{'
  1766. .fo ''-%-''
  1767. .m2 0
  1768. Kalle Hukkinen                                              25.03.1982
  1769. .br
  1770. .m2 2
  1771. .in 18
  1772. .bl 4
  1773. .ti 0
  1774. YLL[PITO
  1775.  
  1776.  
  1777.  
  1778.  
  1779. .ti 0
  1780. Johdanto
  1781.  
  1782. T{ss{ kuvataan yll{pitoon liittyvi{ yleisi{ toimenpiteit{
  1783. sek{ tiedostoja ja ohjelmia, jotka liittyv{t yll{pitoon.
  1784. Useimmat n{ist{ tiedostoista sijaitsevat hakemistossa /etc.
  1785.  
  1786.  
  1787. .ti0
  1788. Varmuuskopiot
  1789.  
  1790. Varmuuskopiointeja varten on joukko komentotiedostoja,
  1791. jotka k{ytt{v{t hyv{kseen yleist{ kopiointi- ja konversio-ohjelmaa
  1792. 'dd'.
  1793. Yhden levyn koko on 4800 lohkoa, joten k{ytt{j{levy{
  1794. kopioitaessa siirret{{n koko levy.
  1795. Systeemilevy on konfiguroitu 4000 lohkon suuruiseksi,
  1796. joten swap-alueen koko on 800 lohkoa.
  1797. Systeemilevylt{ ei kopioda swap-aluetta.
  1798.  
  1799.  /etc/b4032tape         systeemilevy -> nauha
  1800.  /etc/b4800tape         k{ytt{j{levy -> nauha
  1801.  /etc/backup            systeemilevy -> levy
  1802.  
  1803. Kaikissa edellisiss{ on kerrallaan siirrett{v{n
  1804. yksik|n koko optimoitu siten, ett{ se on tasaluku
  1805. levyuria.
  1806. /mnt/doc (208) 
  1807. ikissa edellisiss{ on kerrallaan siirrett{v{n
  1808. yksik|n koko optimoitu siten, ett{ se on tasaluku
  1809. le
RAW Paste Data