Mụta ihe ndabere nke ka Linux I/O (ntinye/mmepụta) redirection si arụ ọrụ
Otu n'ime isiokwu kachasị mkpa ma dị ụtọ n'okpuru nchịkwa Linux bụ ntụgharị I/O. Akụkụ a nke ahịrị iwu na-enyere gị aka ịtụgharị ntinye na/ma ọ bụ mmepụta nke iwu sitere na na/ma ọ bụ na faịlụ, ma ọ bụ jikọọ ọtụtụ iwu ọnụ site na iji ọkpọkọ iji mepụta ihe a maara dị ka pipeline iwu.
Iwu niile anyị na-agba na-emepụta ụdị mmepụta abụọ:
- nsonaazụ iwu – data mmemme e mere iji mepụta, yana
- Ọkwa mmemme na ozi njehie na-eme ka onye ọrụ mara nkọwa mmezu mmemme.
Na Linux na sistemụ Unix ndị ọzọ, enwere faịlụ ndabara atọ akpọrọ n'okpuru nke shei ahụ na-ejikwa nọmba nkọwa faịlụ mara:
- stdin ma ọ bụ 0 - ejikọrọ ya na ahụigodo, ọtụtụ mmemme na-agụ ntinye sitere na faịlụ a.
- stdout ma ọ bụ 1 - etinyere ya na ihuenyo, mmemme niile na-eziga nsonaazụ ha na faịlụ a yana
- stderr ma ọ bụ 2 - mmemme na-eziga ozi ọkwa/ njehie na faịlụ a nke etinyekwara na ihuenyo.
Ya mere, I/O redirection na-enye gị ohere ịgbanwe isi mmalite ntinye nke iwu yana ebe ezigara ya na ozi njehie ya. Ma nke a ga-ekwe omume site n'aka ndị ọrụ ntụgharịgharị \<
na \>
.
Otu esi emegharị ihe nrụpụta ọkọlọtọ na faịlụ na Linux
Ị nwere ike redirect mmepụta ọkọlọtọ dị ka ihe atụ dị n'okpuru ebe a, anyị chọrọ ịchekwa mmepụta nke iwu kachasị elu maka nyocha ọzọ:
$ top -bn 5 >top.log
Ebe ọkọlọtọ:
-b
- na-enyere elu aka ịgba ọsọ n'ụdị ogbe, ka ị nwee ike ibugharị mmepụta ya na faịlụ ma ọ bụ iwu ọzọ.-n
- na-akọwapụta ọnụọgụgụ ugboro ugboro tupu iwu akwụsị.
Ị nwere ike ịlele ọdịnaya nke top.log
faịlụ site na iji iwu cat dị ka ndị a:
$ cat top.log
Iji tinye mmepụta nke iwu, jiri onye ọrụ \>>
.
Dịka ọmụmaatụ iji tinye mmepụta nke iwu kachasị elu na faịlụ top.log karịsịa n'ime edemede (ma ọ bụ na ahịrị iwu), tinye ahịrị n'okpuru:
$ top -bn 5 >>top.log
Mara: Iji nọmba nkọwa faịlụ, iwu redirect nke dị n'elu bụ otu ihe ahụ:
$ top -bn 5 1>top.log
Otu esi atụgharị njehie ọkọlọtọ na faịlụ na Linux
Iji degharịa njehie ọkọlọtọ nke iwu, ịkwesịrị ịkọwapụta nọmba nkọwa faịlụ, 2
ka shei ahụ ghọta ihe ị na-achọ ime.
Dịka ọmụmaatụ, iwu ls dị n'okpuru ga-emepụta njehie mgbe onye ọrụ sistemu nkịtị gburu ya na-enweghị ikike mgbọrọgwụ:
$ ls -l /root/
Ị nwere ike ibugharị njehie ọkọlọtọ ahụ na faịlụ dịka n'okpuru:
$ ls -l /root/ 2>ls-error.log $ cat ls-error.log
Ka ịgbakwunye njehie ọkọlọtọ, jiri iwu dị n'okpuru:
$ ls -l /root/ 2>>ls-error.log
Otu esi emegharị mmepụta/ mperi na otu faịlụ
Ọ dịkwa ike ijide nsonaazụ niile nke iwu (ma mmepụta ọkọlọtọ na njehie ọkọlọtọ) n'ime otu faịlụ. Enwere ike ime nke a n'ụzọ abụọ enwere ike site na ịkọwa nọmba nkọwa faịlụ:
1. Nke mbụ bụ usoro ochie nke na-arụ ọrụ dịka ndị a:
$ ls -l /root/ >ls-error.log 2>&1
Iwu dị n'elu pụtara na shei ahụ ga-ebu ụzọ ziga mmepụta nke iwu ls na faịlụ ls-error.log (iji >ls-error.log
), wee dee ozi njehie niile na onye na-akọwa faịlụ. 2 (mmepụta ọkọlọtọ) nke ebugharịrị gaa na faịlụ ls-error.log (iji 2>&1
). Na-egosi na a na-ezigakwa njehie ọkọlọtọ n'otu faịlụ ahụ dị ka mmepụta ọkọlọtọ.
2. Ụzọ nke abụọ na kpọmkwem bụ:
$ ls -l /root/ &>ls-error.log
Ị nwekwara ike itinye mmepụta ọkọlọtọ na njehie ọkọlọtọ na otu faịlụ dị ka nke a:
$ ls -l /root/ &>>ls-error.log
Otu esi atụgharị ntinye ọkọlọtọ na faịlụ
Ọtụtụ ma ọ bụrụ na ọ bụghị iwu niile na-enweta ntinye ha site na ndenye ọkọlọtọ, na ndabara na-etinye ntinye ọkọlọtọ na ahụigodo.
Ka ibugharịa ndenye ọkọlọtọ site na faịlụ na-abụghị nke ahụigodo, jiri onye ọrụ \<
dị ka n'okpuru:
$ cat <domains.list
Otu esi atụgharị ntinye/mmepụta ọkọlọtọ na faịlụ
Ị nwere ike ịme ntinye ọkọlọtọ, ntụgharị nrụpụta ọkọlọtọ n'otu oge site na iji ụdị iwu dị ka n'okpuru:
$ sort <domains.list >sort.output
Otu esi eji Ntugharị I/O na-eji ọkpọkọ
Iji redirect mmepụta nke otu iwu dị ka ntinye nke ọzọ, ị nwere ike iji ọkpọkọ, nke a bụ ụzọ dị ike isi wuo ahịrị iwu bara uru maka ịrụ ọrụ mgbagwoju anya.
Dịka ọmụmaatụ, iwu dị n'okpuru ga-edepụta faịlụ ise kachasị elu emezigharịrị nso nso a.
$ ls -lt | head -n 5
Ebe a, nhọrọ:
-l
- na-enyere usoro ndepụta ogologo aka-t
- Ụdị site na oge mgbanwe yana faịlụ ndị kachasị ọhụrụ na-ebu ụzọ gosi-n
- ezipụta ọnụ ọgụgụ ahịrị nkụnye eji isi mee ka egosi
Iwu ndị dị mkpa maka iwulite pipeline
N'ebe a, anyị ga-enyocha nkenke iwu abụọ dị mkpa maka iwupụta pipeline iwu na ha bụ:
xargs nke a na-eji wuo ma mebie ahịrị iwu site na ntinye ọkọlọtọ. N'okpuru bụ ọmụmaatụ nke pipeline nke na-eji xargs, a na-eji iwu a iji detuo faịlụ n'ime ọtụtụ akwụkwọ ndekọ aha na Linux:
$ echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh
Na nhọrọ:
-n 1
- na-adụ ọdụ ka xargs jiri otu arụmụka maka ahịrị iwu wee ziga na iwu cpcp
- detuo faịlụ ahụ-v
- na-egosiputa ọganihu nke iwu nnomi.
Maka nhọrọ ojiji na ozi ndị ọzọ, gụọ site na ibe xargs man:
$ man xargs
Iwu tee na-agụ site na ntinye ọkọlọtọ wee dee na mmepụta ọkọlọtọ na faịlụ. Anyị nwere ike igosi otú tee si arụ ọrụ dị ka ndị a:
$ echo "Testing how tee command works" | tee file1
Ọrụ nchịkwa sistemụ Linux.
Iji mụtakwuo maka nzacha Linux na ọkpọkọ, gụọ akụkọ a Chọta Top 10 Adreesị IP Ịnweta Apache Server, na-egosi ihe atụ bara uru nke iji nzacha na ọkpọkọ.
N'edemede a, anyị kọwara isi mmalite nke I/O redirection na Linux. Cheta ịkekọrịta echiche gị site na ngalaba nzaghachi n'okpuru.