Kif tuża Kmandi tal-qtates u tat-tac b'Eżempji fil-Linux


Dan l-artikolu huwa parti mis-serje tagħna Tricks u Tips tal-Linux, f'dan l-artikolu se nkopru xi użu bażiku tal-kmand tal-qtates (kmand użat l-aktar spiss fil-Linux) u tac (maqlub tal-kmand tal-qtates - ipprintja fajls f'ordni inversa) b'xi prattika. eżempji.

Użu Bażiku tal-Kmand tal-Qtates fil-Linux

Il-kmand tal-qtates, akronimu għal Concatenate, huwa wieħed mill-aktar kmandi użati fis-sistemi *nix. L-aktar użu bażiku tal-kmand huwa li taqra l-fajls u turihom fuq stdout, jiġifieri li turi l-kontenut tal-fajls fuq it-terminal tiegħek.

# cat file.txt

Użu ieħor tal-kmand tal-qtates huwa li taqra jew tgħaqqad fajls multipli flimkien u tibgħat l-output lil monitor kif muri fl-eżempji hawn taħt.

# cat file1.txt file2.txt file3.txt

Il-kmand jista 'jintuża wkoll biex jikkonkatena (jingħaqad) fajls multipli f'fajl wieħed bl-użu tal-operatur ta' direzzjoni mill-ġdid tal-Linux \>”.

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

Billi tuża l-append redirector tista' żżid il-kontenut ta' fajl ġdid fil-qiegħ tal-file-all.txt bis-sintassi li ġejja.

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

Il-kmand tal-qtates jista' jintuża biex jikkopja l-kontenut tal-fajl għal fajl ġdid. Il-fajl il-ġdid jista' jingħata isem arbitrarju. Pereżempju, ikkopja l-fajl mill-post kurrenti fid-direttorju /tmp/.

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

Ikkopja l-fajl mill-post kurrenti fid-direttorju /tmp/ u ibdel ismu.

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

Użu inqas tal-kmand tal-qtates huwa li jinħoloq fajl ġdid bis-sintassi hawn taħt. Meta spiċċa l-editjar tal-fajl agħfas CTRL+D biex issalva u toħroġ il-fajl il-ġdid.

# cat > new_file.txt

Sabiex innumera l-linji kollha tal-output ta' fajl, inklużi l-linji vojta, uża l-iswiċċ -n.

# cat -n file-all.txt

Biex turi biss in-numru ta' kull linja mhux vojta uża l-iswiċċ -b.

# cat -b file-all.txt

Trid titgħallem aktar dwar il-kmand tal-qtates Linux? imbagħad aqra l-artiklu tagħna dwar 13 Eżempji ta 'Kmand Utli 'qattus' fil-Linux.

Tgħallem kif tuża l-Kmand Tac fil-Linux

Min-naħa l-oħra, kmand inqas magħruf u inqas użat fis-sistemi *nix huwa kmand tac. Tac huwa prattikament il-verżjoni inversa tal-kmand ta' cat (wkoll imfisser lura) li tipprintja kull linja ta' fajl li tibda mil-linja tal-qiegħ u tispiċċa fuq il-linja ta' fuq sal-output standard tal-magna tiegħek.

# tac file-all.txt

Waħda mill-aktar għażla importanti tal-kmand hija rappreżentata mill-iswiċċ -s, li jifred il-kontenut tal-fajl ibbażat fuq string jew keyword mill-fajl.

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

Sussegwentement, l-aktar użu importanti tal-kmand tat-TAC huwa, li jista 'jipprovdi għajnuna kbira sabiex tiddibaggja l-fajls tal-ġurnali, billi dreġġa' lura l-ordni kronoloġika tal-kontenut tal-log.

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

L-istess bħall-kmand ta' cat, tac jagħmel xogħol eċċellenti fil-manipulazzjoni ta' fajls ta' test, iżda għandu jiġi evitat f'tip ieħor ta' fajls, speċjalment fajls binarji jew fuq fajls fejn l-ewwel linja jindika l-programm li se jmexxih.