H domh twn arxeiwn kai katalogwn toy Linux einai arketa paromoia me aythn toy DOSWin. Ta arxeia exoyn onomata poy ypokeintai se orismenoys kanones, fylassontai se katalogoys, kapoia einai ektelesima kai metaju twn ektelesimwn kapoia exoyn diakoptes (switches) ws entoles. Epipleon, mporeite na xrhsimopoieite xarakthres mpalantes (wildcard), anakateu8ynshs (redirection) kai piping. Yparxoyn mono kapoies mikres diafores:
NOTENOUG.TXT
. Sto Linux kanoyme kalutera pragmata. An egkatasthsate to Linux xrhsimopoiwntas ena susthma arxeiwn (file system) opws to ext2 h to umsdos, mporeite na xrhsimopoieite makrutera onomata (ews 255 xarakthres), kai me perissoteres ths mias teleies: paradeigmatos xarin, Ayto_einai.ena.POLY_makry.onomaarxeioy
. Shmeiwste oti xrhsimopoihsa toso kefalaioys oso kai mikrous xarakthres: Allwste...
FILENAME.tar.gz
kai filename.tar.gz
einai duo diaforetika arxeia. To ls
einai mia entolh, to LS
einai ena la8os·
$ # h parakatw entolh ftiaxnei enan katalogo poy legetai "My old files"
$ mkdir "My old files"
$ ls
My old files bin tmp
Epishs, kapoioi xarakthres kalo einai na mh xrhsimopoiountai. P.x.:
!*$&#
·
*
' sto telos toy onomatos toys, otan ekteleite thn entolh ls -F
. Gia paradeigma:
$ ls -F
I_am_a_dir/ cindy.jpg cjpg* letter_to_Joe my_1st_script* old~
Ta arxeia cjpg*
kai my_1st_script*
einai ektelesima, dhladh «programmata» . Sto DOS, ta arxeia backup lhgoyn se .BAK, enw sto Linux lhgoyn me mia perispwmenh `~
'. Epishs, ena arxeio to onoma toy opoioy jekina me teleia 8ewreitai kryfo. Paradeigma: to arxeio .I.am.a.hidden.file
de 8a fanei meta thn entolh ls
·
/switch
, enw sto Linux dinontai me -switch
h --switch
. Paradeigma: to dir /s
8a ginei ls -R
. Shmeiwste oti polla programmata toy DOS, opws to PKZIP
h to ARJ
, xrhsimopoioun diakoptes tupoy UNIX.
Mporeite twra na metafer8eite sthn enothta Metafrash entolwn apo to DOS sto Linux, sth 8esh sas omws 8a diabaza ki allo.
Sto UNIX yparxei ena eidos arxeiwn poy den yparxei sto DOS: o symbolikos desmos (symbolic link). Ayto mporei na 8ewrh8ei ws deikths pros ena arxeio h enan katalogo, kai mporei na xrhsimopoieitai anti gia to deiknyomeno· einai paromoio me tis syntomeuseis twn Windows. Paradeigmata symbolikwn desmwn einai to /usr/X11
, poy deixnei sto /usr/X11R6
· to /dev/modem
, poy deixnei eite sto /dev/ttyS0
h sto /dev/ttyS1
.
Gia na ftiajete enan symboliko desmo:
$ ln -s <arxeio_h_katalogos> <onoma_desmou>
Paradeigma:
$ ln -s /usr/doc/g77/DOC g77manual.txt
Twra mporeite na anafereste sto g77manual.txt
anti gia to /usr/doc/g77/DOC
.
Oi desmoi fainontai etsi sthn ejodo toy ls
:
$ ls -F
g77manual.txt@
$ ls -l
(diafora_pragmata...) g77manual.txt -> /usr/doc/g77/DOC
Ta arxeia kai oi katalogoi sto DOS exoyn ta akoloy8a xarakthristika (attributes): A (archive, arxeia), H (hidden, kryfa), R (read-only, mono gia anagnwsh), and S (system, systhmatos). Monon ta H kai ta R exoyn nohma sto Linux: ta kryfa arxeia jekinoun me mia teleia, oso gia to attribute R, diabaste ki allo.
Sto UNIX ena arxeio exei «dikaiwmata» (permissions) kai enan idiokthth (owner), o opoios me th seira toy anhkei se mia «omada» (group). Deite to paradeigma:
$ ls -l /bin/ls
-rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls*
To prwto pedio periexei ta dikaiwmata toy arxeioy /bin/ls
, poy anhkei ston root, omada bin. Afhnontas tis ypoloipes plhrofories poy dinei h entolh, stekomaste sth shmasia toy -rwxr-xr-x
apo aristera pros ta dejia:
-
einai to eidos toy arxeioy (-
= kanoniko arxeio, d
= katalogos,
l
= desmos, klp)` rwx
einai ta dikaiwmata toy idiokthth toy arxeioy (owner) kai einai(read=anagnwsh, write=eggrafh, execute=ektelesh)· r-x
einai ta dikaiwmata ths omadas (group) toy idiokthth (owner) toy arxeioy kai einai (read=anagnwsh, execute=ektelesh)· (De 8a kalucw thn ennoia ths omadas, 8ewrw oti mporeite na kanete kai xwris aythn, ef' oson eiste arxarioi ;-) kai r-x
einai ta dikaiwmata gia oloys toys alloys xrhstes (read=anagnwsh, execute=ektelesh).
O katalogos /bin
exei epishs dikaiwmata: deite sthn enothta
Directories Permissions gia peraiterw plhrofories. Gi' ayto den mporeite na diagracete to arxeio /bin/ls
para mono an eiste root: den exete to dikaiwma (permission) na to kanete. Gia na allajete ta dikaiwmata enos arxeioy, h entolh einai:
$ chmod <whoXperm> <file>
opoy who einai u
(user=xrhsths, einai o idiokthths), g
(group=omada), o
(other=alloi), X einai eite +
h -
, perm einai r
(read=anagnwsh), w
(write=eggrafh), or x
(execute=ektelesh). Kapoia paradeigmata ths xrhshs ths chmod
einai ta akoloy8a:
$ chmod +x file
ayto 8etei to dikaiwma ekteleshs gia to arxeio.
$ chmod go-rw file
ayto afairei ta dikaiwmata anagnwshs kai eggrafhs gia oloys, plhn toy idiokthth.
$ chmod ugo+rwx file
ayto dinei se oloys (xrhsth, omada, alloys) dikaiwmata anagnwshs, eggrafhs kai ekteleshs.
# chmod +s file
ayto ftiaxnei ena arxeio «setuid» h «suid» --- ena arxeio poy mporoun oloi na ektelesoyn, me ta dikaiwmata toy idiokthth toy. 8a synanthsete arketa suid arxeia toy root· ayta einai synh8ws shmantika arxeia toy systhmatos, opws o X server.
Enas pio suntomos tropos gia na anafer8ei kaneis sta dikaiwmata einai me ari8mhtika chfia: To rwxr-xr-x
mporei na ekfrastei ws 755 (ka8e gramma antistoixei se enan ari8mo: to ---
einai 0, to --x
einai 1, to -w-
einai 2, to -wx
einai 3...).
Deixnei duskolo, alla me ligh ejaskhsh 8a katalabete thn ennoia. O root, ontas o «yperxrhsths» mporei na allajei ta dikaiwmata twn arxeiwn olwn twn xrhstwn. RMP.
Aristera briskontai oi entoles toy DOS· dejia oi antistoixes gia to Linux.
ATTRIB: chmod
COPY: cp
DEL: rm
MOVE: mv
REN: mv
TYPE: more, less, cat
Telestes anakateu8ynshs (redirection) kai plumbing: < > >> |
Xarakthres Mpalanter: * ?
nul: /dev/null
prn, lpt1: /dev/lp0 h /dev/lp1; lpr
DOS Linux
---------------------------------------------------------------------
C:\NIKOS>ATTRIB +R FILE.TXT $ chmod 400 file.txt
C:\NIKOS>COPY JOE.TXT JOE.DOC $ cp joe.txt joe.doc
C:\NIKOS>COPY *.* TOTAL $ cat * > total
C:\NIKOS>COPY FRACTALS.DOC PRN $ lpr fractals.doc
C:\NIKOS>DEL TEMP $ rm temp
C:\NIKOS>DEL *.BAK $ rm *~
C:\NIKOS>MOVE PAPER.TXT TMP\ $ mv paper.txt tmp/
C:\NIKOS>REN PAPER.TXT PAPER.ASC $ mv paper.txt paper.asc
C:\NIKOS>PRINT LETTER.TXT $ lpr letter.txt
C:\NIKOS>TYPE LETTER.TXT $ more letter.txt
C:\NIKOS>TYPE LETTER.TXT $ less letter.txt
C:\NIKOS>TYPE LETTER.TXT > NUL $ cat letter.txt > /dev/null
n/a $ more *.txt *.asc
n/a $ cat section*.txt | less
Shmeiwseis:
*
einai ejypnotero sto Linux: to *
shmainei ola ta
arxeia ektos apo ta kryfa· to .*
shmainei ola ta kryfa arxeia (kai
epishs ton trexonta katalogo `.
' kai ton prohgoumeno `..
':
prosoxh!)· to *.*
shmainei mono ta arxeia poy exoyn ena `.
' sth
mesh me mia teleia· to p*r
shmainei «peter» kai «piper»· to *c*
shmainei «picked» kai «peck»·
more
, piezete <SPACE> gia na
diabasete to arxeio kai «q» gia ejodo. To less
exei perissoteres
leitoyrgies kai epitrepei th xrhsh twn belwn·
UNDELETE
, gi' ayto skefteite to kala protou
sbhsete otidhpote·
< > >>
toy DOS, to Linux exei
2>
gia na anakatey8unei mhnumata la8oys (stderr)· epipleon, to
2>&1
anakatey8unei apo to stderr sto stdout, enw to
1>&2
anakatey8unei apo to stdout sto stderr·
[]
. Xrhsh: to [abc]*
shmainei ola ta arxeia poy jekinoun me a, b, c· to *[I-N1-3]
shmainei
ta arxeia poy teleiwnoyn se I, J, K, L, M, N, 1, 2, 3·
lpr
<file> typwnei mia selida sto paraskhnio. Gia na elegjete thn
katastash ths allhloyxias ektupwshs (print queue) xrhsimopoieiste to lpq
· gia na
afairesete ena arxeio apo thn allhloyxia ektupwshs xrhsimopoieiste lprm
·
RENAME
toy DOS· dhladh, to mv *.xxx *.yyy
de 8a doylecei.
Mia entolh paromoia me thn REN einai dia8esimh sto
ftp://sunsite.unc.edu/pub/Linux/utils/file·
cp -i
kai mv -i
gia na eidopoih8eite otan ena arxeio
prokeitai na epikalyf8ei.
Gia na trejete ena programma plhktrologeiste to onoma toy opws 8a kanate kai sto DOS. An o
katalogos (Enothta
Xrhsh Katalogwn) poy einai egkatesthmeno
to programma periexetai sto the PATH (Section
Arxeia Arxikopoihshs (Initialisation) Systhmatos), to programma 8a jekinhsei.
Ejairesh: En anti8esei pros to DOS, sto Linux ena programma poy periexetai ston trexonta
katalogo de 8a trejei, ektos an o katalogos periexetai sto PATH. Lush: an to programma einai prog
plhktrologeiste ./prog
.
H synh8hs grammh ergaleiwn einai kapws etsi:
$ command [-s1 [-s2] ... [-sn]] [par1 [par2] ... [parn]] [< input] [> output]
opoy -s1
, ..., -sn
einai oi diakoptes ths entolhs, par1
,
..., parn
einai oi parametroi toy programmatos. Mporeite na xrhsimopoihsete
perissoteres ths mias entoles sthn grammh entolwn:
$ command1 ; command2 ; ... ; commandn
Ayta exw na pw gia to trejimo programmatwn, einai omws polu aplo na poume kati perissotero. Enas apo toys basikous logoys gia th xrhsh toy Linux einai to gegonos oti prokeitai gia ena polydiergasiako L.S., dhladh oti mporei na trexei perissotera toy enos programmata (ef' ejhs diadikasies (processes) taytoxronws). Mporeite na jekinate diadikasies sto peri8wrio (background) synexizontas na ergazeste opws prin. Epipleon, sto Linux mporeite na exete polles synedries: einai san na exete pollous ypologistes na leitoyrgoun taytoxronws!
su - <loginname>
. Paradeigma: su - root
. Ayto einai
xrhsimo, gia paradeigma, an 8elete na ektelesete mia ergasia poy mporei na kanei mono o
root.
exit
. An yparxoyn
stamathmenes ergasies (stopped jobs) (blepe parakatw), 8a eidopoih8eite.
&
'
sto telos ths grammhs entolwn:
$ programma [-diakoptes] [parametroi] [< eisodos] [> eksodos] &
[1] 123
to kelyfos anagnwrizei th diadikasia me enan ari8mo ergasias (p.x. [1]
· bl.
parakatw), kai me enan PID (Process Identification Number, Ari8mo Anagnwrisews Diadikasias
· sto paradeigma mas 123).
ps ax
. Ayto 8a dwsei
ws apotelesma enan katalogo twn trexontwn diadikasiwn th stigmh ayth.
kill
<PID>
. Kapoies fores isws 8elhsete na skotwsete mia diadikasia otan den jerete pws
na thn termatisete me ton fysiologiko tropo... Mporeite na skotwsete tis diadikasies allwn
xrhstwn monon an eiste o root. Kapoies fores, mia diadikasia skotwnetai monon me
kill -SIGKILL <PID>
.
Epipros8etws, to kelyfos sas epitrepei na stamatate h na diakoptete proswrina mia
diadikasia, na th steilete sto paraskhnio kai na ferete mia diadikasia apo to paraskhnio.
Otan anaferomaste se ayta ta 8emata 8a kaloume tis diadikasies «ergasies» (jobs).
jobs
. Edw, oi ergasies
anagnwrizontai apo ton ari8mo ergasias toys kai oxi to PID.
bg <%job>
(metatrepetai se ergasia).
fg <%job>
. Gia
na ferete sto foreground thn teleytaia ergasia poy steilate sto paraskhnio, dwste apla fg
.
kill <%job>
opoy
<job> mporei na einai 1, 2, 3,...
Xrhsei aytwn twn entolwn mporeite na diamorfwsete ena disko, na sympiesete ena plh8os arxeiwn, na metaglwttisete ena programma kai na aposympiesete ena sympiesmeno arxeio taytoxronws, exontas akomh to prompt sth dia8esh sas! Dokimaste na to kanete ayto kai sta Windows kai deite thn diafora apodosews (ef' oson den kollhsoyn....).
Gia na trejete ena programma se enan apomakrysmeno ypologisth onomati remote.machine.edu
:
$ telnet remote.machine.edu
Afou kanete log in, jekinhste to agaphmeno sas programma. Ennoeite pws 8a prepei na exete logariasmo kelufoys (shell account) ston apomakrysmeno ypologisth.
An exete X11, mporeite na trejete kai efarmoges X apo apomakrysmenoys ypologistes,
kanontas tis na fainontai sthn o8onh toy proswpikou sas ypologisth. Estw
remote.machine.edu
to apomakrysmeno susthma kai local.linux.box
to Linuxokoyto
sas. Gia na trejete apo to local.linux.box
mia efarmogh X eyriskomenh sto remote.machine.edu
,
kante ta parakatw:
xterm
h kapoion allon symbato ejomoiwth
termatikou (terminal emulator) kai plhktrologeiste:
$ xhost +remote.machine.edu
$ telnet remote.machine.edu
remote:$ DISPLAY=local.linux.box:0.0
remote:$ progname &
(anti gia DISPLAY...
, isws xreiastei na gracete: setenv DISPLAY
local.linux.box:0.0
. Ejartatai apo to apomakrysmeno kelyfos.)
Et voila! To progname
8a jekinhsei ston remote.machine.edu
kai 8a fainetai ston
ypologisth sas. Kalutera na mhn to xrhsimopoihsete omws me sundesh mesw modem, giati 8a
einai ejairetika argo kai ara oxi idiaitera xrhsimo.. Epipleon, einai mia ajesth kai
anasfalhs me8odos: kalutera diabaste to «Remote X Apps mini-HOWTO» sth dieu8ynsh
http://sunsite.unc.edu/LDP/HOWTO/mini/Remote-X-Apps.