Copyright(c) by Galaxy CD – http://www.galaxycd.com
Muïc luïc:
PHAÀN 1:
UNIX CÔ SÔÛ
Baøi 1. Khôûi ñoäng UNIX
1.1
Baét ñaàu phieân laøm vieäc
1.2
Keát thuùc phieân laøm vieäc
1.3
Caùch duøng leänh cuûa UNIX
Baøi 2. Laøm vieäc vôùi file.
2.1
Toå chöùc file
2.2
Di chuyeån giöõa caùc thö muïc
2.3
Caùc thao taùc cô sôû vôùi caùc thö muïc
2.4
Caùc thao taùc cô sôû vôùi file thöôøng
Baøi 3. Baûo veä caùc file cuûa ngöôøi söû duïng
3.1
Moâ taû ngöôøi söû duïng
3.2
Moâ taû nhoùm ngöôøi söû duïng
3.3
Baûo veä caùc file vaø caùc thö muïc
Baøi 4. Sao, chuyeån, lieân keát vaø tìm kieám file
4.1
Sao cheùp file
4.2
Chuyeån vaø ñoåi teân file
4.3
Taïo lieân keát vôùi file
4.4
Tìm kieám file
Baøi 5. Thoâng tin giöõa nhöõng ngöôøi söû duïng
5.1
Thoâng tin baèng leänh mail
5.2
Thoâng tin baèng leänh write
Baøi 6. Söû duïng chöông trình soaïn thaûo vi
6.1
Khôûi ñoäng vi
6.2
Soaïn thaûo vaên baûn
Baøi 7. Shell script
7.1
Quaûn lyù tieán trình
7.2
Laäp caùch thöùc cho shell script
7.3
Caùc shell UNIX
Baøi 8. Ñoåi höôùng (redirection)
8.1
Vaøo/ra chuan
8.2
Chuyeån ñoåi döõ lieäu giöõa caùc tieán trình
1
Copyright(c) by Galaxy CD – http://www.galaxycd.com
8.3
Ñoåi höôùng keùp ñaàu ra chuaån
Baøi 9. Cô cheá thay theá cuûa Shell
9.1
Truyeàn tham soá
9.2
Caùc bieán Shell
9.3
Caùc kí töï ñaëc bieät
9.4
Laáy keát quaû cuûa moät leänh
9.5
Caùc qui taéc thay theá cuûa Shell
Baøi 10. Moâi tröôøng cuûa Shell
10.1 Moâi tröôøng
10.2 Caùc bieán ñònh nghóa tröôùc
10.3 Caùc bieán chung
Baøi 11. Laäp trình möùc cô sôû döôùi UNIX
11.1 Caùc pheùp thöû trong Shell
11.2 Laäp trình moät caáu truùc coù ñieàu kieän
11.3 Laäp trình moät chu trình
Baøi 12. Tín hieäu vaø ñoàng boä
12.1 Quaûn lyù caùc tín hieäu
12.2 Quaûn lyù caùc tieán trình
12.3 Ñeä qui
PHAÀN 2
LAÄP TRÌNH C DÖÔÙI UNIX
Baøi 1. Giôùi thieäu chung
1.1
Caùc lôøi goïi heä thoáng
1.2
Chuû thöïc vaø chuû thöïc quyeàn cuûa tieán trình
1.3
Ñònh nghóa caùc tham bieán chöông trình
1.4
Moät soá ñònh nghóa khaùc
Baøi 2. Quaûn lyù tieán trình
2.1
Nhaän bieát tieán trình
2.2
Nhaän bieát chuû tieán trình
2.3
Thay ñoåi chuû vaø nhoùm chuû
2.4
Taïo moät tieán trình
2.5
Caùc haøm goïi moät tieán trình thay theá
2.6
Ñoàng boä tieán trình
2.7
Möùc öu tieân cuûa tieán trình
2.8
Nhoùm caùc tieán trình
2
Copyright(c) by Galaxy CD – http://www.galaxycd.com
Baøi 3. Quaûn lyù file
3.1
Môû moät file
3.2
Taïo moät file
3.3
Ñoùng file
3.4
Ñaët maët naï caùc quyeàn thaâm nhaäp file
3.5
Ñoïc file
3.6
Ghi file
3.7
Di chuyeån con troû file
3.8
Caáu truùc moät inode
3.9
Taïo moät inode
3.10 Thay ñoåi quyeàn thaâm nhaäp
3.11 Thay ñoåi chuû sôû höõu hoaëc nhoùm
3.12 Thay ñoåi thö muïc laøm vieäc
3
Copyright(c) by Galaxy CD – http://www.galaxycd.com
PHAÀN 1: UNIX CÔ SÔÛ
Baøi 1. Khôûi ñoäng UNIX
Noäi dung: Laøm quen vôùi heä ñieàu haønh UNIX. Baét ñaàu, keát thuùc phieân laøm vieäc, chaïy
moät soá leänh ñaëc tröng.
1.1 Baét ñaàu phieân laøm vieäc:
Baät coâng taéc nguoàn cuûa terminal (trong heä thoáng cuûa NLC laø Xterm sau khi duøng
Exceed keát noái vôùi UNIX server), khoaûng moät giaây sau treân maøn hình hieän doøng thoâng
baùo:
Login:
Haõy nhaäp vaøo teân (user name) khi keát thuùc baèng phím Enter. Neáu ngöôøi söû duïng coù
duøng maät khaåu (passwor), treân maøn hình seõ hieän doøng:
Password:
Haõy vaøo maät khaåu cuûa mình vaø keát thuùc baèng phím Enter.
Neáu teân (vaø maät khaåu neáu coù) ñöôïc vaøo ñuùng, terminal ñoù seõ ñöôïc noái vôùi maùy chuû vaø
treân maøn hình seõ hieän kyù töï:
$
ñoù laø daáu nhaéc cuûa Shell.
Maät khaåu ñaûm baûo an toaøn cho moãi phieân laøm vieäc. Ta coù theå thay ñoåi maät khaåu baèng
leänh passwd. Maät khaåu phaûi daøi ít nhaát 6 kyù töï, ít nhaát phaûi coù 2 kyù töï alphabet, phaûi
khaùc vôùi teân (user name) ít nhaát 3 kyù töï, daøi toái ña 13 kyù töï.
1.2 Keát thuùc phieân laøm vieäc:
AÁn CTRL + D (giöõ phím CTRL vaø goõ phím D) hoaëc goõ leänh
$exit
ñeå keát thuùc phieân laøm vieäc.
1.4 Caùch duøng leänh cuûa UNIX:
- Cuù phaùp cô baûn ñeå chaïy moät leänh cuûa UNIX nhö sau:
$teânleänh [-tuyø choïn][ñoái soá 1]…[ñoái soá n]
Thí duï:
wc laø leänh ñeám vaø hieån thò soá doøng, töø vaø kyù töï cuûa moät file. Ta coù theå chaïy leänh wc
nhö sau
$wc /etc/passwd
32
37
1139 etc/passwd
$wc
32
-l /etc/passwd
etc/passwd
4
Copyright(c) by Galaxy CD – http://www.galaxycd.com
$wc
32
15
47
-ld /etc/passwd /etc/group
1139 etc/passwd
337
etc/group
1476 total
- Caùc thoâng baùo loãi khi goïi leänh:
Neáu leänh khoâng toàn taïi hoaëc khoâng tìm thaáy:
$data
data not found
Neáu cuù phaùp cuûa leänh bò goõ sai:
$wc -m
/etc/group
usage: wc
[-clw][name…]
Baøi taäp:
Chuù yù: Kyù hieäu töôïng tröng cho vieäc goõ phím Enter.
1.
Haõy baét ñaàu phieân laøm vieäc vôùi teân (username) cuûa baïn.
2.
Ñôïi khi daáu nhaéc cuûa heä thoáng xuaát hieän (daáu $), goõ vaøo
date
3.
Gaùn maät khaåu cho teân:
passwd
4.
Lieät keâ teân nhöõng ngöôøi ñang söû duïng heä
who
5.
Xem ai laø ngöôøi ñang laøm vieäc taïi terminal:
who am I
whoami
6.
Xem teân terminal maø ta ñang laøm vieäc treân ñoù:
tty
7.
Hieån thò caùc thoâng baùo leân maøn hình:
echo “Xin chao”
echo “Chao”
echo “Dau nhac ket thuc boi $ xuat hien sau Chao”
echo “Hom nay la ngay:”;date
echo “Hai lenh tren 1 dong cach nhau boi dau ;”
8.
Duøng leänh cal (lòch):
cal
01
1900
cal
01
cal
1900
cal
1900 | more
9.
Moät vaøi leänh khaùc:
logname
5
Copyright(c) by Galaxy CD – http://www.galaxycd.com
10.
uname
who | wc
Keát thuùc phieân laøm vieäc:
Ctrl
D (giöõ phím Ctrl vaø goõ D) hoaëc exit
6
Copyright(c) by Galaxy CD – http://www.galaxycd.com
Baøi 2. Laøm vieäc vôùi file
Noäi dung: Caùc khaùi nieäm cô baûn veà file cuûa UNIX, toå chöùc cuûa caùc file treân ñóa, caùc
thao taùc vôùi file.
2.1 Toå chöùc file:
2.1.1 Caùc kieåu file
UNIX coù 3 kieåu file:
-File bình thöôøng (ordinary file): laø moät taäp hôïp thoâng tin (ASCII text hoaëc binary).
-File thö muïc (directory file): chöùa danh saùch caùc teâncoù theå truy nhaäp tôùi thí duï nhö
caùc file bình thöôøng, caùc file ñaëc bieät hoaëc caùc thö muïc con.
-File ñaëc bieät (special file): laø caùc file lieân quan tôùi caùc thieát bò ngoaïi vi cöùng vaø/hoaëc
cô cheá truyeàn tin.
Thí duï:
Baøn phím laø moät file ñaàu vaøo(input file).
Maøn hình laø moät file ñaàu ra (output file).
Maùy in laø moät file ñaàu ra.
2.1.2 Toå chöùc cuûa caùc file
Caùc file cuûa UNIX ñöôïc toå chöùc theo daïng caây (tree). Thö muïc goác (root) cuûa caây
ñöôïc bieåu dieãn baèng kyù töï /.
Caáu truùc caây cô sôû cuûa heä UNIX ñöôïc boá trí nhö sau:
Kyù hieäu file bình thöôøng
Kyù hieäu file thö muïc
Kyù hieäu file ñaëc bieät
/
unix
bin
etc
dev
users
user1
usr
user2
Hình 1: Caáu truùc caây cô sôû cuûa UNIX
2.2 Di chuyeån giöõa caùc thö muïc:
Ñeå di chuyeån giöõa caùc thö muïc trong caây cuûa UNIX, ta duøng 2 leänh sau ñaây:
7
Copyright(c) by Galaxy CD – http://www.galaxycd.com
cd
chuyeån ñeán thö muïc caàn ñeán (change directory)
pwd hieån thò teân thö muïc ñang laøm vieäc (print working directory)
Taïi thôøi ñieåm baét ñaàu phieân laøm vieäc, ta ôû trong thö muïc tieáp nhaän (HOME directory).
Muoán xem teân thö muïc tieáp nhaän naøy, ta duøng leänh pwd.
Thí duï: user1 coù thö muïc tieáp nhaän laø /users/user1
$pwd
/users/user1
Ñeå di chuyeån giöõa caùc thö muïc ta duøng leänh cd vôùi teân thö muïc caàn chuyeån ñeán.
$cd
/usr/bin
$pwd
/usr/bin
$cd ..
$pwd
/usr
Ñeå veà thö muïc tieáp nhaän khi ta ñang ôû baát kyø ñaâu, goõ:
$cd
$pwd
/users/user1
2.3 Caùc thao taùc cô sôû vôùi thö muïc:
2.3.1 Xem noäi dung thö muïc:
- Xem noäi dung thö muïc hieän ñang laøm vieäc:
$ls
- Xem noäi dung thö muïc khaùc, chaúng haïn thö muïc /bin:
$ls
/bin
- Xem theâm thoâng tin cuûa caùc file trong thö muïc:
$ls
-l
hoaëc $ll
- Xem teân caùc file trong thö muïc theo coät:
$lc
Khi duøng leänh ls –l ta coù theå phaân bieät caùc kieåu file baèng caùch xem kyù töï ñaàu cuûa doøng
hieån thò, neáu laø:
d
: file thö muïc.
: file bình thöôøng
c hoaëc b
: file ñaëc bieät
2.3.2 Taïo thö muïc:
Ñeå taïo moät thö muïc môùi, ta duøng leänh mkdir (make directory):
$mkdir
index
$cd
index
8
Copyright(c) by Galaxy CD – http://www.galaxycd.com
$ls
-a
.
..
Leänh mkdir taïo moät thö muïc vôùi 2 ñaàu vaøo (entry)
- baûn thaân thö muïc coù teân ñaõ cho.
- thö muïc . lieân heä vôùi thö muïc ñöôïc taïo ôû treân
- thö muïc . . lieân heä vôí thö muïc cha.
2.3.3 Xoùa thö muïc:
Ñeå xoaù moät thö muïc ta duøng leänh rmdir (remove directory):
$rmdir
index
Neáu muoán xoaù thö muïc khoâng roãng, phaûi duøng leänh rm vôùi tuyø choïn r
$rm -ri
thumuc
2.4 Caùc thao taùc cô sôû vôùi file thöôøng:
2.4.1 Nhaän bieát moät file thöôøng:
Leänh file phaân tích noät dung cuûa moät file vaø hieån thò tính chaát cuûa thoâng tin chöùa trong
file:
$file /etc/passwd
/etc/passwd: ascii text
$file /bin/ls
/bin/ls: 680x0 executable 32 bits page aligned striped
2.4.2 Xem noäi dung moät file thöôøng ASCII:
Coù theå duøng moät trong caùc leänh sau:
cat
duøng ñeå xem noäi dung caùc file nhoû.
pg hoaëc more
xem noäi dung caùc file lôùn theo trang.
$cat teân file
$pg
teân file
$more teân file
2.4.3 Taïo moät file thöôøng ASCII
Taïi Shell cuûa UNIX ta coù theå deã daøng taïo moät file thöôøng ASCII text baèng caùch duøng
leänh cat
$cat >text_file
abcdef
123456
$
9
Copyright(c) by Galaxy CD – http://www.galaxycd.com
-
-
Kyù töï ‘>’ ñoåi höôùng, thay vì ñeán ñaàu ra chuaån (standard output) ‘ ‘ ñeán file
ñöôïc quy ñònh ngay sau ‘>’. ÔÛ ñaây caùc kyù töï goõ vaøo ñöôïc ghi vaøo file
‘text_file’.
Leänh cat, neáu khoâng coù ñoái soá (argument), seõ coi baøn phím laø ñaàu vaøo chuaån.
Goõ taïi doøng troáng cuoái cuøng keát thuùc vieäc vaøo soá lieäu.
<
Stdin KEYBOARD
(1) >
FILE stdout
cat
CONSOLE
2>
Hình 2 : ñoåi höôùng ñaàu vaøo/ra chuaån
stderr
Caùch vieát teân file khi taïo file:
- ñoä daøi
+ teân file cuûa UNIX sys V daøi toái ña 14 kyù töï
+ teân file cuûa BERKELEY, baét ñaàu töø version BSD 4.2. coù theå daøi ñeán 256 kyù
töï.
- khoâng coù söï haïn cheá duøng kyù töï naøo khi vieát teân file, song ta caàn chuù yù vaøi
ñieåm sau:
+ khoâng duøng caùc kyù töï ñaëc bieät (tröø daáu chaám ‘.’ hoaëc daáu gaïch döôùi ‘_’) vì
phaàn lôùn caùc kyù töï ñoù ñöôïc duøng trong cuù phaùp cuûa leänh Shell.
+ file coù teân baét ñaàu baèng daáu chaám ‘.’ laø file aån (hidden).
+ kyù töï vieát thöôøng khaùc vôùi vieát hoa.
Vieát teân file baèng caùch duøng caùc metacharacter (? Vaø *)
- kyù töï ‘*’ thay theá moät xaâu kyù töï
- kyù töï ‘?’ thay theá moät kyù töï
Thí duï:
$ll
/bin/c*
$ll
/bin/c?
2.4.4 Xoaù moät file thöôøng:
Leänh : rm
Coù theå duøng leänh rm vôùi caùc tuyø choïn sau:
-i
coù hoûi ñaùp ñeå khaúng ñònh
-f
khoâng coù hoûi ñaùp. Tuyø choïn naøy raát nguy hieåm, chæ nhöõng ngöôøi söû duïng
coù kinh nghieäm vaø caån thaän môùi neân duøng.
$rm
$rm
text_file
-i
text_file
10
Copyright(c) by Galaxy CD – http://www.galaxycd.com
Baøi taäp:
1. Xem teân thö muïc ñang laøm vieäc:
pwd
2. Xem noäi dung cuûa thö muïc ñang laøm vieäc:
ls –l
3. Taïo file vaên baûn tintin:
cat > tintin
blabla
BLABLA
end
CTRL + D (giöõ phím Ctrl vaø goõ phím D)
4. Xem noäi dung file tintin:
cat tintin
5. Xem noäi dung caùc thö muïc /bin
/usr/bin
/dev
ll /bin hoaëc
ls -C /bin hoaëc ll /bin | pg
6. Taïo 2 thö muïc d1 vaø d2
mkdir d1 d2
7. Chuyeån thö muïc laøm vieäc ñeán d1
8. Taïo moät file trong thö muïc d1
9. Trôû veà thö muïc tieáp nhaän (HOME directory)
cd
10. Xem noäi dung thö muïc ñang laøm vieäc:
ls
-l hoaëc
ll
ls
ll
-R (xem noäi dung caû caùc thö muïc con)
lc
11. Xoaù thö muïc d1:
rm
d1/*
rmdir d1
Hoaëc
rm
-ri
d1
11
Copyright(c) by Galaxy CD – http://www.galaxycd.com
Baøi 3. Baûo veä caùc file cuûa ngöôøi söû duïng:
Noäi dung : moâ taû cô cheá baûo veä file cuûa UNIX : ngöôøi söû duïng, nhoùm ngöôøi söû duïng,
caùc quyeàn thaâm nhaäp file
3.1 Moâ taû ngöôøi söû duïng:
3.1.1 Khaùi nieäm :
Moät ngöôøi söû duïng ñöôïc moâ taû baèng caùc thoâng tin sau:
- teân
- [maät khaåu (neáu coù]
- soá nhaän daïng (uid : user identify number)
- soá cuûa nhoùm (gid : group identify number)
- [chuù thích]
- thö muïc tieáp nhaän (HOME directory)
- [teân chöông trình cho chaïy luùc baét ñaàu teân laøm vieäc]
Caùc thoâng tin treân ñöôïc chöùa trong file /etc/passwd
3.1.2 Leänh defuser:
Leänh naøy ôû trong danh muïc /etc, noù cho pheùp:
- hieån thò danh saùch nhöõng ngöôøi söû duïng.
- theâm ngöôøi söû duïng môùi (chæ nhöõng ngöôøi quaûn trò heä thoáng coù quyeàn)
$cat
/etc/passwd | pg
root : RKgSspHwm.PB.:0:3:0000-Admin000,,,:/:
date::18:1::/:/bin/date
tty::19:1::/:/bin/tty
user1::3000:300::/users/user1:
user2::3001:300::/users/user2:
$/etc/defuser | pg
USER
root
daemon
bin
sys
adm
date
tty
sync
securadm
lp
user1
UID
0
1
2
3
4
18
19
20
11
71
3000
GID
3
12
2
3
4
1
1
1
11
2
300
HOMEDIR
/
/
/bin
/usr
/usr/adm
/
/
/
/etc/secure/bin
/usr/spool/lp
/users/user1
12
SHELL
/bin/date
/bin/tty
/bin/sync
/bin/ksh
Copyright(c) by Galaxy CD – http://www.galaxycd.com
user2
3001
300
/users/user2
/bin/ksh
3.2 Moâ taû nhoùm ngöôøi söû duïng
3.2.1 Khaùi nieäm :
Moät nhoùm ngöôøi söû duïng laø taäp hôïp cuûa moät soá ngöôøi söû duïng coù theå duøng chung caùc
file cuûa nhau.
Moät nhoùm ngöôøi söû duïng ñöôïc moâ taû baèng caùc thoâng tin sau:
- teân cuûa nhoùm
- [maät khaåu]
- soá cuûa nhoùm (gid : group identify number)
- [danh saùch nhöõng ngöôøi khaùch (guest)]
Caùc thoâng tin treân ñöôïc chöùa trong file /etc/group
3.2.2 Leänh defgrp:
Leänh naøy ôû trong thö muïc /etc, noù cho pheùp:
- hieån thò danh saùch caùc nhoùm ngöôøi söû duïng.
- theâm nhoùm môùi (chæ ngöôøi quaûn trò heä thoáng môùi coù quyeàn).
$cat
/etc/group
public :: 100 : invite
animator :: 200 :
stagiaires :: 300 :
$/etc/defgrp
GRP
root
other
GID
0
1
bin
2
sys
3
adm
4
uucp
5
USERS
root
date
sync
shut
root
bin
daemon
lp
root
bin
sys
adm
root
adm
daemon
uucp
daemon
13
Copyright(c) by Galaxy CD – http://www.galaxycd.com
mail
6
nuucp
root
…
3.3 Baûo veä caùc file vaø caùc thö muïc
3.3.1 Caùc quyeàn thaâm nhaäp file:
Khi file ñöôïc taïo laäp, caùc thoâng tin sau ñaây ñoàng thôøi ñöôïc ghi laïi:
- uid cuûa ngöôøi taïo file
- gid cuûa ngöôøi taïo file
- caùc quyeàn thaâm nhaäp file
…
File ñöôïc baûo veä bôûi moät taäp hôïpc caùc bit ñònh nghóa quyeàn thaâm nhaäp:
r w x
r w x
r w x
suid
sgid
owner
group
other
Trong ñoù:
r
quyeàn ñoïc
w
quyeàn ghi
x
quyeàn chaïy (executing)
suid
set user-id
sgid
set group-id
Ñoái vôùi thö muïc:
r
quyeàn ñoïc noäi dung thö muïc
w
quyeàn taïo vaø xoaù file trong thö muïc
x
quyeàn qua laïi (crossing) thö muïc
Ghi chuù: caùc quyeàn vôùi thö muïc chæ coù hieäu löïc taïi moät möùc nhaát ñònh, thö muïc con coù
theå ñöôïc baûo veä trong khi thö muïc cha thì khoâng.
3.3.2 Leänh ls -l
Leänh naøy lieät keâ danh saùch caùc file vaø caùc thuoäc tính cuûa chuùng trong moät thö muïc,
qua ñoù ta coù theå phaùt hieän loaïi file, caùch baûo veä, ngöôøi sôû höõu, vaø kích thöôùc cuûa
chuùng…
Thí duï:
Caùc file thöôøng (ordinary files):
$ls
-l
/bin
-rwxrwxr-x
1
bin
bin
16336 Mar 8
1988 cat
-rwxrwxr-x
3
root bin
16124 Mar 8
1988 cp
-rwxrwxr-x
1
bin
bin
18760 Mar 8
1988 cat
-rwxrwxr-x
1
bin
bin
13320 Mar 8
1988 echo
-rwxrwxr-x
2
bin
bin
33896 Mar 8
1988 ed
-rwxrwxr-x
1
bin
bin
28928 Mar 8
1988 file
-rwxrwxr-x
3
root bin
16124 Mar 8
1988 ln
14
Copyright(c) by Galaxy CD – http://www.galaxycd.com
-rwxrwxr-x
8
bin
bin
60152 Mar 8
1988 ls
-rwxr-sr-x
1
bin
mail 63264 April 2
1988 mail
-rwxrwxr-x
1
bin
bin
15276 Mar 8
1988 mesg
-rwxr-xr-x
1
root bin
13180 Mar 8
1988 mkdir
…
Trong ñoù:
Coät 1 : loaïi file vaø quyeàn thaâm nhaäp (-rwxrwxr-x, rwxr-xr-x…)
Daáu tröø ‘-‘ ôû ñaàu coù nghóa file laø file thöôøng (khoâng phaûi thö muïc).
Daáu tröø ôû trong daõy bit coù nghóa laø khoâng coù quyeàn töông öùng bit ñoù.
Ñeå tieát kieäm choã, ngöôøi ta ñaët bit s vaøo cuøng moät nôi vôùi bit x vaø kyù hieäu:
s neáu x toàn taïi
S neáu X khoâng toàn taïi.
(bit s : set uid hoaëc set gid khi chaïy file)
Coät 2 : soá lieân keát (link number)
Coät 3 : teân ngöôøi sôû höõu file (owner)
Coät 4 : teân nhoùm sôû höõu file (group)
Coät 5 : kích thöôùc file.
Coät 6,7,8 : ngaøy söûa ñoåi gaàn nhaát
Coät 9 : teân file.
Caùc file ñaëc bieät (Special files):
$ll
/dev
crw------1
lp
bin
8.97 May 6
1988 lp1
crw-rw-rw2
root sys
3,2
Apr
3
09:08 null
brw-r----3
root sys
0,96 Apr
3
08:54 pd300
.
.
crw-rw-rw4
root sys
4,012 May 6
1988 rflop
.
.
crw--w--w2
root other
1,17 Mar 2
07:57 tty11
Trong ñoù:
Coät 1: Kyù töï ñaàu tieân laø c hoaëc b coù nghóa laø file ñöôïc ñoïc hoaëc ghi theo töøng
kyù töï (c) hoaëc ghi theo töøng khoái (b).
Coät 5: Bieåu dieãn majo vaø minor cuûa thieát bò (major: loaïi thieát bò, minor: ñòa chæ
cuûa thieát bò)
Caùc file thö muïc (directory files):
$ll
/users
drwxr-xr-x
2
user1 stagiair
15
240
Mar
31
10:16 user1
Copyright(c) by Galaxy CD – http://www.galaxycd.com
drwxr-xr-x
2
user2 stagiair
32
Mar 31
11:16 user1
drwxr-xr-x
2
user3 stagiair
24
Mar 31
10:16 user1
drwxr-xr-x
2
user4 stagiair
32
Mar 31
11:16 user1
trong ñoù:
Coät 1: Kyù töï ñaàu tieân d coù nghóa laø file thö muïc.
Coät 2: Soá caùc thö muïc con
3.3.3 Thay ñoåi quyeàn thaâm nhaäp file:
Leänh chmod cho pheùp thay ñoåi quyeàn thaâm nhaäp caùc file vaø thö muïc. Coù theå chaïy leänh
theo 2 caùch:
- cho thoâng soá tuyeät ñoái:
chmod
mode teân_file
trong ñoù thoâng soá mode laø moät soá cô soá 8 (octal)
r w x
r - x
r - 1 1 1
1 0 1
1 0 0
7
5
4
$chmod
754
teân_file
- duøng caùc kyù hieäu töôïng tröng:
chmod
who [operation]
[right]
filename
trong ñoù:
who :
u
coù nghóa
user
g
group
o
other
a
all
operation:
+
theâm quyeàn
bôùt quyeàn
=
gaùn giaù trò khaùc
right:
r
reading
w
writing
x
execution
s
ñaët suid hoaëc guid
Thí duï:
$chmod
g-w, o = r
toto
3.3.4 Ñaët quyeàn thaâm nhaäp ngaàm ñònh:
Caùc quyeàn thaâm nhaäp ñöôïc gaùn baèng maët naï quyeàn thaâm nhaäp cuûa töøng ngöôøi söû duïng.
Leänh umask cho pheùp ta ñaët maët naï naøy. Cuù phaùp cuûa leänh nhö sau:
umask nnn
trong ñoù: nnn laø soá buø 7 cuûa giaù trò caùc quyeàn thaâm nhaäp.
Thí duï:
$umask
177
16
Copyright(c) by Galaxy CD – http://www.galaxycd.com
$>
titi
$ll
titi
-rw------1
user1 other 0
$umask
333
$>toto
$ll
toto
-r--r--r-1
user1 other 0
3.3.5 Thay ñoåi ngöôøi hoaëc nhoùm sôû höõu file:
Leänh chown cho pheùp thay ñoåi ngöôøi sôû höõu.
Leänh chgrp cho pheùp thay ñoåi nhoùm sôû höõu.
$echo Hello >file1
$chmod 700 file1
$ls -l file1
-rwx-----1
user1 stagiair
$cat file1
Hello
$chgrp animator file1
$ls -l file1
-rwx-----1
user1 animator
$chown user2 file1
$ls -l file1
-rwx-----1
user2 animator
Mar
11
10:11 titi
Mar
11
20:11 toto
6
Apr
5
14:06 file1
6
Apr
5
14:06 file1
6
Apr
5
14:06 file1
$cat file1
cat: cannot open file1
Baøi taäp:
1. Haõy taïo chöông trình sau trong thö muïc tieáp nhaän:
- chöông trình “hello”:
$cat >
hello
print ”Hello”
print “How are you ?”
^D
- chöông trình reply:
$cat >
reply
print “Hello”
print “Fine. And you ?”
^D
2. Xem quyeàn thaâm nhaäp vaøo caùc file treân:
ll
-R
3. Chaïy 2 chöông trình treân.
17
Copyright(c) by Galaxy CD – http://www.galaxycd.com
Ñaët quyeàn chaïy ñöôïc (executable) cho 2 files treân.
Chaïy laïi 2 chöông trình treân.
$hello
$chmod +x hello
$hello
4. Boû caùc quyeàn thaâm nhaäp tôùi hello vaø reply cuûa nhöõng ngöôøi cuøng nhoùm (group)
vaø cuûa nhöõng ngöôøi khaùc (other)
chmod go = teân file
Coù theå duøng leänh chmod theo caùch khaùc ñöôïc khoâng ? Haõy thöû vôùi caû caùc file
khaùc (g-rwx, o-rwx, 700 …)
5. Thay ñoåi quyeàn thaâm nhaäp sao cho nhöõng ngöôøi cuøng nhoùm coù khaû naêng ñoïc vaø
chaïy caùc file hello vaø reply
6. Haõy thöû thay ñoåi ngöôøi hoaëc nhoùm sôû höõu cuûa moät file:
chown userY file
Khi ñoù file seõ thuoäc sôû höõu cuûa ngöôøi khaùc. Coù theå xoaù ñöôïc khoâng ?
7. Haõy laøm theo höôùng daãn sau:
cat
>
rm
echo Hello
^D
ñeå taïo file rm, sau ñoù söûa quyeàn thaâm nhaäp ñeå file coù theå chaïy ñöôïc:
chmod +x rm
thöû chaïy file rm ñeå xoaù moät file naøo ñoù ñang toàn taïi:
rm file
Ñieàu gì seõ xaûy ra?
KHOÂNG BAO GIÔØ ÑÖÔÏC ÑAËT TEÂN FILE TRUØNG VÔÙI TEÂN LEÄNH HEÄ THOÅNG.
(CHUÙ YÙ: test cuõng laø moät leänh cuûa heä thoáng)
18
Copyright(c) by Galaxy CD – http://www.galaxycd.com
Baøi 4: Sao cheùp, chuyeån, lieân keát vaø tìm kieám file.
Noäi dung: caùc thao taùc, caùc leänh thöôøng duøng vôùi file
4.1 Sao cheùp file
Leänh cp (copy) cho pheùp ta sao cheùp moät hoaëc nhieàu file:
- sao cheùp moät file:
$cp
file_nguoàn
file_ñích
- sao cheùp nhieàu file vaøo moät thö muïc:
$cp
file1 file2… thö_muïc
- sao taát caû caùc file vaøo moät thö muïc:
$cp
*
thö_muïc
Thí duï:
$pwd
/users/user2
$ls
-l
total 2
drwxrwxr-x
drwxrwxr-x
$cd
2
2
user2 stagiair
user2 stagiair
32
96
Apr
Apr
5
5
16:31 copie
16:31 source
Apr
Apr
Apr
5
5
5
16:25 original1
16:26 original2
16:27 original3
source
$ls
-l
total 3
-rw-rw-r-- 1
-rw-rw-r-- 1
-rw-rw-r-- 1
user2 stagiair
user2 stagiair
user2 stagiair
$ls
total
-l
0
$cp
original1
../copie
$ls
-l
total 1
-rw-rw-r-- 1
../copie
$cp
../copie
*
16
17
18
../copie/original1.copie
user2 stagiair 16
Apr
19
5
16:25 original1.copie
- Xem thêm -