Linux-da mysallar bilen pişik we tac buýruklaryny nädip ulanmaly


Bu makala, Linux hileler we maslahatlar seriýamyzyň bir bölegi, bu makalada käbir amaly usulda pişik buýrugynyň (Linux-da iň köp ulanylýan buýruk) we tac (pişik buýrugynyň tersi - faýllary ters tertipde çap etmek) ulanylyşyny öwreneris. mysallar.

Linux-da pişik buýrugynyň esasy ulanylyşy

Pişik buýrugy, “Concatenate” -iň gysgaça ady, * nix ulgamlarynda iň köp ulanylýan buýruklaryň biridir. Buýrugyň iň esasy ulanylyşy, faýllary okamak we olary stdout-a görkezmek, ýagny terminaldaky faýllaryň mazmunyny görkezmekdir.

# cat file.txt

Pişik buýrugynyň başga bir ulanylyşy, birnäçe faýly bilelikde okamak ýa-da birleşdirmek we aşakdaky mysallarda görkezilişi ýaly çykyşy monitora ibermek.

# cat file1.txt file2.txt file3.txt

Buýruk, şeýle hem, \> Linux gönükdirme operatory ulanyp, birnäçe faýly bir faýla birleşdirmek (birleşdirmek) üçin hem ulanylyp bilner.

# cat file1.txt file2.txt file3.txt > file-all.txt

Goşundy redaktoryny ulanyp, aşakdaky sintaksis bilen file-all.txt aşagyna täze faýlyň mazmunyny goşup bilersiňiz.

# cat file4.txt >> file-all.txt

Pişik buýrugy faýlyň mazmunyny täze faýla göçürmek üçin ulanylyp bilner. Täze faýlyň ady üýtgedilip bilner. Mysal üçin, faýly häzirki ýerden /tmp/ katalogyna göçüriň.

# cat file1.txt > /tmp/file1.txt 

Faýly häzirki ýerden /tmp/ katalogyna göçüriň we adyny üýtgediň.

# cat file1.txt > /tmp/newfile.cfg

Pişik buýrugynyň az ulanylmagy, aşakdaky sintaksis bilen täze faýl döretmekdir. Faýly redaktirländen soň, täze faýly saklamak we çykmak üçin CTRL + D basyň.

# cat > new_file.txt

Faýlyň ähli çykyş setirlerini, şol sanda boş setirleri sanamak üçin, -n wyklýuçatelini ulanyň.

# cat -n file-all.txt

Diňe boş däl setirleriň sanyny görkezmek üçin -b wyklýuçatelini ulanyň.

# cat -b file-all.txt

Linux pişik buýrugy barada has giňişleýin öwrenmek isleýärsiňizmi? soň Linux-da 13 peýdaly “pişik” buýruk mysallary baradaky makalamyzy okaň.

Linux-da Tac buýrugyny nähili ulanmalydygyny öwreniň

Başga bir tarapdan, * nix ulgamlarynda has az bilinýän we az ulanylýan buýruk tac buýrugydyr. Tac, aşaky setirden başlap, ýokarky setirde enjamyňyzyň standart çykyşyna çenli gutarýan faýlyň her setirini çap edýän pişik buýrugynyň ters görnüşi (yza ýazylýar).

# tac file-all.txt

Buýrugyň iň möhüm wariantlaryndan biri, faýlyň mazmunyny faýldan setir ýa-da açar söz esasynda bölýän -s wyklýuçateli bilen görkezilýär.

# tac file-all.txt --separator "two"

Ondan soň, tac buýrugynyň iň möhüm ulanylyşy, gündelik faýllaryň hronologiki tertibini üýtgedip, gündelik faýllary düzetmek üçin uly kömek edip biler.

$ tac /var/log/auth.log

Or to display the last lines

$ tail /var/log/auth.log | tac
[email  ~ $ tac /var/log/auth.log
pr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
....
[email  ~ $ tail /var/log/auth.log | tac
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root
Apr  6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root
...

pişik buýrugy bilen birmeňzeş, tac tekst faýllaryny dolandyrmakda ajaýyp iş edýär, ýöne başga görnüşli faýllarda, esasanam ikili faýllarda ýa-da birinji setirdäki faýllarda öňüni almaly. işletjek programmany aňladýar.