Kā lietot kaķu un tac komandas ar piemēriem Linux


Šis raksts ir daļa no mūsu Linux triku un padomu sērijas, šajā rakstā mēs aplūkosim dažus kaķu komandas (visbiežāk izmantotās komandas Linux) un tac (kaķa komandas reversā versija - failu drukāšana apgrieztā secībā) pamata lietošanu. piemēri.

Kaķu komandas pamata lietojums Linux

Cat komanda, saīsinājums Concatenate, ir viena no visbiežāk izmantotajām komandām * nix sistēmās. Visvienkāršākais komandas lietojums ir failu lasīšana un parādīšana standarta veidā, kas nozīmē, ka jūsu terminālā tiek parādīts failu saturs.

# cat file.txt

Vēl viens kaķu komandas lietojums ir vairāku failu lasīšana vai apvienošana kopā un izejas nosūtīšana uz monitoru, kā parādīts tālāk sniegtajos piemēros.

# cat file1.txt file2.txt file3.txt

Komandu var izmantot arī, lai savienotu (savienotu) vairākus failus vienā failā, izmantojot Linux novirzīšanas operatoru “>” .

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

Izmantojot pievienošanas novirzītāju, varat pievienot jauna faila saturu file-all.txt apakšdaļā ar šādu sintaksi.

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

Kaķu komandu var izmantot, lai kopētu faila saturu uz jaunu failu. Jauno failu var pārdēvēt par patvaļīgu. Piemēram, nokopējiet failu no pašreizējās atrašanās vietas direktorijā /tmp/.

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

Kopējiet failu no pašreizējās atrašanās vietas direktorijā /tmp/ un mainiet tā nosaukumu.

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

Mazāk kaķu komandas izmantošana ir jauna faila izveidošana ar zemāk norādīto sintaksi. Pabeidzot faila rediģēšanu, nospiediet CTRL + D , lai saglabātu un izietu no jaunā faila.

# cat > new_file.txt

Lai numurētu visas faila izvades rindas, ieskaitot tukšās rindas, izmantojiet slēdzi -n .

# cat -n file-all.txt

Lai parādītu tikai katras tukšās rindas numuru, izmantojiet slēdzi -b .

# cat -b file-all.txt

Vai vēlaties uzzināt vairāk par Linux kaķu komandu? tad izlasiet mūsu rakstu par 13 noderīgiem komandu “kaķi” piemēriem Linux.

Uzziniet, kā Linux lietot Tac komandu

No otras puses, mazāk zināma un mazāk izmantota komanda * nix sistēmās ir komanda tac . Tac ir komandas cat reversā versija (arī uzrakstīta atpakaļ), kas katru faila rindu drukā, sākot no apakšējās rindas un beidzot ar augšējo līniju, līdz jūsu mašīnas standarta izejai.

# tac file-all.txt

Vienu no vissvarīgākajām komandas opcijām attēlo slēdzis -s , kas faila saturu no faila atdala, pamatojoties uz virkni vai atslēgvārdu.

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

Tālāk vissvarīgākais tac komandas lietojums ir tas, ka tas var sniegt lielu palīdzību, lai atkļūdotu žurnāla failus, mainot žurnāla satura hronoloģisko secību.

$ 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
...

Tāpat kā komanda cat , tac lieliski strādā ar teksta failu apstrādi, taču no tā jāizvairās cita veida failos, īpaši bināros failos, vai failos, kur pirmā rindiņa apzīmē programmu, kas to darbinās.