Académique Documents
Professionnel Documents
Culture Documents
unix οδηγός αρχαρίων σε οκτώ μαθήματα PDF
unix οδηγός αρχαρίων σε οκτώ μαθήματα PDF
html
=. 1,"#. /% UNIX;
>*+1,# 3#. ?.1*(#5,1$
?%µ6 @#/#0)(-"
A13."8"/#$ B"# =1*µ#/.3) /%2 UNIX
3-4() 5672µ$
8+1(+-) 5672µ$
>"/.(*#D6 >*+1,-"
F1/#D%*4 >*+1,-"
?.#(*#D6 >*+1,-" 3#. @#/#0)(-"
CµD4".5' E1*.1+%µB"-" >*+1,%2 5/'" 7:)"'
>"#G6/'5' 5/# E1*.1+)µ1"# C")$ >*+1,%2
9-:() 5672µ$
>"#3#/1;:2"5'
>"#3#/1;:2"5' /'$ CH)&%2
>"#3#/1;:2"5' /'$ C.5)&%2
I-0'"851.$ (pipes)
9;($-() 5672µ$
J#*#3/6*1$ F9#0#"/B*
I2µ<451.$ 5/# 7")µ#/# >*+1,-"
>"#G6/'5' 5/' K%6:1.#
3;µ<() 5672µ$
=.() 5672µ$
=>?)µ) 5672µ$
@%?)) 5672µ$
UNIX 1,"#. B"# 5/#:1*) 5;5/'µ# /% %9%,% B+1. /'" .3#")/'/# "#
13/101, 9%004 9*%(*4µµ#/# /#2/)+*%"# 3#. "# 1H29'*1/1, 9%00%;$
+*65/1$ /'" ,&.# 5/.(µ6. C,"#. 3#/400'0% (.# 1H29'*1/'/B$ (servers) µ'+#"6µ#/# (*#D1,%2
(dekstops) 5/#:µ%;$ 1*(#5,#$ (workstations) 3#. D%*'/%;$ 29%0%(.5/B$.
=# 525/6µ#/# UNIX &.#:B/%2" 3#. (*#D.3) 91*.<400%" 1*(#5,#$ (GUI) 9#*)µ%.% µ1 #2/) 9%2
+*'5.µ%9%.1,/#. 5/# Microsoft Windows. =% (*#D.3) 91*.<400%" 9#*B+1. B"# 1;3%0% /*)9%
1*(#5,#$. O5/)5% 6 ("85' /%2 UNIX 1,"#. #9#*#,/'/' (.# 1*(#5,1$ 9%2 &1" 3#0;9/%"/#. #9)
349%.% (*#D.3) 1*(#01,%, 6 )/#" /% (*#D.3) 91*.<400%" &1" 1,"#. &.#:B5.µ%, (.# 9#*4&1.(µ# )/#"
1,µ#5/1 52"&1&1µB"%. µB5- #9%µ#3*25µB"'$ 9*)5<#5'$.
I/% 5+%01,% µ#$ +*'5.µ%9%.%;µ1 FreeBSD 5/% C*(#5/6*.% 1 3#. Debian Linux 5/%
C*(#5/6*.% 2. ?.#:B/%2µ1 #3)µ# B"# FreeBSD 3#. B"# Debian 1H29'*1/'/6.
A 3,-'B$C
7 92*6"#$ /%2 UNIX 1,"#. /% 3B"/*% /%2 01./%2*(.3%; 525/6µ#/%$. ?.#:B/1. +*)"% 3#. µ"6µ' 5/#
9*%(*4µµ#/# 3#. +1.*,G1/#. /% 5;5/'µ# #*+1,-" 3#. /.$ 19.3%."-",1$, #"/#9%3*.")µ1"% 5/.$ 30651.$
525/6µ#/%$.
O$ 9#*4&1.(µ# /%2 /*)9%2 µ1 /%" %9%,% 52"1*(4G%"/#. /% 3B02D%$ 3#. % 92*6"#$, #$ 29%:B5%2µ1
)/. B"#$ +*65/'$ (*4D1. /'" 1"/%06 rm myfile (' %9%,# B+1. -$ #9%/B015µ# /' &.#(*#D6 /%2
#*+1,%2 myfile). =% 3B02D%$ Q4+"1. 5/% 5;5/'µ# #*+1,-" (.# /% #*+1,% 9%2 91*.B+1. /% 9*)(*#µµ#
rm 3#. B91./# G'/41. #9) /%" 92*6"#, µB5- 30651-" 525/6µ#/%$ "# 13/10B51. /% rm 5/% myfile.
R/#" %0%30'*-:1, ' &.1*(#5,# rm myfile /% 3B02D%$ 19.5/*BD1. /'" 9*%/*%96 % 5/% +*65/',
&1,+"%"/#$ /%2 B/5. )/. 1,"#. B/%.µ% "# &1+:1, 4001$ 1"/%0B$.
9) D;E,F)C
=% 3B02D%$ 1"1*(1, -$ &.19#D6 (1"&.4µ15%$) µ1/#H; /%2 +*65/' 3#. /%2 92*6"#. R/#" % +*65/'$
1.5B0:1. 5/% 5;5/'µ#, /% 9*)(*#µµ# 9%2 1,"#. 291;:2"% (.# /'" #"#("8*.5' /%2 (/% login) 10B(+1.
/% )"%µ# +*65/' 3#. /%" 3-&.3) /%2 3#. 3#/)9." H13."41. /% 9*)(*#µµ# 9%2 1,"#. ("-5/) -$
3B02D%$. =% 3B02D%$ 1,"#. B"# 9*)(*#µµ# 1*µ'"1,#$ 1"/%08" (command line interpreter 6 CLI).
C*µ'"1;1. /.$ 1"/%0B$ 9%2 (*4D1. % +*65/'$ 3#. 3#"%",G1. (.# /'" 13/B015' /%2$. 7. 1"/%0B$ /%2
+*65/' 1,"#. 3#. #2/B$ 9*%(*4µµ#/#: )/#" /1*µ#/,G%2", /% 3B02D%$ &1,+"1. H#"4 /'" 9*%/*%96 (% 6
$) 5/% +*65/' &1,+"%"/#$ )/. µ9%*1, "# 52"1+,51. µ1 /'" 13/B015' 400-" 1"/%08".
R9%.%$ +*65/'$ &.#:B/1. .3#"B$ ("851.$ µ9%*1, "# 9*%5#*µ)51. /' 52µ91*.D%*4 /%2 310;D%2$
/%2. P94*+1. #3)µ# ' &2"#/)/'/# +*65'$ &.#D%*1/.3%; 310;D%2$ #3)µ# 3#. 51 B"# µ)"% µ'+4"'µ#.
I/% 5+%01,% µ#$ /% 3B02D%$ 9%2 +*'5.µ%9%.%;µ1 #9) 9*%19.0%(6 1,"#. /% bash.
To bash B+1. 349%.# +#*#3/'*.5/.34 9%2 <%':%;" /% +*65/' )/#" 1.54(1. 1"/%0B$:
>2/)µ#/' 52µ906*-5' %")µ#/%$ #*+1,%2 - E0'3/*%0%(8"/#$ µ)"% B"# µB*%$ µ.#$ 1"/%06$ 6 1")$
%")µ#/%$ #*+1,%2 3#. 9.BG%"/#$ /% Tab, /% 3B02D%$ :# 52µ90'*851. #2/)µ#/# /% 29)0%.9% µB*%$.
>" /% 3B02D%$ <*1. 91*.55)/1*# #9) B"# %")µ#/# 9%2 "# /#.*.4G%2" µ1 /# (*4µµ#/# 9%2 B+%2"
90'3/*%0%(':1,, :# #3%25/1, B"#$ +#*#3/'*.5/.3)$ 6+%$ (beep) 9%2 5'µ#,"1. )/. 9*B91. "# (*4Q1/1
#3)µ# µ1*.34 (*4µµ#/# 3#. "# 9.B51/1 H#"4 /% tab.
S5/%*.3) - =% 3B02D%$ &.#/'*1, µ.# 0,5/# /-" 1"/%08" 9%2 B+1/1 90'3/*%0%(651.. >" 9*B91. "#
19#"#04<1/1 µ.# 1"/%06 µ9%*1,/1 "# +*'5.µ%9%.651/1 /# 94"- 3#. 34/- <1043.# 5/% 90'3/*%0)(.%
(.# "# &1,/1 3#. "# 13/10B51/1 H#"4 /.$ 9*%'(%;µ1"1$ 1"/%0B$. F9%*1,/1 19,5'$ "# (*4Q1/1 /'"
1"/%06 history (.# "# &1,/1 µ.# 0,5/# µ1 /.$ 9*%'(%;µ1"1$ 1"/%0B$ 5#$.
F.# &.1*(#5,# 1,"#. B"# 9*)(*#µµ# 9%2 13/101,/#. /' &1&%µB"' 5/.(µ6 3#. µ9%*1, "# #"#("-*.5/1,
#9) B"# µ%"#&.3) #*.:µ) &.1*(#5,#$, PID (process identifier).
!"# #*+1,% 1,"#. µ.# 5200%(6 &1&%µB"-". =# #*+1,# &'µ.%2*(%;"/#. #9) /%2$ +*65/1$ µ1 /'"
<%6:1.# 52"/#3/8" 31.µB"%2, µ1/#(0-//.5/8" 3.0.9.
E#*#&1,(µ#/# #*+1,-":
=% 31,µ1"% 1")$ 9*%(*4µµ#/%$ )9-$ B+1. (*#D1, 51 µ.# (0855# 9*%(*#µµ#/.5µ%; 2Q'0%;
19.9B&%2
7&'(,1$ 9%2 1,"#. #912:1,#$ 3#/#"%'/B$ #9) /% µ'+4"'µ# #004 #3#/#")'/1$ #9) B"#
D25.%0%(.3) +*65/'. T.# 9#*4&1.(µ# µ.# 5200%(6 #9) &2#&.34 Q'D,# (B"# 13/10B5.µ% 6 &2#&.3)
#*+1,%).
!"#$ 3#/40%(%$ 9%2 91*.B+1. 90'*%D%*,1$ 5+1/.34 µ1 /# 91*.1+)µ1"# /%2. =# 91*.1+)µ1"# µ9%*1,
"# 1,"#. B"# µ1,(µ# #9) #*+1,# 3#. 400%2$ 3#/#0)(%2$ (29%3#/#0)(%2$).
7(µ9 :&'&;1/<%
=# #*+1,# %µ#&%9%.%;"/#. 51 µ.# &%µ6 3#/#0)(-". =% 5;5/'µ# #*+1,-" B+1. .1*#*+.36 &%µ6, )9-$
B"# #"45/*%D% &B"/*%. N 3%*2D6 /'$ .1*#*+,#$ 3#/4 9#*4&%5' %"%µ4G1/#. root (3#. (*4D1/#. -$
µ.# 34:1/%$ / )
I/% 9#*#94"- &.4(*#µµ#, <0B9%2µ1 )/. % 9*%5-9.3)$ 3#/40%(%$ (home) /%2 9*%9/2+.#3%;
D%./'/6 "ee51vn" 91*.B+1. &;% 29%3#/#0)(%2$ (docs 3#. pics) 3#. B"# #*+1,%, /% report.doc.
U# 1µD#".5/1, B"# 9#*4:2*% /1*µ#/.3%; µ1 µ.# 9*%/*%96 (% 6 $) 5/% %9%,% µ9%*1,/1 "# #*+,51/1
"# (*4D1/1 1"/%0B$.
ls (list)
F)0.$ 1.5B0:1/1 5/% 5;5/'µ#, % #*+.3)$ 5#$ 3#/40%(%$ 1,"#. % 9*%5-9.3)$ 5#$ 3#/40%(%$,
("-5/)$ 3#. -$ home directory. 7 9*%5-9.3)$ 5#$ 3#/40%(%$ B+1. /% ,&.% )"%µ# µ1 /% )"%µ#
+*65/' 5#$, (.# 9#*4&1.(µ# ee91ab 3#. 51 #2/)" #9%:'31;%"/#. /# #*+1,# 3#. %. 29%3#/40%(%.
9%2 &'µ.%2*(1,/1.
% ls
N 1"/%06 ls ( /# µ.3*4 (*4µµ#/# L 3#. S ) &1,+"1. µ.# 0,5/# /-" 91*.1+%µB"-" /%2 /*B+%"/%$
3#/#0)(%2.
=' &1&%µB"' 5/.(µ6 ,5-$ "# µ'" 294*+%2" %*#/4 #*+1,# 5/%" 3#/40%(% 5#$, 3#. 51 #2/6 /'"
91*,9/-5' :# &1,/1 #908$ H#"4 /'" 9*%/*%96 /%2 310;D%2$ 5#$. V5-$ )µ-$ % &.#+1.*.5/6$
525/6µ#/%$ "# B+1. 6&' <401. 349%.# #*+1,# 5/% 0%(#*.#5µ) 5#$, /'" 8*# 9%2 /%" &'µ.%;*('51.
N ls 5/'" 9*#(µ#/.3)/'/# &1" &1,+"1. )0# /# #*+1,# /%2 3#/#0)(%2 5#$, #004 µ)"% #2/4 9%2 /%
)"%µ# /%2$ &1" #*+,G1. µ1 /101,# (.) =# #*+1,# 9%2 H13."4"1 µ1 /101,# (.) 1,"#. ("-5/4 3#. -$ 3*2D4
#*+1,# 3#. 52"6:-$ 91*.B+%2" 5'µ#"/.3B$ *2:µ,51.$ 9*%(*#µµ4/-". C,"#. 3*2D4 (.#/, &1" 9*B91.
"# /# #004G1/1, 13/)$ #" 1,5/1 1H%.31.-µB"%$ µ1 /% UNIX!!!
T.# "# &1,/1 )0# /# #*+1,# 5/%" 3#/40%(% 5#$, 52µ91*.0#µ<#"%µB"-" 3#. #2/8" 9%2 H13."4"1 µ1
/'" /101,#, 90'3/*%0%(65/1:
% ls -a
R9-$ µ9%*1,/1 "# &1,/1, /% ls -a &1,+"1. 3#. /# #*+1,# 9%2 3#"%".34 1,"#. 3*2D4.
N 1"/%06 ls 1,"#. B"# 3#0) 9#*4&1.(µ# 1"/%06$ 9%2 µ9%*1, "# &1+:1, 9*%#.*1/.34 %*,5µ#/#: /% -a
1,"#. B"# /B/%.% 9#*4&1.(µ#. =# 9*%#.*1/.34 %*,5µ#/# 6 9#*4µ1/*%. #004G%2" /' 52µ91*.D%*4 µ.#$
1"/%06$. =% UNIX &.#:B/1. B"# 1"5-µ#/-µB"% 5;5/'µ# <%6:1.#$ /% %9%,% µ9%*1, "# 5#$ 91. 9%.1$
9#*#µB/*%2$ &B+1/#. 34:1 1"/%06 3#. 9-$ 34:1 µ.# #9) #2/B$ µ1/#<400%2" /' 52µ91*.D%*4 /'$
1"/%06$ (:# /% &%;µ1 #*()/1*# 5/% µ4:'µ#).
U# &'µ.%2*(65%2µ1 /8*# B"# 29%3#/40%(% µB5# 5/%" 9*%5-9.3) 5#$ 3#/40%(%, (.# "# 3*#/4µ1
/# #*+1,# /# %9%,# :# &'µ.%2*(651/1 3#/4 /' &.4*31.# #2/8" /-" µ#:'µ4/-". T.# "# &'µ.%2*(651/1
B"# 29%3#/40%(% µ1 /% )"%µ# unixstuff 5/%" /*B+%"/# 3#/40%(%, 90'3/*%0%(65/1:
% mkdir unixstuff
% ls
cd (change directory)
N 1"/%06 cd directory #004G1. /%" /*B+%"/# 3#/40%(% 51 #2/)" 9%2 #"#DB*1/#. -$ 'directory'.
F9%*1,/1 "# 531D/1,/1 /%" /*B+%"/# 3#/40%(% -$ #2/)" 9%2 <*,5315/1 /' &1&%µB"' 5/.(µ6 (/' :B5'
5#$ &'0. µB5# 5/% &B"/*% /%2 525/6µ#/%$ #*+1,-" 9%2 1,&#µ1 9*%'(%2µB"-$).
% cd unixstuff
T*4Q/1 ls (.# "# &1,/1 /# 91*.1+)µ1"# /%2 (&1" :# &1,/1 /,9%/# (.#/, 1,"#. 4&1.%$!)
G#.2#2 1a
% ls -a
R9-$ µ9%*1,/1 "# &1,/1, 5/%" 3#/40%(% unixstuff (#004 3#. 51 )0%2$ /%2$ 400%2$ 3#/#0)(%2$),
294*+%2" &;% 1.&.3%, 3#/40%(%. µ1 /.$ %"%µ#5,1$ (.) 3#. (..)
I/% UNIX, ' (.) 5'µ#,"1. /%" /*B+%"/# 3#/40%(%, B/5. #" 90'3/*%0%(651/1
% cd .
I'µ1,-5': 294*+1. B"# 31") µ1/#H; /'$ 1"/%06$ cd 3#. /'$ /101,#$ (.)
>*+.34 #2/) µ400%" &1" :# 5#$ D#"1, +*65.µ%, #004 :# &1,/1 #*()/1*# )/. +*'5.µ%9%.8"/#$ /% (.)
-$ /% )"%µ# /%2 /*B+%"/%$ 3#/#0)(%2, :# 5#$ (02/851. #9) 453%9' 90'3/*%0)('5'.
% cd ..
:# 5#$ 941. B"# 3#/40%(% 194"- 5/'" .1*#*+,# (5/' 52(313*.µB"' 91*,9/-5', 5/%" 9*%5-9.3)
5#$ 3#/40%(%). ?%3.µ45/1 /% /8*#.
I'µ1,-5': >" 90'3/*%0%(651/1 cd +-*,$ 3#"B"# )*.5µ#, :# (2*,51/1 94"/# 5/%" 9*%5-9.3) 5#$
3#/40%(%. >2/) 1,"#. +*65.µ% #" B+1/1 +#:1, µB5# 5/% 5;5/'µ# #*+1,-".
1.5 7"&*.(µC8
7. &.#&*%µB$ 5#$ 19./*B9%2" "# #"#3#0;Q1/1 9%2 <*,5315/1 51 5+B5' µ1 )0% /% 5;5/'µ# #*+1,-".
T.# 9#*4&1.(µ#, (.# "# <*1,/1 /'" #9)02/' &.#&*%µ6 /%2 9*%5-9.3%; 5#$ 3#/#0)(%2, (*4Q/1 cd
(.# "# 19.5/*BQ1/1 51 #2/)", 3#. B91./# 90'3/*%0%(65/1:
% pwd
/home/its/ug1/ee51vn
/% %9%,% 5'µ#,"1. )/. % ee51vn (% 9*%5-9.3)$ 5#$ 3#/40%(%$) <*,531/#. µB5# 5/%" 29%3#/40%(%
ug1 (/%" 3#/40%(% /'$ %µ4&#$),% %9%,%$ µ1 /' 51.*4 /%2 <*,531/#. µB5# 5/%" 29%3#/40%(% its 9%2
<*,531/#. 5/%" 29%3#/40%(% home % %9%,%$ <*,531/#. µB5# 5/% *.G.3) 3#/40%(%, ("-5/) -$ " / " .
G#.2#2 1b
J*'5.µ%9%.65/1 /.$ 1"/%0B$ cd, ls and pwd (.# "# 1H1*12"651/1 /% 5;5/'µ# #*+1,-".
(U2µ':1,/1 )/. #" +#:1,/1, µ9%*1,/1 "# +*'5.µ%9%.651/1 /'" 1"/%06 cd +-*,$ %*,5µ#/# (.# "#
19.5/*BQ1/1 4µ15# 5/%" 9*%5-9.3) 5#$ 3#/40%(%)
E0'3/*%0%(65/1 9*8/# cd (.# "# 19.5/*BQ1/1 5/%" 9*%5-9.3) 5#$ 3#/40%(%, 3#. B91./#:
% ls unixstuff
E0'3/*%0%(65/1 /8*#:
% ls backups
7 0)(%$ 9%2 <0B91/1 #2/) /% µ6"2µ#, 1,"#. )/. /% backups &1" <*,531/#. 5/%" /*B+%" 3#/40%(%
5#$. T.# "# +*'5.µ%9%.651/1 µ.# 1"/%06 51 B"# #*+1,% (6 3#/40%(%) 9%2 &1" <*,531/#. 5/%"
/*B+%"/# 3#/40%(% (51 #2/)" 9%2 1,5/1 µB5#), :# 9*B91. 1,/1 "# +*'5.µ%9%.651/1 /'" 1"/%06 cd (.#
"# µ1/#3."':1,/1 5/% 5-5/) 3#/40%(%, 6 "# 3#:%*,51/1 /'" 906*' &.#&*%µ6 /%2. T.# "# &1,/1 /#
91*.1+)µ1"# /%2 3#/#0)(%2 backups, :# 9*B91. "# (*4Q1/1:
% ls unixstuff/backups
F9%*1,/1 "# +*'5.µ%9%.651/1 /%" +#*#3/6*# ~ (.# "# #"#D1*:1,/1 5/%" 9*%5-9.3) 5#$ 3#/40%(%.
F9%*1,/1 "# +*'5.µ%9%.651/1 #2/) /% +#*#3/6*# (.# "# 9*%5&.%*,51/1 &.#&*%µB$ 9%2 H13."%;"
#9) /%" 3#/40%(% 5#$. >" 90'3/*%0%(651/1:
% ls ~/unixstuff
:# &1,/1 /# 91*.1+)µ1"# /%2 3#/#0)(%2 5#$ unixstuff, 45+1/% µ1 /% 9%2 <*,5315/1 /' &1&%µB"'
5/.(µ6 µB5# 5/% 5;5/'µ# #*+1,-".
% ls ~
% ls ~/..
D#.$;+E+
!"#$%& '(µ)*+)
cp (copy)
N 1"/%06 cp file1 file2 &'µ.%2*(1, B"# #"/,(*#D% /%2 file1 5/%" /*B+%"/# 3#/40%(% 3#. /%
%"%µ4G1. file2.
=8*#, :# #"/.(*4Q%2µ1 B"# #*+1,% 9%2 294*+1. 51 349%.% 5'µ1,% /%2 525/6µ#/%$ #*+1,-" (3#.
5/% %9%,% B+%2µ1 9*)5<#5') µB5# 5/%" 3#/40%(% unixstuff 9%2 B+%2µ1 &'µ.%2*(651.,
+*'5.µ%9%.8"/#$ /'" 1"/%06 cp.
>*+.34 +*'5.µ%9%.65/1 /'" 1"/%06 cd (.# "# µ1/#3."':1,/1 5/%" 3#/40%(% unixstuff.
% cd ~/unixstuff
% cp /vol/examples/tutorial/science.txt .
I'µ1,-5': F'" H1+451/1 /'" /101,# . 5/% /B0%$. U2µ':1,/1 )/. ' /101,# 5/% UNIX 52µ<%0,G1. /%"
/*B+%"/# 3#/40%(%.
G#.2#2 2a
?'µ.%2*(65/1 B"# #"/,(*#D% #5D#01,#$ /%2 #*+1,%2 science.txt, #"/.(*4D%"/#$ /% 51 B"# #*+1,%
µ1 )"%µ# science.bak
mv (move)
T.# "# µ1/#3."651/1 B"# #*+1,% #9) µ.# :B5' 51 µ.# 400', +*'5.µ%9%.65/1 /'" 1"/%06 mv. >2/) B+1.
-$ #9%/B015µ# /'" µ1/#3,"'5' #"/, (.# /'" #"/.(*#D6 /%2 #*+1,%2, B/5. 5/% /B0%$ :# B+1/1 B"#
#"/,(*#D% /%2 #*+1,%2 #"/, (.# &;%.
F9%*1,/1 19,5'$ "# +*'5.µ%9%.651/1 /'" 1"/%06 mv (.# "# µ1/%"%µ451/1 B"# #*+1,%. >2/) (,"1/#.
#" /% µ1/#3."651/1 5/%" ,&.% 3#/40%(% #004 µ1 &.#D%*1/.3) )"%µ#.
>*+.34 µ1/#3."':1,/1 5/%" 3#/40%(% unixstuff (109,G%2µ1 "# :2µ)5#5/1 9-$ (,"1/#.). !91./#, 3#:8$
1,5/1 µB5# 5/%" 3#/40%(% unixstuff, 90'3/*%0%(65/1:
% mv science.bak backups/.
E0'3/*%0%(65/1 ls 3#. ls backups (.# "# &1,/1 #" ' 1"/%06 01./%;*('51 3#"%".34.
T.# "# &.#(*4Q1/1 B"# #*+1,%, +*'5.µ%9%.65/1 /'" 1"/%06 rm. O$ 9#*4&1.(µ#, :# &'µ.%2*(65%2µ1
B"# #"/,(*#D% /%2 #*+1,%2 science.txt 3#. B91./# :# /% &.#(*4Q%2µ1.
% cp science.txt tempfile.txt
% ls
% rm tempfile.txt
% ls
F9%*1,/1 "# +*'5.µ%9%.651/1 /'" 1"/%06 rmdir (.# "# &.#(*4Q1/1 B"# 3#/40%(% (<1<#.-:1,/1
9*8/# )/. 1,"#. 4&1.%$). E*%59#:65/1 "# &.#(*4Q1/1 /%" 3#/40%(% backups. ?1" :# µ9%*B51/1 "#
/% 34"1/1, 3#:8$ /% UNIX &1" :# 5#$ #D651. "# &.#(*4Q1/1 B"# 3#/40%(% 9%2 &1" 1,"#. 4&1.%$.
G#.2#2 2b
?'µ.%2*(65/1 B"# 3#/40%(% µ1 /% )"%µ# tempstuff +*'5.µ%9%.8"/#$ /'" 1"/%06 mkdir, 3#. B91./#
&.#(*4Q/1 /%" +*'5.µ%9%.8"/#$ /'" 1"/%06 rmdir.
E*." H13."651/1 µ1 /'" 19)µ1"' 1")/'/#, ,5-$ :B01/1 "# 3#:#*,51/1 /% 9#*4:2*% /%2 /1*µ#/.3%;
#9) /.$ 9*%'(%;µ1"1$ 1"/%0B$, 85/1 ' BH%&%$ /-" 1"/%08" 9%2 #3%0%2:%;" "# 1,"#. H134:#*'.
% clear
>2/) :# 3#:#*,51. /% 9#*4:2*% 3#. :# 5#$ #D651. µ)"% µ1 /'" 9*%/*%96 $ 5/% 94"- µB*%$.
cat (concatenate)
F9%*1,/1 "# +*'5.µ%9%.651/1 /'" 1"/%06 cat (.# "# &1,/1 /# 91*.1+)µ1"# 1")$ #*+1,%2 5/'" %:)"'
5#$. E0'3/*%0%(65/1:
% cat science.txt
R9-$ µ9%*1,/1 "# &1,/1, /% #*+1,% 1,"#. µ1(#0;/1*% #9) /% µB(1:%$ /%2 9#*#:;*%2 3#. B/5.
5;"/%µ# 32041. 9*%$ /# 94"- µ1 #9%/B015µ# "# µ'" µ9%*%;µ1 "# /% &%;µ1 %0)30'*%.
less
N 1"/%06$ less (*4D1. /# 91*.1+)µ1"# 1")$ #*+1,%2 5/'" %:)"', µ.# 510,&# 34:1 D%*4.
E0'3/*%0%(65/1:
% less science.txt
I/% /B0%$ 34:1 510,&#$ 9.B5/1 /% [space-bar] #" :B01/1 "# &1,/1 /'" 19)µ1"' 510,&#, 6 /% [q] (.# "#
/1*µ#/,51/1 /'" #"4("-5'. R9-$ 3#/#0#<#,"1/1, ' less 1,"#. 9*%/.µ)/1*' #9) /'" cat (.# µ1(40#
#*+1,#.
head
N 1"/%06 head (*4D1. /.$ &B3# 9*8/1$ (*#µµB$ 1")$ #*+1,%2 5/'" %:)"'.
% head science.txt
!91./# 90'3/*%0%(65/1:
% head -5 science.txt
tail
N 1"/%06 tail 1µD#",G1. /.$ &B3# /1012/#,1$ (*#µµB$ 1")$ #*+1,%2 5/'" %:)"'.
% tail science.txt
C*8/'5': E-$ µ9%*1,/1 "# &1,/1 /.$ 15 /1012/#,1$ (*#µµB$ 1")$ #*+1,%2;
J*'5.µ%9%.8"/#$ /'" 1"/%06 less, µ9%*1,/1 "# Q4H1/1 /% #*+1,% (.# µ.# 0BH' 301.&,. T.#
9#*4&1.(µ#, (.# "# Q4H1/1 /% #*+1,% science.txt (.# /' 0BH' 'science', 90'3/*%0%(65/1:
% less science.txt
3#. 3#:8$ 13/101,/#. ' less, 90'3/*%0%(65/1 µ.# 34:1/% [/] #3%0%2:%;µ1"' #9) /' 0BH' 9%2
Q4+"1/1
/science
R9-$ µ9%*1,/1 "# &1,/1 ', less <*,531. 3#. D-/,G1. /' 0BH'. E0'3/*%0%(65/1 [n] (.# "# <*1,/1 /%
19)µ1"% 5'µ1,% 9%2 1µD#",G1/#. ' 0BH'.
N 1"/%06 grep #9%/101, B"# #9) /# /29%9%.'µB"# <%':'/.34 1*(#01,# /%2 UNIX X4+"1. #*+1,# (.#
3#:%*.5µB"1$ 0BH1.$ 6 patterns. >*+.34 3#:#*,5/1 /'" %:)"' 3#. B91./# 90'3/*%0%(65/1:
R9-$ µ9%*1,/1 "# &1,/1, ' grep 1µD4".51 34:1 (*#µµ6 9%2 91*.B+1. /'" 0BH' science.
N µ69-$ )+.;
?%3.µ45/1 /% 9#*#34/-:
N 1"/%06 grep &.#+-*,G1. µ.3*4-31D#0#,#. !/5. /% Science 1,"#. &.#D%*1/.3) #9) /% science.
T.# "# µ'" (,"1/#. &.#+-*.5µ)$ µ.3*8"-31D#0#,-", +*'5.µ%9%.65/1 /'" 19.0%(6 -i, &'0.
90'3/*%0%(65/1:
T.# "# Q4H1/1 (.# µ.# D*45' 6 B"# pattern, :# 9*B91. "# /% 91*.301,51/1 51 µ%"4 1.5#(-(.34. T.#
9#*4&1.(µ#, (.# "# Q4H1/1 (.# /' D*45' spinning top, 90'3/*%0%(65/1:
?%3.µ45/1 349%.1$ #9) #2/B$ /.$ 19.0%(B$ 3#. &1,/1 /# &.#D%*1/.34 #9%/10B5µ#/#. F'" H1+"4/1 )/.
µ9%*1,/1 "# +*'5.µ%9%.651/1 91*.55)/1*1$ #9) µ.# 19.0%(B$ 34:1 D%*4. T.# 9#*4&1.(µ#, <*1,/1
/%" #*.:µ) /-" (*#µµ8" 9%2 &1" 91*.B+%2" /.$ 0BH1.$ science 6 Science.
wc (word count)
!"# .&.#,/1*# <%':'/.3) µ.3*) 9*)(*#µµ# 1,"#. /% wc /% %9%,% µ1/*41. 0BH1.$. T.# "# µ1/*651/1 /.$
0BH1.$ 5/% #*+1,% science.txt, 90'3/*%0%(65/1:
% wc -w science.txt
% wc -l science.txt
D#.$;+E+
!"#$%& '(µ)*+)
grep 'keyword' file B3C" 2%' '($"#. -&' µ&' 6/-)")(&µ2%1 +2C1
!+%2µ1 6&' &1. /' +*65' /'$ 1"/%06$ cat µ1 /'" %9%,# µ9%*%;µ1 "# 1µD#",5%2µ1 /# 91*.1+)µ1"#
1")$ #*+1,%2 5/'" %:)"'.
T*4Q/1 /8*# /'" 1"/%06 cat +-*,$ "# 9*%5&.%*,51/1 349%.% #*+1,% 9%2 "# &.#<451.:
% cat
T*4Q/1 B91./# 349%.1$ 0BH1.$ 5/% 90'3/*%0)(.% 3#. 9.B5/1 /% 9063/*% [Return.
=B0%$, 9.B5/1 /% 9063/*% [Ctrl] 3#. 3#:8$ /% 3*#/4/1, 9.B5/1 /% [d] (#2/) 1"' 52"/%µ,# (*4D1/#. ^D)
(.# "# /1*µ#/,51/1 /'" 1,5%&%.
=. 52"B<';
>" 13/10B51/1 /'" 1"/%06 cat +-*,$ "# 3#:%*,51/1 349%.% #*+1,% (.# "# &.#<451., &.#<4G1. /'"
/29%9%.'µB"' 1,5%&% (/% 90'3/*%0)(.%) 3#. µ)0.$ 04<1. /% +#*#3/6*# /B0%2$ #*+1,%2 (/% ^D),
#"/.(*4D1. /'" 1,5%&% 5/'" /29%9%.'µB"' BH%&% (/'" %:)"').
I/% UNIX B+%2µ1 /' &2"#/)/'/# "# #"#3#/12:;"%2µ1 /)5% /'" 1,5%&% )5% 3#. /'" BH%&% /-"
1"/%08".
T*4Q/1 B91./# /# %")µ#/# µ1*.38" D*%;/-". E.B5/1 [Return] µ1/4 #9) 34:1 )"%µ#.
pear
banana
apple
^D {!"#$ %&µ'()*+ [Ctrl] ,'+ [d] -+' #./01}
>2/) 9%2 52µ<#,"1., 1,"#. )/. ' 1"/%06 cat &.#<4G1. /'" /29%9%.'µB"' 1,5%&% (/% 90'3/*%0)(.%) 3#.
/% > #"#3#/12:;"1. /'" BH%&% - 9%2 D25.%0%(.34 1,"#. ' %:)"' - 51 B"# #*+1,% µ1 /% )"%µ# list1
% cat list1
G#.2#2 3a
J*'5.µ%9%.8"/#$ /'" 9#*#94"- µB:%&%, &'µ.%2*(65/1 B"# #*+1,% µ1 /% )"%µ# list2 9%2 "#
91*.B+1. /# 9#*#34/- D*%;/#: 9%*/%340., µ#"/#*,"., µ4"(3%, (3*B.9D*%2/. J*'5.µ%9%.65/1 /'"
3#/400'0' 1"/%06 (.# "# &.#<451/1 /# 91*.1+)µ1"# /%2 list2
J*'5.µ%9%.8"/#$ /' µ%*D6 >> µ9%*1,/1 "# 9*%5:B51/1 /'" /29%9%.'µB"' BH%&% 5/% /B0%$ 1")$
6&' 294*+%"/%$ #*+1,%2, +-*,$ "# &.#(*4Q1/1 /# 91*.1+)µ1"# 9%2 B+1. 6&'. !/5., (.# "#
9*%5:B51/1 91*.55)/1*1$ 3#/#+-*,51.$ 5/% #*+1,% list1, 90'3/*%0%(65/1:
peach
grape
orange
^D (Control D -+' #./01 *+%$20")
% cat list1
U# 9*B91. "# B+1/1 /8*# &;% #*+1,#. =% B"# 91*.B+1. BH. D*%;/#, /% 400% 91*.B+1. /B551*# D*%;/#.
U# +*'5.µ%9%.65%2µ1 /8*# /'" 1"/%06 cat (.# "# 1"85%2µ1 (concatenate) /# &;% #*+1,#, /% list1
3#. /% list2 51 B"# "B% #*+1,% µ1 /% )"%µ# biglist. E0'3/*%0%(65/1:
N 1"/%06 #2/6 &.#<4G1. /# 91*.1+)µ1"# /-" #*+1,-" list1 3#. list2 µ1 /' 51.*4 9%2 D#,"%"/#. 3#.
(*4D1. /'" BH%&% 5/% #*+1,% biglist
% cat biglist
% sort
T*4Q/1 B91./# /# %")µ#/# µ1*.38" G8-". E.B5/1 [Return] µ1/4 #9) 34:1 )"%µ#.
dog
cat
bird
ape
^D (control d -+' )' %#'µ'#3%*#*)
ape
bird
cat
dog
F9%*1,/1 "# +*'5.µ%9%.651/1 /% < (.# "# #"#3#/12:;"1/1 /'" 1,5%&% 85/1 "# 9*%B*+1/#. #9) B"#
#*+1,% #"/, (.# /% 90'3/*%0)(.%. T.# 9#*4&1.(µ#, (.# "# /#H."%µ651/1 /' 0,5/# µ1 /# D*%;/#,
90'3/*%0%(65/1:
J*'5.µ%9%.65/1 /'" 1"/%06 cat (.# "# &.#<451/1 /# 91*.1+)µ1"# /%2 #*+1,%2 slist
3.4 2<;+%>4#"8
T.# "# &1,/1 9%.%$ 400%$ 1,"#. 52"&1&1µB"%$ 5/% 5;5/'µ# µ#G, µ1 154$, 90'3/*%0%(65/1:
% who
F.# µB:%&%$ (.# "# &1,/1 #2/6 /' 0,5/# %"%µ4/-" /#H."%µ'µB"', 1,"#. "# 90'3/*%0%(651/1:
>2/) 1,"#. 349-$ #*(), 3#. :# 9*B91. 19,5'$ "# :2µ':1,/1 "# &.#(*4Q1/1 /% 9*%5-*.") #*+1,%
names.txt )/#" /101.851/1. >2/) 9%2 5/'" 9*#(µ#/.3)/'/# :B01/1 "# 34"1/1, 1,"#. "# 1"851/1 µ1
349%.% /*)9% /'" BH%&% /'$ 1"/%06$ who µ1 /'" 1,5%&% /'$ 1"/%06$ sort. >2/) #3*.<8$ 34"%2" %.
5-0'"851.$. =% 5;µ<%0% /'$ 5-06"-5'$ 1,"#. ' 34:1/' µ94*# |
% who | sort
3#. :# 94*1/1 /% ,&.% #9%/B015µ# µ1 /% 9#*#94"-, #004 9.% (*6(%*# 3#. 3#:#*4.
T.# "# <*1,/1 9)5%. +*65/1$ <*,53%"/#. #2/6 /' 5/.(µ6 5/% 5;5/'µ#, 90'3/*%0%(65/1:
% who | wc -l
G#.2#2 3b
J*'5.µ%9%.8"/#$ 5-0'"851.$, &1,H/1 )01$ /.$ (*#µµB$ /-" #*+1,-" list1 3#. list2 9%2 91*.B+%2" /%
D#.$;+E+
!"#$%& '(µ)*+)
command >> file D(.68;)1 */7.7.&1µ2%10 "C,<./ 6*. *2+.0 /73($.%*.0 '($"#./
A L$-$.('-$C *
% ls list*
>2/) :# &1,H1. )0# /# #*+1,# /%2 /*B+%"/%$ 3#/40%(%2 9%2 H13."4"1 µ1 /# (*4µµ#/# list....
% ls *list
>2/) :# &1,H1. )0# /# #*+1,# /%2 /*B+%"/%$ 3#/40%(%2 9%2 /101.8"%2" µ1 /# (*4µµ#/# ....list
A L$-$.('-$C ?
% ls ?list
R/#" %"%µ4G%2µ1 #*+1,#, 9*B91. "# #9%D1;(%2µ1 +#*#3/6*1$ 9%2 B+%2" 1.&.36 5'µ#5,# )9-$ / *
& %. C9,5'$ 3#0) 1,"#. "# #9%D1;(1/1 /# 31"4 &.#5/6µ#/# 5/# %")µ#/#. 7 #5D#0B5/1*%$ /*)9%$
"# %"%µ4G1/1 #*+1,#, 1,"#. µ1 (*4µµ#/# 3#. #*.:µ%;$ /%2 0#/.".3%; #0D4<'/%2, 3#:8$ 3#. µ1 /#
5;µ<%0# _ (34/- 9#;0#) 3#. . (/101,#).
project.txt project
@#/4 9#*4&%5', /# %")µ#/# #*+1,-" H13."%;" µ1 B"# µ.3*) (*4µµ# 3#. µ9%*1, "# /101.8"%2" µ1
µ.# /101,# 9%2 #3%0%2:1,/#. #9) µ.# %µ4&# (*#µµ4/-" 9%2 +#*#3/'*,G%2" /# 91*.1+)µ1"# /%2
#*+1,%2. T.# 9#*4&1.(µ#, )0# /# #*+1,# 9%2 91*.B+%2" 38&.3# 51 (0855# C µ9%*1, "# /101.8"%2"
µ1 /'" 3#/40'H' .c, 9.+. prog1.c. !91./#, (.# "# &1,/1 µ.# 0,5/# )0-" /-" #*+1,-" 9%2 91*.B+%2"
38&.3# 51 C 5/%" 3#/40%(% 5#$, +*1.4G1/#. #908$ "# (*4Q1/1 ls *.c )/#" <*,5315/1 51 #2/) /%"
3#/40%(%.
=% 5;5/'µ4 5#$ 91*.B+1. 1"5-µ#/-µB"1$ 510,&1$ <%6:1.#$ 9%2 µ9%*%;" "# 5#$ &85%2"
90'*%D%*,1$ (.# /.$ 91*.55)/1*1$ 1"/%0B$. 7. 510,&1$ <%6:1.#$ :# 5#$ 90'*%D%*65%2" 5+1/.34 µ1
/.$ 19.0%(B$ 9%2 B+1. 34:1 1"/%06 3#. 9-$ #2/B$ µ1/#<400%2" /' 52µ91*.D%*4 /'$. E0'3/*%0%(65/1
man command (.# "# &1,/1 /' 510,&# <%6:1.#$ (manual) µ.#$ 52(313*.µB"'$ 1"/%06$.
T.# 9#*4&1.(µ#, (.# "# µ4:1/1 019/%µB*1.1$ (.# /'" 1"/%06 wc (word count), 90'3/*%0%(65/1:
% man wc
% whatis wc
3#. :# 94*1/1 µ.# 5;"/%µ' 91*.(*#D6 (51 µ.# (*#µµ6) /'$ 1"/%06$, +-*,$ /.$ 019/%µB*1.1$ 5+1/.34
µ1 /.$ 19.0%(B$ 3.0.9.
Apropos
% apropos keyword
N 1"/%06 #2/6 :# 5#$ &851. /.$ 1"/%0B$ 9%2 91*.B+%2" /' 0BH' 301.&, (keyword) 5/'" 19.31D#0,&#
/'$ 510,&#$ <%6:1.#$ /%2$. T.# 9#*4&1.(µ#:
% apropos copy
Summary
!"#$%& '(µ)*+)
apropos keyword @:("61 *9% "%*.+A% 7./ 7"(&2$./% *. keyword 6*1% 7"(#+1>1 *./0
@4:1 #*+1,% (3#. 3#/40%(%$) B+1. 349%.# &.3#.8µ#/# 9*)5<#5'$ 9%2 /%2 #"#0%(%;" 3#. /# %9%,#
µ9%*1,/1 "# &1,/1 (*4D%"/#$ ls -l. C9,5'$, ' 1"/%06 ls -lg &,"1. 9*)5:1/1$ 90'*%D%*,1$, )9-$
(.# 9#*4&1.(µ# /% )"%µ# /'$ %µ4&#$ 5/'" %9%,# #"631. /% #*+1,% (5/% 9#*4&1.(µ# µ#$, beng95):
I/'" 9.% #*.5/1*6 5/60', 294*+1. µ.# 51.*4 #9) 10 5;µ<%0# 5/# %9%,# 1µD#",G%"/#. /# (*4µµ#/#
d, r, w, x, - 3#. 91*.5/#5.#34 /% s 6 /% S. >" 294*+1. /% d, :# 1,"#. 1"/108$ #*.5/1*4 3#. 52µ<%0,G1.
)/. /% )"%µ# 9%2 <0B9%2µ1 1,"#. 5/'" 9*#(µ#/.3)/'/# 3#/40%(%$. >" 1,"#. #*+1,%, 5/' :B5' /%2 d
:# 294*+1. µ.# 9#;0# (-).
=# 9 5;µ<%0# 9%2 #9%µB"%2", &1,+"%2" /.$ 4&1.1$ 6 &.3#.8µ#/# 9*)5<#5'$ 3#. %µ#&%9%.%;"/#. 51
/*1.$ %µ4&1$ µ1 /*,# 5;µ<%0# ' 34:1 µ,#
N #*.5/1*6 %µ4&# /-" /*.8" 52µ<)0-" &1,+"1. /# &.3#.8µ#/# (.# /%" +*65/' % %9%,%$ 1,"#.
34/%+%$ /%2 #*+1,%2 6 /%2 3#/#0)(%2 (ee51ab 5/% 9#*#94"- 9#*4&1.(µ#)
N µ15#,# %µ4&# &1,+"1. /# &.3#.8µ#/# (.# /'" %µ4&# #":*89-" 5/'" %9%,# #"631. /% #*+1,% 6
3#/40%(%$ (eebeng95 5/% 9#*#94"- 9#*4&1.(µ#)
=# 5;µ<%0# r, w, 3.0.9. B+%2" 10#D*4 &.#D%*1/.3) ")'µ# #"40%(# µ1 /% #" #"#DB*%"/#. 51 B"#
#90) #*+1,% 6 51 B"# 3#/40%(%.
=% r (6 -), &1,+"1. &.3#,-µ# #"4("-5'$ (6 )+.). F1 0,(# 0)(.#, #" 294*+1. µ9%*%;µ1 "# &.#<45%2µ1
3#. "# #"/.(*4Q%2µ1 /% #*+1,%.
=% w (6 -), &1,+"1. &.3#,-µ# 1((*#D6$ (6 )+.). F1 0,(# 0)(.# #" µ9%*%;µ1 "# (*4Q%2µ1 6 µ1
349%.% /*)9% "# #004H%2µ1 /% #*+1,%.
=% x (6 -), &1,+"1. &.3#,-µ# 13/B015'$ (6 )+.). F1 0,(# 0)(.# #" µ9%*%;µ1 "# 13/10B5%2µ1 #2/) /%
#*+1,% (>" #2/) D25.34 B+1. ")'µ#, 9.+. #" /% #*+1,% 1,"#. 349%.% 13/10B5.µ% 9*)(*#µµ#).
=% r 19./*B91. 51 +*65/1$ "# <0B9%2" /' 0,5/# /-" #*+1,-" 1")$ 3#/#0)(%2.
=% w 19./*B91. 51 +*65/1$ "# &.#(*4D%2" #*+1,# #9) /%" 3#/40%(% 6 "# µ1/#3."%;" #*+1,# µB5#
51 #2/)".
=% x 19./*B91. /'" 9*)5<#5' 51 #*+1,# /%2 3#/#0)(%2. >2/) 29%"%1, )/. B+1/1 /' &2"#/)/'/# "#
&.#<4G1/1 #*+1,# 5/%" 3#/40%(%, µ1 /'" 9*%Z9):15' )/. B+1. &.3#.8µ#/# 5/# 52(313*.µB"#
#*+1,#.
!/5., (.# "# µ9%*1,/1 "# &.#<451/1 B"# #*+1,%, :# 9*B91. "# B+1/1 &.3#.8µ#/# 13/B015'$ 5/%"
3#/40%(% 5/%" %9%,% <*,531/#. 3#. 4*# 3#. 5/%" 3#/40%(% 9%2 /%" 91*.B+1. 3.%.3.
5+-".6 3$-$?+:%µ$($
-rwxrwxrwx H%' '($"#. *. .7.#. µ7.("# )'82%'0 %' <&'G36"&, %' '++3C"& )'& %' <&'-(3>"&.
H%' '($"#. *. .7.#. µ7.("# µ,%. . &<&.)*;*10 %' -(3>"& )'& %' <&'G36"&, )'& )'%"#0
-rw------- 3++.0 <"% 2$"& .7.&.<;7.*" <&)'#9µ'. I'%"#0 (.:*" . &<&.)*;*10) 2$"& <&)'#9µ'
")*2+"610. J&' 7'(3<"&-µ', µ7.("# %' "#%'& *. '($"#. µ" *' email 6'0.
F)"% % .&.%3/6/'$ 1")$ #*+1,%2 µ9%*1, "# +*'5.µ%9%.651. /'" chmod (.# "# #004H1. /# &.3#.8µ#/#
1")$ #*+1,%2. 7. 19.0%(B$ /'$ 1"/%06$ chmod 1,"#. %. 9#*#34/-:
'0µ1$%$ '(µ)*+)
u $(;6*10
g .µ3<'
o /7,+.&7.&
a ,+.&
r '%3-%961
+ 7(.68;)1 <&)'&Aµ'*.0
- <&'-('5; <&)'&Aµ'*.0
T.# 9#*4&1.(µ#, (.# "# #D#.*B51/1 /# &.3#.8µ#/# 1((*#D6$ 3#. 13/B015'$ 5/% #*+1,% biglist (.# /'"
%µ4&# 3#. /%2$ 29)0%.9%2$ +*65/1$:
T.# "# &851/1 &.3#.8µ#/# #"4("-5'$ 3#. 1((*#D6$ 5/% #*+1,% biglist 51 )0%2$:
G#.2#2 5a
?%3.µ45/1 "# #004H1/1 &.3#.8µ#/# 5/% #*+1,% science.txt 3#. 5/%" 3#/40%(% backups.
J*'5.µ%9%.65/1 /'" 1"/%06 ls -l (.# "# 10B(H1/1 )/. /# &.3#.8µ#/# B+%2" 9*#(µ#/.34 #004H1..
% ps
F.# &.1*(#5,# µ9%*1, "# <*,531/#. 5/% 9*%536".%, 5/% 9#*#536".%, 6 51 9#;5'. I1 (1".3B$
(*#µµB$ /% 3B02D%$ &1" 19.5/*BD1. /'" 9*%/*%96 1"/%06$ µB+*. "# /1*µ#/.5/1, ' /*B+%25#
&.1*(#5,#.
F1*.3B$ &.1*(#5,1$ +*1.4G%"/#. 9%0; +*)"% (.# "# 13/1015/%;" 3#. 5/% µ1/#H; 1µ9%&,G%2" /' +*65'
/%2 /1*µ#/.3%;. >" µ1/#DB*1/1 µ.# /B/%.# &.1*(#5,# 5/% 9#*#536".%, :# µ9%*B51/1 "# B+1/1 4µ15#
&.#:B5.µ' /'" 9*%/*%96 1"/%08". F9%*1,/1 B/5. "# 52"1+,51/1 "# 13/101,/1 4001$ 1"/%0B$ 3#:8$ '
#*+.36 &.1*(#5,# 52"1+,G1. "# 13/101,/#..
T.# "# H13."651/1 µ.# &.1*(#5,# 5/% 9#*#536".%, 9*%5:B5/1 B"# & 5/% /B0%$ /'$ (*#µµ6$ 1"/%06$.
T.# 9#*4&1.(µ#, ' 1"/%06 sleep 1.54(1. µ.# #"#µ%"6, (.# )5# &12/1*)019/# /'$ &85%2µ1.
E0'3/*%0%(65/1:
% sleep 10
N 9#*#94"- 1"/%06 91*.µB"1. 10 &12/1*)019/# 9*." 19.5/*BQ1. ' 9*%/*%96 /%2 310;D%2$. FB+*.
"# &1,/1 H#"4 /'" 9*%/*%96 &1" µ9%*1,/1 "# 34"1/1 /,9%/# 13/)$ #9) /% "# 91*.µB"1/1.
% sleep 10 &
[1] 6259
F1 /% & ' 1"/%06$ 13/101,/#. 5/% 9#*#536".% 3#. ' 9*%/*%96 19.5/*BD1. #µB5-$. F9%*1,/1 "#
13/10B5/1 400# 9*%(*4µµ#/# 3#:8$ 91*.µB"1/1 #2/6 /'" 1"/%06 "# /101.851..
N 9*8/' (*#µµ6 5/% 9#*#94"- 9#*4&1.(µ#, B+1. 90'3/*%0%(':1, #9) /%" +*65/'. N 19)µ1"'
(*#µµ6 9%2 #"#DB*1. /% #*.:µ) /'$ &.1*(#5,#$ 3#. /%2 job, 9*%B*+1/#. #9) /% µ'+4"'µ#. 7
+*65/'$ 1.&%9%.1,/#. (.# /%" #*.:µ) /%2 job (H13."41. #9) /%" #*.:µ) 1) % %9%,%$ 91*.301,1/#. 51
#(3;01$ 3#. (.# /%" #*.:µ) /'$ &.1*(#5,#$. C9,5'$ 1.&%9%.1,/#. )/#" /101.851. ' 13/B015' µ.#$
&.1*(#5,#$ 9%2 13/101,/#. 5/% 9#*#536".%. N 13/B015' 5/% 9#*#536".% 1,"#. +*65.µ' (.# 1*(#5,1$
9%2 34"%2" #*31/) +*)"% "# %0%30'*-:%;".
% sleep 1000
F9%*1,/1 "# <401/1 /'" &.1*(#5,# 9%2 13/101,/#. 5/% 9*%536".% 51 #"#µ%"6, 90'3/*%0%(8"/#$ ^Z,
&'0. 3*#/8"/#$ 9.15µB"% /% 9063/*% [Ctrl] 3#. 9.BG%"/#$ /% [z]. T.# "# :B51/1 3#/)9." /' &.1*(#5,#
5/% 9#*#536".%, 90'3/*%0%(65/1:
% bg
I'µ1,-5': F' 5/B0"1/1 5/% 9#*#536".% &.1*(#5,1$ 9%2 +*1.4G%"/#. 1,5%&% #9) /% +*65/', 9.+.
/% vi
% jobs
T.# "# H13."651/1 H#"4 (5/% 9*%536".%) µ.# &.1*(#5,# 9%2 B+1. &.#3%91,, 90'3/*%0%(65/1:
% fg %!"#$µ%& job
T.# 9#*4&1.(µ#, (.# "# H13."651/1 H#"4 /'" 1"/%06 sleep 1000, 90'3/*%0%(65/1:
% fg %1
>" (*4Q1/1 fg +-*,$ "# &851/1 #*.:µ) job, :# 19#"#DB*1/1 5/% 9*%536".% /'" /1012/#,#
&.1*(#5,# 9%2 &.#3)Q#/1.
F1*.3B$ D%*B$ 1,"#. #9#*#,/'/% "# /1*µ#/,5%2µ1 µ.# &.1*(#5,# ()/#" (.# 9#*4&1.(µ# 13/101, B"#
#/B*µ%"% <*)+%).
T.# "# /1*µ#/,51/1 µ.# &.1*(#5,# 9%2 13/101,/#. 5/% 9*%536".%, 9.B5/1 ^C (control c). T.#
9#*4&1.(µ#, 13/10B5/1:
% sleep 100
^C
T.# "# /1*µ#/,51/1 µ.# &.1*(#5,# 9%2 <*,531/#. 5/% 9#*#536".% 6 B+1. &.#3%91,, (*4Q/1:
% kill %4
T.# "# 10B(H1/1 #" /% 9#*#94"- 01./%;*('51, 10B(H/1 H#"4 /' 0,5/# /-" jobs (.# "# &1,/1 #" B+1.
#D#.*1:1, ' &.1*(#5,#.
ps (.$(6#($#2 ?"+-%$#:$C)
C"#00#3/.34, µ9%*1,/1 "# /1*µ#/,51/1 µ.# &.1*(#5,# +*'5.µ%9%.8"/#$ /%" #"#("-*.5/.3) #*.:µ)
/'$ (PID) 3#. /'" 1"/%06 kill PID_number
% kill 20077
3#. B91./# 90'3/*%0%(65/1 ps H#"4 (.# "# &1,/1 #" B+1. &.#(*#D1, #9) /'" 0,5/#.
>" µ.# &.1*(#5,# #*"1,/#. "# /1*µ#/,51., +*'5.µ%9%.65/1 /'" 19.0%(6 -9:
% kill -9 20077
I'µ1,-5': ?1" µ9%*1,/1 "# /1*µ#/,51/1 /.$ &.1*(#5,1$ 400-" +*'5/8" !!!
D#.$;+E+
!"#$%& '(µ)*+)
chmod [options] file =++3K"& *' <&)'&Aµ'*' 7(,6G'610 *./ 6/-)")(&µ2%./ '($"#./
quota
T.# "# 10B(H1/1 /% µB(.5/% &.#:B5.µ% 5#$ +8*% 3#:8$ 3#. 9)5% B+1/1 3#/#"#0851.,
90'3/*%0%(65/1:
% quota -v
df
N 1"/%06 df /%" 101;:1*% +8*% 9%2 B+1. #9%µ1,"1. 5/% 5;5/'µ# #*+1,-". T.# 9#*4&1.(µ#, (.# "#
&1,/1 9)5%$ &.#:B5.µ%$ +8*%$ 294*+1. 5/% µ'+4"'µ# 5#$ (*4Q/1:
% df -h
du
N 1"/%06 du &1,+"1. 51 kilobytes /% +8*% 9%2 3#/#0#µ<4"1. 34:1 29%3#/40%(%$. C,"#. +*65.µ' #"
B+1/1 H191*451. /% &.#:B5.µ% +8*% 9%2 B+1. 3#:%*.5/1, (.# /% 0%(#*.#5µ) 5#$ 3#. :B01/1 "# &1,/1
9%.%$ 3#/40%(%$ 1,"#. #2/)$ 9%2 91*.B+1. /# 91*.55)/1*# #*+1,#. I/% 9*%5-9.3) 5#$ 3#/40%(%,
90'3/*%0%(65/1:
% du -s *
N 19.0%(6 -s :# &1,H1. µ)"% /'" 91*,0'Q' (/% 52"%0.3) µB(1:%$) 1"8 /% * 5'µ#,"1. )/. :# 0'D:%;"
29)Q." )0# /# #*+1,# 3#. %. 3#/40%(%..
gzip
=% 9*)(*#µµ# #2/) 52µ9.BG1. #*+1,#, µ1.8"%"/#$ B/5. /% +8*% 9%2 3#/#0#µ<4"%2" 5/% &,53%, 3#.
% ls -l science.txt
3#. 5'µ1.85/1 /% µB(1:%$ /%2 #*+1,%2 )9-$ #"#DB*1/#. #9) /'" 1"/%06 ls -l. T.# "# 52µ9.B51/1
B91./# /% science.txt, 90'3/*%0%(65/1:
% gzip science.txt
T.# "# &1,/1 /'" #00#(6 5/% µB(1:%$, +*'5.µ%9%.65/1 H#"4 /'" 1"/%06 ls -l.
% gunzip science.txt.gz
zcat
N 1"/%06 zcat #91.3%",G1. #*+1,# 52µ9.15µB"# µ1 /% gzip, +-*,$ "# +*1.4G1/#. "# /# #9%52µ9.B51.
9*8/#.
% zcat science.txt.gz
>" /% 31,µ1"% 9*%+-*41. 9%0; (*6(%*# (.# 5#$, 91*45/1 /'" BH%&% µB5- /'$ 1"/%06$ less:
file
N 1"/%06 file #"#("-*,G1. /% 1,&%$ /%2 #*+1,%2 #"40%(# µ1 /% 91*.1+)µ1"% /%2, (.# 9#*4&1.(µ#
31,µ1"% (ASCII), D-/%(*#D,#, 52µ9.15µB"# &1&%µB"# 3.#. T.# "# 94*1/1 µ.# #"#D%*4 (.# )0# /#
1,&' #*+1,-" 9%2 294*+%2" 5/%" 3#/40%(% 5#$, 90'3/*%0%(65/1:
% file *
diff
N 1"/%06 #2/6 52(3*,"1. /# 91*.1+)µ1"# &;% #*+1,-" 3#. &1,+"1. /.$ &.#D%*B$ µ1/#H; /%2$.
P9%:B5/1 )/. (.# 9#*4&1.(µ# B+1/1 /% #*+1,% file1, #004G1/1 349%.% /µ6µ# /%2, 3#. /% #9%:'31;1/1
-$ file2. T.# "# &1,/1 /.$ &.#D%*B$ µ1/#H; /%2$, (*4Q/1:
7. (*#µµB$ 9%2 H13."4"1 µ1 < #"#DB*%"/#. 5/% file1, 1"8 #2/B$ 9%2 H13."4"1 µ1 > &1,+"%2" /% file2.
find
N 1"/%06 #2/6 Q4+"1. 5/%2$ 3#/#0)(%2$, (.# #*+1,# 3#. 3#/#0)(%2$ 9%2 /#.*.4G%2" µ1 B"# )"%µ#,
'µ1*%µ'",#, µB(1:%$ 6 %9%.#&69%/1 400' 9#*4µ1/*% B+1/1 &851.. E*)31./#. (.# #906 1"/%06, #004
B+1. 94*# 9%00B$ 19.0%(B$ - µ9%*1,/1 "# /.$ &1,/1 5/'" #"/,5/%.+' 510,&# <%6:1.#$ µ1 /'" 1"/%06
man find.
T.# "# Q4H1/1 (.# )0# /# #*+1,# µ1 /'" 3#/40'H' .txt, H13."8"/#$ #9) /%" /*B+%"/# 3#/40%(% (.) 3#.
52"1+,G%"/#$ 51 )0%2$ /%2$ 29%3#/#0)(%2$, /298"%"/#$ /% )"%µ# /%2 #*+1,%2 5/'" %:)"',
90'3/*%0%(65/1:
T.# "# <*1,/1 )0# /# #*+1,# µ1 µB(1:%$ µ1(#0;/1*% #9) 1 Mb 3#. "# &1,/1 /# #9%/10B5µ#/# -$ 0,5/#
µ1 019/%µ1*1,$ 90'*%D%*,1$, 90'3/*%0%(65/1:
history
=% 3B02D%$ 3*#/41. µ.# 0,5/# (+*%".34 /#H."%µ'µB"') µ1 /.$ 1"/%0B$ 9%2 B+1/1 6&' 13/10B51.. @4:1
1"/%06 9#,*"1. B"# #*.:µ) #"40%(# µ1 /' 51.*4 13/B015'$ /'$:
>" +*'5.µ%9%.1,/#. /% 3B02D%$ C (csh), µ9%*1,/1 "# +*'5.µ%9%.651/1 /% :#2µ#5/.3) (!) (.# "#
#"#3#0B51/1 /.$ 1"/%0B$ µ1 1;3%0% /*)9%.
F9%*1,/1 "# #2H651/1 /% µB(1:%$ /'$ 9*%5-*."6$ #9%:63125'$ /%2 .5/%*.3%;, 90'3/*%0%(8"/#$:
% set history=200
!"# 5;5/'µ# UNIX µ9%*1, "# 91*.B+1. /)5% 101;:1*% )5% 3#. 1µ9%*.3) (.&.)3/'/%) 0%(.5µ.3).
T1".34 1,"#. &2"#/)" B"#$ +*65/'$ "# 3#/1<451. 3#. "# µ1/#(0-//,51. µ.3*4 9#3B/# 0%(.5µ.3%; 5/%
&.3) /%2 3#/40%(%. >2/) /% 0%(.5µ.3) 9.:#")" 1,"#. +*65.µ% µ)"% (.# 52(313*.µB"# 4/%µ#.
T.# "# 1(3#/#5/651/1 0%(.5µ.3) #9) /%" 9'(#,% 38&.3#, 1,"#. #9#*#,/'/# 349%.# <6µ#/#.
E*B91. "# 1"/%9,51/1 3#. "# 3#/1<451/1 /%" 9'(#,% 38&.3# (52"6:-$ &,"1/#. 51 52µ9.15µB"'
µ%*D6)
E*B91. "# D/.4H1/1 349%.1$ *2:µ,51.$ (path) 85/1 "# µ9%*1, "# <*1:1, /% 13/10B5.µ%
>9) )0# /# 9#*#94"- <6µ#/#, 9.:#"8$ /% 9.% &;53%0% 1,"#. ' µ1/#(08//.5' /%2 9'(#,%2 38&.3#.
R01$ %. (08551$ 2Q'0%; 19.9B&%2 9*B91. "# µ1/#/*#9%;" 51 µ.# µ%*D6 9%2 µ9%*1, "# 3#/#04<1.
% 29%0%(.5/6$. T.# 9#*4&1.(µ#, % 9'(#,%$ 38&.3#$ 51 (0855# C µ1/#/*B91/#. 51 µ.# (0855#
+#µ'0%; 19.9B&%2 9%2 %"%µ4G1/#. assembly. N assembly 9%2 9#*4(1/#. #9) #2/) /% 9*8/%
5/4&.% µ1/#/*B91/#. 5/%" #"/.31.µ1".3) 38&.3# (object code) % %9%,%$ 1,"#. 3%µµ4/.# 38&.3# /#
%9%,# % 29%0%(.5/6$ µ9%*1, "# 3#/#04<1. 4µ15#. =% /1012/#,% 5/4&.% 5/'" µ1/#(08//.5'
91*.0#µ<4"1. /'" 5;"&15' (link) /%2 #"/.31.µ1".3%; 38&.3# µ1 <.<0.%:631$ 38&.3# (libraries) %.
%9%,1$ 91*.B+%2" 52(313*.µB"1$ 1"5-µ#/-µB"1$ 52"#*/651.$ (functions). =% /1012/#,% #2/) 5/4&.%
9#*4(1. B"# 13/10B5.µ% 9*)(*#µµ#.
N 13/B015' )0-" #2/8" /-" <'µ4/-" µ1 /% +B*. 1,"#. 9%0;90%3' 3#. 9B*# #9) /.$ &2"#/)/'/1$ /%2
/29.3%; +*65/'. C2/2+8$, %. 9*%(*#µµ#/.5/B$ B+%2" D/.4H1. µ.# 51.*4 #9) 1*(#01,# 3#. <%':'/.34
9*%(*4µµ#/# 9%2 #90%9%.%;" /'" &.#&.3#5,#.
N 1"/%06 make 19./*B91. 5/%2$ 9*%(*#µµ#/.5/B$ "# &.#+1.*.5/%;" µ1(40# 9*%(*4µµ#/# 6 %µ4&1$
9*%(*#µµ4/-". K%':41. 5/'" #"49/2H' µ1(40-" 9*%(*#µµ4/-" 3#/#(*4D%"/#$ 9%.# 3%µµ4/.#
/%2 9*%(*4µµ#/%$ B+%2" #004H1. 3#. µ1/#(0-//,G%"/#$ µ)"% /# /µ6µ#/# 9%2 B+%2" µ1/#<0':1, 51
5+B5' µ1 /'" /1012/#,# µ1/#(08//.5'.
=% 9*)(*#µµ# make &.#<4G1. /%2$ 3#")"1$ 9%2 :# #3%0%2:651. (.# /'" µ1/#(08//.5' #9) B"#
#*+1,% 31.µB"%2 9%2 %"%µ4G1/#. Makefile 3#. /% %9%,% <*,531/#. 5/%" ,&.% 3#/40%(% µ1 /# #*+1,#
/%2 9'(#,%2 38&.3#. E1*.B+1. 90'*%D%*,1$ 5+1/.34 µ1 /%" /*)9% µ1/#(08//.5'$ /%2 0%(.5µ.3%;,
9.+. /% 19,91&% <10/.5/%9%,'5'$, #" :B0%2µ1 "# 52µ91*.0'D:%;" µB5# 5/% 13/10B5.µ% %&'(,1$
#9%5D#0µ4/-5'$ (debugging) 3.0.9. E1*.B+1. 19,5'$ 90'*%D%*,1$ (.# /'" /%9%:15,#
1(3#/45/#5'$ /%2 /10.3%; 13/10B5.µ%2 #*+1,%2, /-" 510,&-" <%6:1.#$ (manual pages), /-" #*+1,-"
&1&%µB"-", /2+)" <.<0.%:'38" 9%2 +*'5.µ%9%.%;"/#. #9) /% 13/10B5.µ%, #*+1,-" *2:µ,51-" 3.#.
F1*.34 9#3B/# #9#./%;" "# #004H1/1 /% Makefile +1.*%3,"'/# (.# "# *2:µ,51/1 /%" /10.3) 3#/40%(%
1(3#/45/#5'$ 3#. 9.:#")" 3#. 4001$ 9#*#µB/*%2$. O5/)5%, 9%004 9#3B/# &.#"Bµ%"/#. 90B%" µ1 /%
<%':'/.3) 9*)(*#µµ# GNU configure.
configure
N 1"/%06 configure 1,"#. B"# script (.# /% 3B02D%$ /% %9%,% 9*%59#:1, "# <*1. /.$ 5-5/B$ /.µB$
9%2 #9#./%;"/#. 51 &.4D%*1$ µ1/#<0'/B$ /%2 525/6µ#/%$ 3#. +*'5.µ%9%.%;"/#. 3#/4 /'
µ1/#(08//.5'. J*'5.µ%9%.1, #2/B$ /.$ /.µB$ (.# "# &'µ.%2*(651. B"# #*+1,% Makefile 51 34:1
3#/40%(% /%2 9#3B/%2.
2. E0'3/*%0%(65/1 ./configure (.# "# (,"1. *;:µ.5' /%2 9#3B/%2 (.# /% 5;5/'µ# 5#$.
4. E*%#.*1/.34, 90'3/*%0%(65/1 make check (.# "# /*BH1/1 /2+)" &.#("-5/.34 (9*%(*4µµ#/#
10B(+%2) 9%2 B*+%"/#. µ#G, µ1 /% 9#3B/%.
5. E0'3/*%0%(65/1 make install (.# "# 1(3#/#5/651/1 /# 9*%(*4µµ#/#, /# #*+1,# &1&%µB"-" 3#.
/'" /13µ'*,-5'.
6. E*%#.*1/.34, 90'3/*%0%(65/1 make clean (.# "# &.#(*4Q1/1 /# #*+1,# /%2 13/10B5.µ%2 3#.
#"/.31.µ1".3%; 38&.3# #9) /%" 3#/40%(% µ1 /% 9'(#,% 38&.3# /%2 9*%(*4µµ#/%$.
=% <%':'/.3) 9*)(*#µµ# configure 29%5/'*,G1. µ.# µ1(40' 9%.3.0,# 19.0%(8". F9%*1,/1 52"6:-$
"# +*'5.µ%9%.651/1 /'" 19.0%(6 --help (.# "# &1,/1 µ.# 0,5/# µ1 1"&.#DB*%251$ 19.0%(B$ (.# /%
52(313*.µB"% configure script 9%2 :# 13/10B51/1.
7. µ)"1$ (1".36$ D;51-$ 19.0%(B$ 9%2 9*)31./#. 9.:#")" "# +*'5.µ%9%.651/1 1,"#. %. --prefix 3#.
7 3#/40%(%$ 9%2 &,"1/#. 5/'" 19.0%(6 --prefix :# 91*.B+1. /# #*+1,# 9%2 &1" B+%2" 5+B5' µ1 /'"
#*+./13/%".36 /%2 µ'+#"6µ#/%$, )9-$ #*+1,# &1&%µB"-", /13µ'*,-5'$ 3#. *2:µ,51-"
7 3#/40%(%$ 9%2 &,"1/#. 5/'" 19.0%(6 --exec-prefix, (% %9%,%$ /29.34 1,"#. 29%3#/40%(%$ /%2
3#/#0)(%2 9%2 &,"1/#. 5/% --prefix), :# 91*.B+1. #*+1,# 9%2 1H#*/8"/#. #9) /% 52(313*.µB"%
µ'+4"'µ#, )9-$ /# 13/10B5.µ#.
>*+.34, &'µ.%2*(65/1 B"# 3#/40%(% (.# "# #9%:'31;51/1 /%" 9'(#,% 38&.3#:
% mkdir download
@#/1<45/1 #9) 1&8 /%" 9'(#,% 38&.3# 3#. #9%:'31;5/1 /%" 5/%" 3#/40%(% 9%2 &'µ.%2*(65#/1.
% cd download
% ls -l
R9-$ µ9%*1,/1 "# &1,/1, /% )"%µ# /%2 #*+1,%2 B+1. 3#/40'H' tar.gz. N 1"/%06 tar µ9%*1, "#
#9%:'31;51. #*31/4 #*+1,# 3#. 3#/#0)(%2$ 51 B"# µ%"#&.3) #*+1,% tar. =% #*+1,% 9%2 9*%3;9/1.
52µ9.BG1/#. B91./# µ1 /' +*65' /%2 9*%(*4µµ#/%$ gzip, &'µ.%2*(8"/#$ B/5. B"# #*+1,% tar.gz.
>*+.34, #9%52µ9.B5/1 /% #*+1,% +*'5.µ%9%.8"/#$ /'" 1"/%06 gunzip. U# &'µ.%2*(651/1 B/5. B"#
#*+1,% µ1 3#/40'H' .tar.
% gunzip units-1.74.tar.gz
E*%+-*65/1 B91./# 51 1H#(-(6 /-" #*+1,-" 9%2 91*.B+%"/#. 5/% #*+1,% .tar.
?1,/1 H#"4 /# 91*.1+)µ1"# /%2 3#/#0)(%2 download 3#. B91./# µ1/#3."':1,/1 5/%" 29%3#/40%(%
units-1.74.
% cd units-1.74
=% 9#3B/% units 9%2 µ1/#(0-//,G%2µ1 +*'5.µ%9%.1, /% 5;5/'µ# GNU configure (.# /'" µ1/#(08//.5'
/%2 9'(#,%2 38&.3#. U# 9*B91. "# 3#:%*,5%2µ1 /%" 3#/40%(% 1(3#/45/#5'$, 3#:8$ %
9*%19.01(µB"%$ :# <*,531/#. 5/%2$ 3;*.%2$ 3#/#0)(%2$ /%2 525/6µ#/%$ )9%2 &1" B+1/1
&2"#/)/'/# 1((*#D6$. U# 9*B91. "# &'µ.%2*(651/1 B"# 3#/40%(% 1(3#/45/#5'$ µB5# 5/%"
9*%5-9.3) 5#$ 3#/40%(%.
% mkdir ~/units174
C3/10B5/1 B91./# /% <%':'/.3) 9*)(*#µµ# configure, :B/%"/#$ /#2/)+*%"# 3#. /%" 3#/40%(% 9%2 :#
(,"1. ' 1(3#/45/#5'
% ./configure --prefix=$HOME/units174
I'µ1,-5': N µ1/#<0'/6 $HOME 1,"#. B"# 9#*4&1.(µ# µ1/#<0'/6$ 91*.<400%"/%$. N /.µ6 /%2
$HOME 1,"#. /% 906*1$ µ%"%94/. (.# /%" 9*%5-9.3) 5#$ 3#/40%(%. T.# "# /% &.#9.5/851/1,
#908$ 90'3/*%0%(65/1:
% echo $HOME
(.# "# &1,/1 /# 91*.1+)µ1"# #2/6$ /'$ µ1/#<0'/6$. U# µ.065%2µ1 91*.55)/1*% (.# /.$ µ1/#<0'/B$
91*.<400%"/%$ 51 19)µ1"% µ4:'µ#.
>" 13/1015/1, 5-5/4 /% configure, :# &'µ.%2*(651. B"# #*+1,% Makefile µ1 )01$ /.$ #9#*#,/'/1$
19.0%(B$. F9%*1,/1 "# &1,/1 /% Makefile #" :B01/1 (+*'5.µ%9%.65/1 3#. 940. /'" 1"/%06 less), #004
µ'" #004H1/1 /# 91*.1+)µ1"# /%2.
% make
F1/4 #9) B"# - &;% 019/4 (1H#*/4/#. #9) /'" /#+;/'/# /%2 29%0%(.5/6 5#$), :# &'µ.%2*(':%;" /#
13/10B5.µ#. F9%*1,/1 "# 10B(H1/1 #" ' µ1/#(08//.5' B(."1 5-5/4, 90'3/*%0%(8"/#$:
% make check
% make install
% cd ~/units174
>" &1,/1 /# 91*.1+)µ1"# /%2 3#/#0)(%2 units, :# <*1,/1 B"# #*.:µ) #9) 29%3#/#0)(%2$.
T.# "# 13/10B51/1 /% 9*)(*#µµ#, µ1/#3."':1,/1 5/%" 3#/40%(% bin 3#. (*4Q/1
% ./units
* 1.8288
T.# "# &1,/1 9%.1$ µ%"4&1$ µ9%*1, "# µ1/#/*BQ1., 3%./4H/1 /% #*+1,% &1&%µB"-" 5/%" 3#/40%(%
share (' 0,5/# 1,"#. 5+1/.34 µ1(40').
T.# "# &.#<451/1 /'" 906*' /13µ'*,-5', µ1/#3."':1,/1 5/%" 3#/40%(% info 3#. 90'3/*%0%(65/1:
% info --file=units.info
#2/), #" 1µD#".5/%;" 9*%<06µ#/# 3#/4 /'" 13/B015' /%2 9*%(*4µµ#/%$, % 9*%(*#µµ#/.5/6$
µ9%*1, "# D%*/851. /% 13/10B5.µ% 51 B"# 3#/400'0% 9*)(*#µµ# 3#. "# <*1. /# 9*%<06µ#/# (bugs).
>2/) 1,"#. +*65.µ% (.# /%" 9*%(*#µµ#/.5/6, #004 4+*'5/% (.# /%" +*65/'. F9%*%;µ1 "#
:1-*65%2µ1 )/. /% 9#3B/%, #9) /' 5/.(µ6 9%2 B+1. /101.851. 3#. 1,"#. &.#:B5.µ% (.# 3#/B<#5µ# B+1.
6&' &%3.µ#5/1, 3#. &.%*:-:1,. O5/)5%, )/#" µ1/#(0-//,5#µ1 /% 9#*#94"- 9#3B/%, 52µ91*.04<#µ1
5/% /10.3) 13/10B5.µ% 3#. /.$ 90'*%D%*,1$ #9%5D#0µ4/-5'$. F.# 3#. 1,"#. #9,:#"% "# /.$
+*1.#5/%;µ1 -$ /10.3%, +*65/1$ /%2 9*%(*4µµ#/%$, µ9%*%;µ1 "# /.$ <(40%2µ1 #9) /% 13/10B5.µ%.
U# B+%2µ1 B/5. /% 901%"B3/'µ# 1")$ µ.3*)/1*%2 13/10B5.µ%2 #*+1,%2 9%2 :# 13/101,/#. 3#. 0,(%
/#+;/1*#.
U# &%;µ1 /% µB(1:%$ /%2 13/10B5.µ%2 #*+1,%2 9*." 3#. µ1/4 /' &.#&.3#5,#. F1/#3."':1,/1 5/%"
29%3#/40%(% bin /%2 3#/#0)(%2 1(3#/45/#5'$ /%2 9*%(*4µµ#/%$ units:
% cd ~/units174/bin
% ls -l
R9-$ µ9%*1,/1 "# &1,/1, /% #*+1,% 1,"#. 94"- #9) 100 kbytes 51 µB(1:%$. F9%*1,/1 "# &1,/1
91*.55)/1*1$ 90'*%D%*,1$ (.# /% #*+1,% +*'5.µ%9%.8"/#$ /'" 1"/%06 file:
% file units
T.# "# &.#(*4Q1/1 #9) /% 13/10B5.µ% /.$ 90'*%D%*,1$ #9%5D#0µ4/-5'$ (debug) 3#. #*.:µ8"
(*#µµ8" #9) /% &2#&.3) #*+1,%, +*'5.µ%9%.65/1 /'" 1"/%06 strip:
% strip units
% ls -l
R9-$ µ9%*1,/1 "# &1,/1, /% #*+1,% /8*# 1,"#. µ)0.$ 36 kbytes - /% B"# /*,/% /%2 #*+.3%; /%2
µ1(B:%2$! ?;% /*,/# /%2 13/10B5.µ%2 #*+1,%2 3#/#0#µ<4"%"/#" #9) /.$ 90'*%D%*,1$
#9%5D#0µ4/-5'$.
% file units
I1 µ1*.3B$ 91*.9/851.$, µ9%*1,/1 "# +*'5.µ%9%.651/1 /'" 1"/%06 make (.# "# 1(3#/#5/651/1
&2#&.34 #*+1,# /# %9%,# #9) /'" #*+6 "# µ'" 91*.B+%2" 90'*%D%*,1$ #9%5D#0µ4/-5'$. >"/, "#
(*4Q1/1 make install, 90'3/*%0%(65/1 #908$ make install-strip
% echo $OSTYPE
PATH (%. 3#/40%(%. 9%2 Q4+"1. /% 3B02D%$ (.# "# 1"/%9,51. µ.# 1"/%06)
7. µ1/#<0'/B$ /;9%2 ENVIRONMENT (91*.<400%"/%$) µ9%*%;" "# /1:%;" µ1 /'" setenv 3#. "#
#91.3%".5/%;" µ1 /' +*65' /'$ printenv 6 env. F9%*%;" "# &.#(*#D%;" µ1 /'" +*65' /'$
unsetenv.
T.# "# &1,/1 /.$ /.µB$ )0-" #2/8" /-" µ1/#<0'/8", 90'3/*%0%(65/1:
% printenv | less
% echo $history
path (%. 3#/40%(%. 9%2 :# Q4H1. /% 3B02D%$ (.# "# <*1. µ.# 1"/%06)
prompt (/% 31,µ1"% 9%2 &1,+"1. -$ 9*%/*%96 /% 3B02D%$ 5#$ (.# "# 1.54(1/1 µ.# 1"/%06)
7. µ1/#<0'/B$ /%2 310;D%2$ µ9%*%;" "# /1:%;" 3#. "# #91.3%".5/%;" +*'5.µ%9%.8"/#$ /'" 1"/%06
set. F9%*%;" 19,5'$ "# &.#(*#D%;" µ1 /'" 1"/%06 unset command.
T.# "# &1,/1 /.$ /.µB$ )0-" #2/8" /-" µ1/#<0'/8", 90'3/*%0%(65/1:
% set | less
I1 (1".3B$ (*#µµB$, %. µ1/#<0'/B$ 91*.<400%"/%$ 3#. 310;D%2$ 9%2 B+%2" /% ,&.% )"%µ# (13/)$ #9)
/% (1(%")$ )/. %. µ1" 1,"#. 31D#0#,# 3#. %. &1 µ.3*4) 1,"#. +-*.5/B$ 3#. #"1H4*/'/1$ 13/)$ #9) /%
(1(%")$ )/. 9.:#")" B+%2" /.$ ,&.1$ #*+.3B$ /.µB$. O5/)5% 294*+%2" 3#. 1H#.*B51.$.
@4:1 D%*4 9%2 #004G%2" %. µ1/#<0'/B$ 310;D%2$ home, user 3#. term #"#"18"%"/#. 3#. %.
#"/,5/%.+1$ µ1/#<0'/B$ 91*.<400%"/%$ HOME, USER 3#. TERM. O5/)5% #" #"#"1-:%;" 9*8/# %.
µ1/#<0'/B$ 91*.<400%"/%$, %. #"/,5/%.+1$ /%2 310;D%2$ &1" #004G%2" /.µ6.
7. µ1/#<0'/B$ PATH 3#. path 3#:%*,G%2" /%2$ 3#/#0)(%2$ 9%2 #".+"1;%"/#. (.# /'" 1;*15' 1"/%08"
3#. 9*%(*#µµ4/-". @#. %. &;% µ1/#<0'/B$ 94"/%/1 #"/.9*%5-91;%2" /'" ,&.# 0,5/# 3#/#0)(-" -
)9%.# #9) /.$ &;% 3#. #" #004H1., ' 400' #"#"18"1/#. #2/)µ#/#.
@#/4 /'" 1,5%&% 5#$, /% 3B02D%$ C &.#<4G1. 9*8/# /% .cshrc 3#. µ1/4 /% .login
=% .login +*'5.µ%9%.1,/#. (.# "# :B51. *2:µ,51.$ 9%2 .5+;%2" (.# )0' /'" 5;"%&% (session) 3#. (.#
"# 13/10B51. 01./%2*(,1$ 9%2 #9#./%;"/#. µ)"% 5/' &.#&.3#5,# 1.5)&%2.
=% .cshrc +*'5.µ%9%.1,/#. (.# "# :B51. *2:µ,51.$ 3#. "# 13/10B51. 01./%2*(,1$ 9%2 5+1/,G%"/#. µ1 /%
3B02D%$ 3#. 9*B91. "# (,"%"/#. 34:1 D%*4 9%2 H13."4 - 45+1/# #" 1,"#. /% 3B02D%$ 1.5)&%2 6 )+.).
*+!,!-.: E7=C µ' <401/1 1"/%0B$ 9%2 1"1*(%9%.%;" /% (*#D.3) 91*.<400%" 5/# #*+1,#
.cshrc 6 .login.
% echo $history
=% 9#*#94"- -5/)5% :B/1. /'" µ1/#<0'/6 µ)"% (.# )5' 8*# 13/101,/#. /% /*B+%" 3B02D%$. >"
#"%,H1/1 B"# "B% 9#*4:2*% xterm ((.# 9#*4&1.(µ#), :# B+1. /'" 9#0.4 /.µ6 /'$ µ1/#<0'/6$. T.# "#
#004H1/1 #2/6 /'" /.µ6 MONIMA :# 9*B91. "# 9*%5:B51/1 /'" 1"/%06 set µB5# 5/% #*+1,% .cshrc.
>"%,H/1 /% #*+1,% .cshrc 51 B"# 52"/43/' 31.µB"%2. F9%*1,/1 "# +*'5.µ%9%.651/1 349%.% 52"/43/'
9%2 5#$ 9#*B+1. /% (*#D.3) 91*.<400%" 5#$ 6 B"# 1;3%0% 52"/43/' (.# /'" 3%"5)0# (9.+. /%" ee).
% ee ~/.cshrc
E*%5:B5/1 /'" 9#*#34/- (*#µµ6 FC=> /' 0,5/# /-" 400-" 1"/%08".
% source .cshrc
% echo $history
T.# 9#*4&1.(µ#, (.# "# 13/10B51/1 /% 9*)(*#µµ# units 9*B91. 1,/1 "# %*,51/1 #912:1,#$ /' 906*'
&.#&*%µ6$ 9*%$ #2/)$ (~/units174/bin/units) 6 "# B+1/1 9*%5:B51. 5/% path 5#$ /%" 3#/40%(%
~/units174/bin.
F9%*1,/1 "# /%" 9*%5:B51/1 5/% /B0%$ /%2 294*+%"/%$ path (/% %9%,% #"/.9*%5-91;1/#. #9) /%
$path) +*'5.µ%9%.8"/#$ /'" 9#*#34/- 1"/%06:
C0B(H/1 /' 01./%2*(,# /%2 9#*#94"-, 9*%59#:8"/#$ "# 13/10B51/1 /% units 1"8 <*,5315/1 51
%9%.%&69%/1 3#/40%(%.
% cd
% units
T.# "# 34"1/1 #2/6 /'" #00#(6 5/% path F7YSFN, 9*%5:B5/1 /'" 9#*#34/- (*#µµ6 5/% #*+1,%
.cshrc FC=> /' 0,5/# /-" 29)0%.9-" 1"/%08".