'cat'- ja 'tac'-komentojen käyttäminen esimerkkien kanssa Linuxissa


Tämä artikkeli on osa Linuxin temppuja ja vihjeitä -sarjaamme. Tässä artikkelissa käsittelemme cat-komennon (Linuxissa yleisin komento) ja tac-komentojen peruskäyttöä. cat-komennon käänteinen – tulosta tiedostot käänteisessä järjestyksessä) ja käytännön esimerkkejä.

Lue myös: 13 hyödyllistä "kissa"-komentoesimerkkiä Linuxissa

Cat Commandin peruskäyttö Linuxissa

Cat-komento, lyhenne sanoista Concatenate, on yksi *nix-järjestelmien eniten käytetyistä komennoista. Komennon yksinkertaisin käyttötapa on lukea tiedostoja ja näyttää ne stdoutille, mikä tarkoittaa päätelaitteen tiedostojen sisällön näyttämistä.

cat file.txt

Toinen cat-komennon käyttötapa on useiden tiedostojen lukeminen tai yhdistäminen ja tulosteen lähettäminen monitoriin alla olevien esimerkkien mukaisesti.

cat file1.txt file2.txt file3.txt

Komentoa voidaan käyttää myös useiden tiedostojen ketjuttamiseen (liittämiseen) yhdeksi tiedostoksi käyttämällä “> ” Linux-uudelleenohjausoperaattoria.

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

Liitä uudelleenohjauksen avulla voit lisätä uuden tiedoston sisällön file-all.txt-tiedoston alaosaan seuraavalla syntaksilla.

cat file4.txt >> file-all.txt

cat-komennolla voidaan kopioida tiedoston sisältö uuteen tiedostoon. Uusi tiedosto voidaan nimetä uudelleen mielivaltaisesti. Esimerkiksi kopioi tiedosto nykyisestä sijainnista /tmp/-hakemistoon.

cat file1.txt > /tmp/file1.txt 

Kopioi tiedosto nykyisestä sijainnista hakemistoon /tmp/ ja muuta sen nimi.

cat file1.txt > /tmp/newfile.cfg

cat-komentoa käytetään vähemmän, jos luodaan uusi tiedosto alla olevalla syntaksilla. Kun olet lopettanut tiedoston muokkaamisen, paina CTRL+D tallentaaksesi ja poistuaksesi uudesta tiedostosta.

cat > new_file.txt

Käytä -n-kytkintä, jotta voit numeroida tiedoston kaikki tulostusrivit, myös tyhjät rivit.

cat -n file-all.txt

Jos haluat näyttää vain kunkin ei-tyhjän rivin numeron, käytä -b-kytkintä.

cat -b file-all.txt

Haluatko oppia lisää Linux cat -komennosta? lue sitten artikkelimme 13 hyödyllisestä "kissa"-komentoesimerkistä Linuxissa.

Opi käyttämään Tac-komentoa Linuxissa

Toisaalta vähemmän tunnettu ja vähemmän käytetty komento *nix-järjestelmissä on tac-komento. Tac on käytännössä cat-komennon käänteinen versio (myös kirjoitettu taaksepäin), joka tulostaa tiedoston jokaisen rivin alkaen alimmasta rivistä ja päättyen ylimmälle riville koneesi standardiin. ulostulo.

tac file-all.txt

Yksi komennon tärkeimmistä vaihtoehdoista on -s-kytkin, joka erottaa tiedoston sisällön merkkijonon tai avainsanan perusteella tiedostosta.

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

Seuraavaksi tac-komennon tärkein käyttötarkoitus on, että se voi tarjota suuren avun lokitiedostojen virheenkorjauksessa ja kääntää lokin sisällön kronologisen järjestyksen.

tac /var/log/auth.log

Or to display the last lines

tail /var/log/auth.log | tac
Näytelähtö
tecmint@tecmint ~ $ 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
....
tecmint@tecmint ~ $ 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
...

Sama kuin cat-komento, tac tekee erinomaista työtä tekstitiedostojen käsittelyssä, mutta sitä tulee välttää muun tyyppisissä tiedostoissa, erityisesti binääritiedostoissa tai tiedostoissa, joissa ensimmäinen rivi tarkoittaa ohjelmaa, joka suorittaa sen.