RHCSA-sarja: Tiedostojen ja hakemistojen hallinta - Osa 2


Tässä artikkelissa RHCSA Osa 2: Tiedostojen ja hakemistojen hallinta - käydään läpi joitakin olennaisia taitoja, joita järjestelmänvalvojan päivittäisessä työssä tarvitaan.

Luo, poista, kopioi ja siirrä tiedostoja ja hakemistoja

Tiedostojen ja hakemistojen hallinta on kriittistä osaamista, joka jokaisen järjestelmänvalvojan tulee olla. Tämä sisältää mahdollisuuden luoda/poistaa tekstitiedostoja tyhjästä (kunkin ohjelman kokoonpanon ydin) ja hakemistoja (joihin järjestät tiedostot ja muut hakemistot) ja selvittää olemassa olevien tiedostojen tyyppi.

Kosketuskomentoa voidaan käyttää paitsi tyhjien tiedostojen luomiseen, myös olemassa olevien tiedostojen käyttö- ja muokkausaikojen päivittämiseen.

Voit käyttää tiedostoa [tiedostonimi] määrittääksesi tiedoston tyypin (tämä on kätevää ennen kuin aloitat haluamasi tekstieditorin muokkaamaan sitä).

ja rm [tiedostonimi] poistaaksesi sen.

Mitä tulee hakemistoihin, voit luoda hakemistoja olemassa olevien polkujen sisään komennolla mkdir [hakemisto] tai luoda täyden polun komennolla mkdir -p [/täysi/polku/hakemistoon].

Kun on kyse hakemistojen poistamisesta, sinun on varmistettava, että ne ovat tyhjiä ennen komennon rmdir [hakemisto] antamista, tai käytä tehokkaampaa (käsittele varovasti!) rm -rf [hakemisto]. Tämä viimeinen vaihtoehto pakottaa poistamaan rekursiivisesti [hakemiston] ja kaiken sen sisällön – joten käytä sitä omalla vastuullasi.

Tulon ja lähdön uudelleenohjaus ja liukuhihna

Komentoriviympäristössä on kaksi erittäin hyödyllistä ominaisuutta, joiden avulla komentojen syöttö ja tulostus voidaan ohjata tiedostoista ja tiedostoihin sekä lähettää komennon tulos toiseen, ns. uudelleenohjaus ja liukuhihna.

Ymmärtääksemme nämä kaksi tärkeää käsitettä meidän on ensin ymmärrettävä kolme tärkeintä I/O-tyyppiä (Input and Output) merkkijonoa (tai sarjaa), jotka ovat itse asiassa erikoistiedostoja sanan *nix merkityksessä.

  1. Vakiosyöttö (alias stdin) on oletuksena liitetty näppäimistöön. Toisin sanoen näppäimistö on tavallinen syöttölaite komentojen syöttämiseen komentoriville.
  2. Vakiolähtö (alias stdout) on oletusarvoisesti liitetty näyttöön, laitteeseen, joka "vastaanottaa" komennot ja näyttää ne näytöllä.
  3. Standard error (alias stderr) on paikka, johon komennon tilaviestit lähetetään oletuksena, joka on myös näyttö.

Seuraavassa esimerkissä ls /var-tulos lähetetään stdout-osoitteeseen (näyttöön), samoin kuin ls:n /tecmint tulos. . Mutta jälkimmäisessä tapauksessa stderr näytetään.

Näiden erityistiedostojen tunnistamisen helpottamiseksi niille kullekin on määritetty tiedostokuvaaja, abstrakti esitys, jota käytetään niiden käyttämiseen. Olennaista on ymmärtää, että nämä tiedostot, kuten muutkin, voidaan ohjata uudelleen. Tämä tarkoittaa, että voit siepata tiedoston tai komentosarjan tulosteen ja lähettää sen syötteenä toiseen tiedostoon, komentoon tai komentosarjaan. Näin voit tallentaa levylle esimerkiksi komentojen tulosteet myöhempää käsittelyä tai analysointia varten.

Seuraavat operaattorit ovat käytettävissä stdin (fd 0), stdout (fd 1) tai stderr (fd 2) uudelleenohjaamiseksi.

Redirection Operator

Tehoste

>

Ohjaa vakiotulosteen tiedostoon, joka sisältää vakiotulosteen. Jos kohdetiedosto on olemassa, se korvataan.

>>

Liittää vakiotulosteen tiedostoon.

2>

Ohjaa vakiovirheen tiedostoon, joka sisältää vakiotulosteen. Jos kohdetiedosto on olemassa, se korvataan.

2>>

Lisää vakiovirheen olemassa olevaan tiedostoon.

&>

Ohjaa sekä vakiotulosteen että vakiovirheen tiedostoon; jos määritetty tiedosto on olemassa, se korvataan.

<

Käyttää määritettyä tiedostoa vakiosyötteenä.

<>

Määritettyä tiedostoa käytetään sekä vakiotulona että vakiolähtönä.

Toisin kuin uudelleenohjaus, liukuhihnaus suoritetaan lisäämällä pystysuora palkki (|) komennon jälkeen ja ennen toista.

Muistaa:

  1. Uudelleenohjausta käytetään lähettämään komennon tulos tiedostoon tai lähettämään tiedosto komennon syötteenä.
  2. Pipelointia käytetään lähettämään komennon tulos toiseen komentoon syötteenä.

Esimerkkejä uudelleenohjauksesta ja putkistosta

Esimerkki 1: Komennon tulosteen uudelleenohjaus tiedostoon

Joskus sinun on toistettava tiedostoluetteloa. Voit tehdä tämän tallentamalla luettelon ensin tiedostoon ja lukemalla sen sitten rivi riviltä. Vaikka on totta, että voit toistaa ls:n tulosteen suoraan, tämä esimerkki havainnollistaa uudelleenohjausta.

ls -1 /var/mail > mail.txt

Esimerkki 2: Ohjataan sekä stdout että stderr hakemistoon /dev/null

Jos haluamme estää sekä stdout- että stderr-koodien näyttämisen näytöllä, voimme ohjata molemmat tiedostokuvaajat osoitteeseen /dev/null. Huomaa, kuinka tulos muuttuu, kun uudelleenohjaus toteutetaan samalle komennolle.

ls /var /tecmint
ls /var/ /tecmint &> /dev/null

Esimerkki 3: Tiedoston käyttäminen komennon syötteenä

Vaikka cat-komennon klassinen syntaksi on seuraava.

cat [file(s)]

Voit myös lähettää tiedoston syötteenä käyttämällä oikeaa uudelleenohjausoperaattoria.

cat < mail.txt

Esimerkki 4: Komennon lähdön lähettäminen syötteenä toiselle

Jos sinulla on suuri hakemisto- tai prosessiluettelo ja haluat pystyä paikantamaan tietyn tiedoston tai prosessin yhdellä silmäyksellä, sinun kannattaa liittää listaus grepiin.

Huomaa, että käytämme putkistoja seuraavassa esimerkissä. Ensimmäinen etsii vaadittua avainsanaa, kun taas toinen poistaa varsinaisen grep-komennon tuloksista. Tässä esimerkissä luetellaan kaikki apache-käyttäjään liittyvät prosessit.

ps -ef | grep apache | grep -v grep