LFCS: Yadda ake amfani da umarnin GNU sed don Ƙirƙiri, Shirya, da sarrafa fayiloli a cikin Linux - Sashe na 1


Gidauniyar Linux ta sanar da takardar shedar LFCS (Linux Foundation Certified Sysadmin), sabon shirin da ke da nufin taimakawa mutane a duk faɗin duniya don samun ƙwararrun ayyukan gudanarwa na tsaka-tsaki na tsarin Linux. Wannan ya haɗa da tallafawa tsarin aiki da ayyuka, tare da gano matsala da bincike na farko, da yanke shawara mai wayo don haɓaka al'amura zuwa ƙungiyoyin injiniyanci.

Da fatan za a kalli bidiyon mai zuwa wanda ke nunawa game da Shirin Takaddar Gidauniyar Linux.

Za a yi wa jerin lakabin Shiri don LFCS (Linux Foundation Certified Sysadmin) Sashe na 1 zuwa 10 kuma ya rufe batutuwa masu zuwa don Ubuntu, CentOS, da openSUSE:

Wannan matsayi shine Sashe na 1 na jerin koyarwa 20, wanda zai rufe wuraren da ake bukata da cancantar da ake buƙata don jarrabawar takaddun shaida na LFCS. Ana faɗin haka, kunna tashar tashar ku, kuma bari mu fara.

Gudanar da Rubutun Rubutu a cikin Linux

Linux yana ɗaukar shigarwar zuwa da fitarwa daga shirye-shirye azaman rafi (ko jeri) na haruffa. Don fara fahimtar juyawa da bututu, dole ne mu fara fahimtar nau'ikan rafukan I/O (Input da Output) mafi mahimmanci guda uku, waɗanda a zahiri fayiloli ne na musamman (ta hanyar al'ada a cikin UNIX da Linux, rafukan bayanai da na'urori, ko fayilolin na'ura, ana kuma ɗaukar su azaman fayilolin talakawa).

Bambancin da ke tsakanin > ( afaretan juyawa ) da | (mai aikin bututun bututu) shine yayin da na farko ya haɗa umarni da fayil, na biyun yana haɗa fitar da umarni da wani. umarni.

# command > file
# command1 | command2

Tun da ma'aikacin turawa ya ƙirƙira ko ya sake rubuta fayiloli a shiru, dole ne mu yi amfani da su da tsantsar taka tsantsan, kuma kada ku yi kuskure da bututun mai. Ɗaya daga cikin fa'idodin bututu akan tsarin Linux da UNIX shine cewa babu wani matsakaicin fayil da ke da hannu tare da bututu - stdout na umarni na farko ba a rubuta shi zuwa fayil ɗin ba sannan ya karanta ta umarni na biyu.

Don darussan motsa jiki masu zuwa za mu yi amfani da waƙar \Yaro mai farin ciki (mawallafin da ba a san shi ba).

Sunan sed gajere ne don editan rafi. Ga waɗanda ba su san kalmar ba, ana amfani da editan rafi don yin sauye-sauyen rubutu na asali akan rafi na shigarwa (fayil ko shigarwa daga bututun).

Mafi mahimmanci (kuma mashahuri) amfani da sed shine maye gurbin haruffa. Za mu fara da canza kowane abin da ya faru na ƙananan haruffa y zuwa KYAUTA Y da kuma tura fitarwa zuwa happychild2.txt. Tutar g tana nuna cewa sed ya kamata ya yi musanya ga kowane lokaci na kowane layi na fayil. Idan an cire wannan tuta, sed zai maye gurbin farkon abin da ya faru a kowane layi.

# sed ‘s/term/replacement/flag’ file
# sed ‘s/y/Y/g’ ahappychild.txt > ahappychild2.txt

Idan kuna son neman ko musanya wani hali na musamman (kamar /, \, &) kuna buƙatar kubuta daga gare ta, a cikin kalmar. ko igiyoyin maye gurbin, tare da yanke baya.

Misali, za mu musanya kalmar da kuma ampersand. A lokaci guda, za mu maye gurbin kalmar I da Kai lokacin da aka samo na farko a farkon layi.

# sed 's/and/\&/g;s/^I/You/g' ahappychild.txt

A cikin umarnin da ke sama, ^ (alamar kulawa) sanannen magana ce ta yau da kullun da ake amfani da ita don wakiltar farkon layi.

Kamar yadda kake gani, za mu iya haɗa umarnin musanya biyu ko fiye (da amfani da maganganu na yau da kullun a ciki) ta hanyar raba su tare da ƙaramin yanki da rufe saitin a cikin ƙididdiga ɗaya.

Wani amfani da sed yana nuna (ko sharewa) wani yanki da aka zaɓa na fayil. A cikin misali mai zuwa, za mu nuna layin farko na 5 na /var/log/messages daga Yuni 8.

# sed -n '/^Jun  8/ p' /var/log/messages | sed -n 1,5p

Lura cewa ta tsohuwa, sed yana buga kowane layi. Za mu iya soke wannan hali tare da zaɓin -n sannan mu gaya wa sed don bugawa (wanda p ya nuna) kawai ɓangaren fayil (ko bututu) wanda ya dace da tsarin. (Yuni 8 a farkon layi a shari'ar farko da layi na 1 zuwa 5 wanda ya haɗa a cikin shari'ar na biyu).

A ƙarshe, yana iya zama da amfani yayin bincika rubutun ko fayilolin daidaitawa don bincika lambar kanta da barin sharhi. Seed one-liner mai zuwa yana goge (d) layukan da ba komai ko kuma wadanda suka fara da # (halayen | na nuna alamar boolean KO tsakanin biyu na yau da kullun. maganganu).

# sed '/^#\|^$/d' apache2.conf

Umurnin uniq yana ba mu damar ba da rahoto ko cire kwafin layi a cikin fayil, rubuta zuwa stdout ta tsohuwa. Dole ne mu lura cewa uniq baya gano maimaita layukan sai dai idan suna kusa. Don haka, ana yawan amfani da uniq tare da nau'i da ta gabata (wanda ake amfani da shi don warware layin fayilolin rubutu). Ta hanyar tsohuwa, nau'i yana ɗaukar filin farko (wanda aka ware ta sarari) azaman filin maɓalli. Don tantance filin maɓalli na daban, muna buƙatar amfani da zaɓi -k.

Umurnin du –sch /hanya/to/directory/* yana mayar da amfani da sararin faifai a kowane kundin adireshi da fayiloli a cikin ƙayyadaddun kundin adireshi a cikin tsarin mutum-wanda za'a iya karantawa (kuma yana nuna jimlar kowane kundin adireshi), kuma baya oda fitarwa ta girman, amma ta subdirectory da sunan fayil. Za mu iya amfani da umarni mai zuwa don rarraba ta girman.

# du -sch /var/* | sort –h

Kuna iya ƙidaya adadin abubuwan da suka faru a cikin log ɗin ta kwanan wata ta gaya wa uniq don yin kwatancen ta amfani da haruffa 6 na farko (-w 6) na kowane layi (inda aka ƙayyade kwanan watan), da prefixing kowane. layin fitarwa ta adadin abubuwan da suka faru (-c) tare da umarni mai zuwa.

# cat /var/log/mail.log | uniq -c -w 6

A ƙarshe, zaku iya haɗa iri da uniq (kamar yadda suka saba). Yi la'akari da fayil mai zuwa tare da jerin masu ba da gudummawa, kwanan wata gudummawa, da adadin kuɗi. A ce muna so mu san adadin masu ba da gudummawa na musamman. Za mu yi amfani da wannan umarni mai zuwa don yanke filin farko (filayen da maza ke keɓance su), jera da suna, da cire kwafin layi.

# cat sortuniq.txt | cut -d: -f1 | sort | uniq

Karanta Hakanan: 13 Misalan Umurni na “cat”.

grep yana bincika fayilolin rubutu ko (fitarwa na umarni) don faruwar ƙayyadaddun furci na yau da kullun kuma yana fitar da kowane layi mai ɗauke da daidaitawa zuwa daidaitaccen fitarwa.

Nuna bayanin daga /etc/passwd don mai amfani gacanepa, yin watsi da harka.

# grep -i gacanepa /etc/passwd

Nuna duk abin da ke cikin /da sauransu wanda sunansa ya fara da rc sannan kowace lamba daya ta biyo baya.

# ls -l /etc | grep rc[0-9]

Karanta Hakanan: 12 “grep” Misalan Umurni

Ana iya amfani da umarnin tr don fassara (canji) ko share haruffa daga stdin, da rubuta sakamakon zuwa stdout.

Canja duk ƙaramin harafi zuwa babba a cikin fayil sortuniq.txt.

# cat sortuniq.txt | tr [:lower:] [:upper:]

Matsa mai iyaka a cikin fitarwa na ls –l zuwa sarari ɗaya kawai.

# ls -l | tr -s ' '

Umurnin yanke yana fitar da sassan layin shigarwa (daga stdin ko fayiloli) kuma yana nuna sakamakon akan daidaitaccen fitarwa, dangane da adadin bytes (-b zaɓi), haruffa (< b>-c), ko filayen (-f). A cikin wannan yanayin na ƙarshe (dangane da filayen), tsoho mai raba filin shafi ne, amma ana iya ƙayyadadden ƙayyadaddun iyaka ta amfani da zaɓin -d.

Cire asusun masu amfani da tsoffin harsashi da aka ba su daga /etc/passwd (zaɓin –d yana ba mu damar tantance maƙasudin filin, da –f sauyawa yana nuna wane fili (filaye) za a ciro.

# cat /etc/passwd | cut -d: -f1,7

A taƙaice, za mu ƙirƙiri rafin rubutu wanda ya ƙunshi na farko da na uku fayilolin da ba na komai ba na fitarwa na na ƙarshe umarni. Za mu yi amfani da grep a matsayin tacewa ta farko don bincika zaman mai amfani gacanepa, sannan mu matse masu iyaka zuwa sarari ɗaya kawai (tr -s ' ' ). Bayan haka, za mu cire filayen farko da na uku tare da yanke, kuma a ƙarshe za mu tsara ta filin na biyu (adiresoshin IP a cikin wannan yanayin) yana nuna na musamman.

# last | grep gacanepa | tr -s ' ' | cut -d' ' -f1,3 | sort -k2 | uniq

Umurnin da ke sama yana nuna yadda ake iya haɗa umarni da bututu da yawa don samun bayanan da aka tace daidai da sha'awarmu. Jin kyauta don gudanar da shi ta sassa, don taimaka muku ganin fitarwar da aka bugu daga umarni ɗaya zuwa na gaba (wannan na iya zama babban ƙwarewar koyo, ta hanya!).

Takaitawa

Kodayake wannan misalin (tare da sauran misalan a cikin koyawa na yanzu) na iya zama kamar ba amfani sosai a farkon gani ba, suna da kyau wurin farawa don fara gwaji tare da umarnin da ake amfani da su don ƙirƙira, gyara, da sarrafa fayiloli daga Linux. layin umarni. Jin kyauta don barin tambayoyinku da sharhi a ƙasa - za a yaba su sosai!

  1. Game da LFCS
  2. Me yasa ake samun Takaddun Shaida ta Gidauniyar Linux?
  3. Yi rijista don jarrabawar LFCS