Efektyviai tvarkykite failus naudodami galvos, uodegos ir katės komandas sistemoje „Linux“
Yra keletas „Linux“ pateiktų komandų ir programų failo turiniui peržiūrėti. Darbas su failais yra viena varginančių užduočių, nes dauguma kompiuterio vartotojų yra naujokai, įprasti vartotojai, pažengę vartotojai, kūrėjai, administratoriai ir kt. Efektyvus ir efektyvus darbas su failais yra menas.
Šiandien šiame straipsnyje aptarsime populiariausias komandas, vadinamas galva, uodega ir kate, dauguma iš mūsų jau žino apie tokias komandas, tačiau labai nedaugelis iš mūsų jas įgyvendina, kai to reikia.
1. galvos komanda
„Head“ komanda nuskaito pirmąsias dešimt bet kurio nurodyto failo pavadinimo eilučių. Pagrindinė galvos komandos sintaksė yra:
head [options] [file(s)]
Pavyzdžiui, ši komanda parodys pirmąsias dešimt failo, pavadinto „/ etc/passwd“, eilutes.
# head /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh
Jei pateikiama daugiau nei vienas failas, pirmosios dešimt kiekvieno failo eilučių galva parodys atskirai. Pavyzdžiui, ši komanda parodys dešimt kiekvieno failo eilučių.
# head /etc/passwd /etc/shadow ==> /etc/passwd <== root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin ==> /etc/shadow <== root:$6$85e1:15740:0:99999:7::: bin:*:15513:0:99999:7::: daemon:*:15513:0:99999:7::: adm:*:15513:0:99999:7::: lp:*:15513:0:99999:7::: sync:*:15513:0:99999:7::: shutdown:*:15513:0:99999:7::: halt:*:15513:0:99999:7::: mail:*:15513:0:99999:7::: uucp:*:15513:0:99999:7:::
Jei norima gauti daugiau eilučių nei numatytasis dešimt, tada naudojama parinktis ‘-n’ kartu su sveikuoju skaičiumi, nurodančiu, kiek eilučių reikia gauti. Pavyzdžiui, ši komanda parodys pirmąsias 5 eilutes iš failo „/var/log/yum.log“ failo.
# head -n5 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686 Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686 Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686 Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch
Tiesą sakant, nereikia naudoti parinkties „-n“. Tiesiog brūkšneliu nurodykite sveikąjį skaičių be tarpų, kad gautumėte tą patį rezultatą kaip aukščiau nurodyta komanda.
# head -5 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686 Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686 Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686 Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch
„Head“ komanda taip pat gali rodyti bet kokį norimą baitų skaičių naudodama parinktį „-c“, po kurios bus rodomas baitų skaičius. Pavyzdžiui, ši komanda parodys pirmuosius 45 nurodyto failo baitus.
# head -c45 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el
2. uodegos komanda
„Tail“ komanda leidžia rodyti paskutines dešimt bet kokio teksto failo eilučių. Panašiai kaip aukščiau esančioje komandoje „head“, „tail“ komanda taip pat palaiko „n“ eilučių ir „n“ simbolių skaičių parinktis.
Pagrindinė uodegos komandos sintaksė yra:
# tail [options] [filenames]
Pavyzdžiui, ši komanda atspausdins paskutines dešimt failo, vadinamo „access.log“, eilučių.
# tail access.log 1390288226.042 0 172.16.18.71 TCP_DENIED/407 1771 GET http://download.newnext.me/spark.bin? - NONE/- text/html 1390288226.198 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.210 1182 172.16.20.44 TCP_MISS/200 70872 GET http://mahavat.gov.in/Mahavat/index.jsp pg DIRECT/61.16.223.197 text/html 1390288226.284 70 172.16.20.44 TCP_MISS/304 269 GET http://mahavat.gov.in/Mahavat/i/i-19.gif pg DIRECT/61.16.223.197 - 1390288226.362 570 172.16.176.139 TCP_MISS/200 694 GET http://p4-gayr4vyqxh7oa-3ekrqzjikvrczq44-if-v6exp3-v4.metric.gstatic.com/v6exp3/redir.html pg 1390288226.402 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437 145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445 0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html
Jei pateikiama daugiau nei vienas failas, uodega atspausdins paskutines dešimt kiekvieno failo eilučių, kaip parodyta žemiau.
# tail access.log error.log ==> access.log <== 1390288226.042 0 172.16.18.71 TCP_DENIED/407 1771 GET http://download.newnext.me/spark.bin? - NONE/- text/html 1390288226.198 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.210 1182 172.16.20.44 TCP_MISS/200 70872 GET http://mahavat.gov.in/Mahavat/index.jsp pg DIRECT/61.16.223.197 text/html 1390288226.284 70 172.16.20.44 TCP_MISS/304 269 GET http://mahavat.gov.in/Mahavat/i/i-19.gif pg DIRECT/61.16.223.197 - 1390288226.362 570 172.16.176.139 TCP_MISS/200 694 GET http://p4-gayr4vyqxh7oa-3ekrqzjikvrczq44-if-v6exp3-v4.metric.gstatic.com/v6exp3/redir.html pg 1390288226.402 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437 145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445 0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html ==> error_log <== [Sun Mar 30 03:16:03 2014] [notice] Digest: generating secret for digest authentication ... [Sun Mar 30 03:16:03 2014] [notice] Digest: done [Sun Mar 30 03:16:03 2014] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.0-fips configured -- resuming normal operations
Panašiai galite atsispausdinti kelias paskutines eilutes naudodami parinktį ‘-n’, kaip parodyta žemiau.
# tail -5 access.log 1390288226.402 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437 145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445 0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html
Taip pat galite atspausdinti simbolių skaičių naudodami „-c“ argumentą, kaip parodyta žemiau.
# tail -c5 access.log ymantec.com:443 - NONE/- text/html
3. katės komanda
„Katės“ komanda yra plačiausiai naudojama, universali priemonė. Jis nukopijuoja standartinę įvestį į standartinę išvestį. Komanda palaiko slinkimą, jei teksto failas neatitinka dabartinio ekrano.
Pagrindinė katės komandos sintaksė yra:
# cat [options] [filenames] [-] [filenames]
Dažniausiai katė naudojama failų turiniui skaityti. Viskas, ko reikia norint atidaryti failą skaitymui, yra įvesti katę, po to tarpą ir failo pavadinimą.
# cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh …
„Cat“ komanda taip pat naudojo sujungdama bylų skaičių.
# echo 'Hi Tecmint-Team' > 1 # echo 'Keep connected' > 2 # echo 'Share your thought' > 3 # echo 'connect us [email ' > 4
# cat 1 2 3 4 > 5
# cat 5 Hi Tecmint-Team Keep connected Share your thought connect us [email
Jis taip pat gali būti naudojamas kuriant failus. Tai pasiekiama vykdant katę, po kurios yra išvesties peradresavimo operatorius ir kuriamo failo pavadinimas.
# cat > tecmint.txt Tecmint is the only website fully dedicated to Linux.
Galime turėti „cat“ komandai pritaikytą galutinį gamintoją. Čia jis įgyvendinamas.
# cat > test.txt << end I am Avishek Here i am writing this post Hope your are enjoying end
# cat test.txt I am Avishek Here i am writing this post Hope your are enjoying
Niekada nenuvertinkite „katės“ komandos galios ir tai gali būti naudinga kopijuojant failus.
# cat avi.txt I am a Programmer by birth and Admin by profession
# cat avi.txt > avi1.txt
# cat avi1.txt I am a Programmer by birth and Admin by profession
Kas yra katės priešingybė? Taip, tai „tac“. ‘Tac’ yra „Linux“ komanda. Geriau parodyti „tac“ pavyzdį, nei apie tai ką nors kalbėti.
Sukurkite teksto failą su viso mėnesio pavadinimais taip, kad eilutėje būtų vienas žodis.
# cat month January February March April May June July August September October November December
# tac month December November October September August July June May April March February January
Daugiau kačių komandų naudojimo pavyzdžių rasite 13 kačių komandų naudojime
Kol kas viskas. Aš vėl būsiu čia su kitu įdomiu straipsniu, kurį verta žinoti. Iki to laiko sekite naujienas ir prisijunkite prie „Tecmint“. Nepamirškite pateikti savo vertingų atsiliepimų mūsų komentarų skyriuje.