Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Lịch sử và các bản phân phối HĐH Linux từ trước đến nay phần 6 pdf
Nội dung xem thử
Mô tả chi tiết
3.5 Chuyeˆ
’n hu’o´’ng d¯aˆ`u vào/d¯aˆ`u ra, d¯u’o`’ng o´ˆng và d¯aˆ`u lo
˙
c 33
Trong d¯ó, N và M - soˆ
´ cu’a kênh tiêu chuaˆ
’n (0, 1, và 2) hoa˘
˙
c tên taˆ
˙
p tin. Trong moˆ
˙
t vài
tru’o`’ng ho
˙
’p có su’’ du
˙
ng các ký hieˆ
˙
u <, > và >> mà không chı’ ra soˆ
´ kênh hay tên taˆ
˙
p tin, vì
vào choˆ
˜ còn thieˆ
´ u se˜ d¯a˘
˙
t, theo ma˘
˙
c d¯i
˙
nh, 1 neˆ
´ u dùng >, tu´’c là d¯aˆ
`u ra tiêu chuaˆ
’n, hoa˘
˙
c 0 neˆ
´ u
dùng <, tu´’c là d¯aˆ
`u vào tiêu chuaˆ
’n. Nhu’theˆ
´, khi không có soˆ
´ nào chı’ ra, > se˜ d¯u’o
˙
’c biên di
˙
ch
là 1 >, còn < se˜ d¯u’o
˙
’c biên di
˙
ch là 0 <. Ngoài vieˆ
˙
c chuyeˆ
’n hu’o´’ng các kênh tiêu chuaˆ
’n d¯o’n
gia’n nhu’ vaˆ
˙
y, còn có kha’ na˘ng không nhu˜’ng chuyeˆ
’n hu’o´’ng du˜’ lieˆ
˙
u vào kênh này hay kênh
khác, mà còn sao chép noˆ
˙
i dung cu’a các kênh tiêu chuaˆ
’n d¯ó. Ký hieˆ
˙
u & dùng d¯eˆ
’ thu
˙
’c hieˆ
˙
n
d¯ieˆ
`u này, khi d¯a˘
˙
t nó (&) tru’o´’c soˆ
´ cu’a kênh se˜ chuyeˆ
’n du˜’lieˆ
˙
u d¯´eˆn:
command N > &M
Leˆ
˙
nh này có nghı˜a là, d¯aˆ
`u ra cu’a kênh vo´’i soˆ
´ N d¯u’o
˙
’c gu’’i d¯eˆ
´ n ca’ d¯aˆ
`u ra tiêu chuaˆ
’n, và sao
chép to´’i kênh có soˆ
´ M. Ví du
˙
, d¯eˆ
’sao chép thông báo loˆ
˜i vào d¯aˆ
`u ra tiêu chuaˆ
’n, caˆ
`n dùng leˆ
˙
nh
2>&1, còn 1>&2 sao chép stdout vào stderr. Kha’ na˘ng này d¯a˘
˙
c bieˆ
˙
t có ích khi muoˆ
´ n ghi d¯aˆ
`u
ra vào taˆ
˙
p tin, vì khi d¯ó chúng ta vu`’a có theˆ
’nhìn thaˆ
´ y thông báo trên màn hình, vu`’a ghi chúng
vào taˆ
˙
p tin. Ví du
˙
, tru’o`’ng ho
˙
’p sau thu’o`’ng d¯u’o
˙
’c u´’ng du
˙
ng trong các script cha
˙
y khi kho’’i d¯oˆ
˙
ng
Linux:
kênh giao tác
teppi82@teppi:~$ cat hiho > /dev/null
cat: hiho: No such file or directory
teppi82@teppi:~$ cat hiho > /dev/null 2>&1
3.5.2 Su’’ du
˙
ng |
Moˆ
˙
t tru’o`’ng ho
˙
’p d¯a˘
˙
c bieˆ
˙
t cu’a chuyeˆ
’n hu’o´’ng d¯aˆ
`u ra là su
˙
’toˆ
’ chu´’c các d¯u’o`’ng oˆ
´ ng (ha y còn có
theˆ
’ go
˙
i là kênh giu˜’a các chu’o’ng trình, hoa˘
˙
c ba˘ng chuyeˆ
`n). Hai hay vài câu leˆ
˙
nh, mà d¯aˆ
`u ra
cu’a leˆ
˙
nh tru’o´’c dùng làm d¯aˆ
`u vào cho leˆ
˙
nh sau, liên keˆ
´t vo´’i nhau (có theˆ
’ nói phân cách nhau,
neˆ
´ u muoˆ
´ n) bo’’i ký hieˆ
˙
u ga
˙
ch tha˘
’ng d¯u´’ng - "|". Khi này d¯aˆ
`u ra tiêu chuaˆ
’n cu’a leˆ
˙
nh d¯u´’ng bên
trái so vo´’i | du’o
˙
’c chuyeˆ
’n d¯eˆ
´ n d¯aˆ
`u vào tiêu chuaˆ
’n cu’a chu’o’ng trình, du´’ng bên pha’i so vo´’i |.
Ví du
˙
:
kênh giao tác
maikhai@fpt:/sw$ cat ls.txt | grep knoppix | wc -l
Dòng này có nghı˜a là keˆ
´t qua’ cu’a leˆ
˙
nh cat, tu´’c là noˆ
˙
i dung taˆ
˙
p tin ls.txt, se˜ d¯u’o
˙
’c chuyeˆ
’n
d¯eˆ
´ n d¯aˆ
`u vào cu’a leˆ
˙
nh grep, leˆ
˙
nh này se˜ phân chia noˆ
˙
i dung nói trên và chı’ laˆ
´ y ra nhu˜’ng
dòng nào có chu´’a tu`’ knoppix. D¯ eˆ
´ n lu’o
˙
’t mình, keˆ
´t qu’a cu’a leˆ
˙
nh grep d¯u’o
˙
’c chuyeˆ
’n to´’i d¯aˆ
`u
vào cu’a leˆ
˙
nh wc -l, mà tính soˆ
´ nhu˜’ng dòng thu d¯u’o
˙
’c. D¯ u’o`’ng oˆ
´ ng su’’ du
˙
ng d¯eˆ
’ keˆ
´t ho
˙
’p vài
chu’o’ng trình nho’ la
˙
i vo´’i nhau (moˆ
˜i chu’o’ng trình thu
˙
’c hieˆ
˙
n moˆ
˙
t bieˆ
´ n d¯oˆ
’i xác d¯i
˙
nh nào d¯ó trên
d¯aˆ
`u vào) ta
˙
o thành moˆ
˙
t leˆ
˙
nh toˆ
’ng quát, mà keˆ
´t qua’ cu’a nó se˜ là moˆ
˙
t bieˆ
´ n d¯oˆ
’i phu´’c ta
˙
p. Caˆ
`n
chú ý ra˘`ng, heˆ
˙
vo’ go
˙
i và thu
˙
’c hieˆ
˙
n taˆ
´t ca’ các câu leˆ
˙
nh có trong d¯u’o`’ng oˆ
´ ng cùng moˆ
˙
t lúc, cha
˙
y
moˆ
˜i leˆ
˙
nh d¯ó trong moˆ
˙
t ba’n sao heˆ
˙
vo’ riêng. Vì theˆ
´ ngay khi chu’o’ng trình thu´’nhaˆ
´t ba˘´t d¯aˆ
`u d¯u’a
keˆ
´t qua’ o’’ d¯aˆ
`u ra, chu’o’ng trình tieˆ
´ p theo ba˘´t d¯aˆ
`u xu’’lý keˆ
´t qua’ này. Cu˜ng y nhu’ vaˆ
˙
y, các leˆ
˙
nh
tieˆ
´ p theo thu
˙
’c hieˆ
˙
n các công vieˆ
˙
c cu’a mình: cho`’du˜’lieˆ
˙
u tu`’leˆ
˙
nh tru’o´’c và d¯u’a keˆ
´t qua’ cho leˆ
˙
nh
tieˆ
´ p theo, gioˆ
´ ng nhu’moˆ
˙
t dây chuyeˆ
`n sa’n xuaˆ
´t. Neˆ
´ u nhu’muoˆ
´ n moˆ
˙
t leˆ
˙
nh nào d¯ó keˆ
´t thúc hoàn
toàn, tru’o´’c khi thu
˙
’c hieˆ
˙
n leˆ
˙
nh tieˆ
´ p theo, ba
˙
n có theˆ
’su’e’ du
˙
ng trên moˆ
˙
t dòng ca’ ký hieˆ
˙
u dây
chuyeˆ
`n |, cu˜ng nhu’ daˆ
´ u chaˆ
´ p phaˆ
’y ;. Tru’o´’c moˆ
˜i daˆ
´ u chaˆ
´m phaˆ
’y, heˆ
˙
vo’ se˜ du`’ng la
˙
i và cho`’
cho d¯eˆ
´ n khi thu
˙
’c hieˆ
˙
n xong taˆ
´t ca’ các câu leˆ
˙
nh tru’o´’c cu’a d¯u’o`’ng oˆ
´ ng. Tra
˙
ng thái thoát ra (giá