Kuinka haetaan tiedostojen ja kansioiden määrä?

Anonyymi

Kysyin tätä jo eilen mutta se katosi jonnekin, yritän uudestaan. Eli koko järjestelmän, kaikista tiedostoista ja kansioista, pitäisi saada lukumäärä selville.

13

264

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Ei ole ihan helppo tehtävä.

      - Linuxissa sama tiedosto voi olla useassa paikassa (hard links) - lasketaanko tuollainen yhdeksi vai moneksi tiedostoksi?

      - Linuxissa on kansioilta/tiedostoilta näyttäviä juttuja jotka eivät ole oikeita kansioita/tiedostoja, lähinnä /dev /proc ja /sys . Näitä et todennäköisesti halua laskea mukaan.

      Tämä komento toimii jotenkuten:

      sudo find / -xdev | wc -l

      - "sudo find /" etsii kaikki kansiot ja tiedostot juuresta alkaen. Jos yhdestä tiedostosta on useita "hard" linkkejä niin jokainen lasketaan erilliseksi tiedostoksi.
      - "-xdev" jättää pois edellä mainitut erikois-kansiot, mutta myös kaikki tiedostot jotka ovat muilla levyillä. Jos kovalevy on jaettu moneen osioon tämä komento ei siis listaa kaikkia tiedostoja, mutta nykyään kait aika usein on vain yksi osio jolloin tämä toimii.
      - "| wc -l" laskee montako riviä find-komento tulostaa ja ilmoittaa vain rivien lukumäärän

      • Anonyymi

        tree -komento tulostaa yhtä sun toista pääkäyttäjän oikeuksin juurihakemistosta lähtien.
        Myös du -tulostaa tiedostoja, mutta ilmoittaa tiedostojen/hakemistojen koon, sekä levytilan.
        Yksiselitteisesti nuokaan komennot eivät ratkaisse ongelmaasi :(


      • Anonyymi

        Eikö -xdev rajaa haun koskemaan vain tiedostoja.


      • Anonyymi

        Rsync-komentoakin voi hyödyntää, joskaan ei ole vakiovaruste kaikissa. Testikoneessa tuli tosin 6 tiedoston heitto verrattuna findiin.

        $ sudo find / -xdev | wc -l
        287146

        $ sudo rsync --stats --dry-run -ax / /tmp

        Number of files: 287,152 (reg: 199,583, dir: 24,291, link: 63,270, special: 8)
        .
        .
        .
        paljon muuta.


      • Anonyymi
        Anonyymi kirjoitti:

        Rsync-komentoakin voi hyödyntää, joskaan ei ole vakiovaruste kaikissa. Testikoneessa tuli tosin 6 tiedoston heitto verrattuna findiin.

        $ sudo find / -xdev | wc -l
        287146

        $ sudo rsync --stats --dry-run -ax / /tmp

        Number of files: 287,152 (reg: 199,583, dir: 24,291, link: 63,270, special: 8)
        .
        .
        .
        paljon muuta.

        Ls laskee ainakin tuplasti.

        $ sudo ls / -AR | wc -l
        588430


      • Anonyymi
        Anonyymi kirjoitti:

        Rsync-komentoakin voi hyödyntää, joskaan ei ole vakiovaruste kaikissa. Testikoneessa tuli tosin 6 tiedoston heitto verrattuna findiin.

        $ sudo find / -xdev | wc -l
        287146

        $ sudo rsync --stats --dry-run -ax / /tmp

        Number of files: 287,152 (reg: 199,583, dir: 24,291, link: 63,270, special: 8)
        .
        .
        .
        paljon muuta.

        Tree komennon tulos koneellani:
        35390 directories, 375997 files
        En kuitenkaan tuota tulosta pureksimatta niele. Mutta ehkä varsin
        suuntaa-antava arvio.


      • Anonyymi
        Anonyymi kirjoitti:

        Tree komennon tulos koneellani:
        35390 directories, 375997 files
        En kuitenkaan tuota tulosta pureksimatta niele. Mutta ehkä varsin
        suuntaa-antava arvio.

        Tuo tree:n suoritusnopeus taitaa riippua muuten alla lymyävästä tiedostojärjestelmästä - osa pitää kirjaa hakemistoista ja niiden tiedostomääristä - osa ei. Osalle dynaaminen linkki on tiedoston referenssilaskurin kasvatusoperaatio: kahdessa paikkaa sama tiedosto, tiedostojärjestelmästä löytyy polut 1kpl sisältöä. Mitenkäs bindaukset? Eli sama /share hakemisto mountattuna vaikka usealle käyttäjälle kotihakemistoon? Dynaamiset linkit? No, ne on periaatteessa kai tiedostoja, jonka tyyppi on linkki tiedostoon.. Pitääkö rajata nfs-mountit yms. pois/rajautuuko automaattisesti?


      • Anonyymi
        Anonyymi kirjoitti:

        Tree komennon tulos koneellani:
        35390 directories, 375997 files
        En kuitenkaan tuota tulosta pureksimatta niele. Mutta ehkä varsin
        suuntaa-antava arvio.

        Täällä antoi tree.

        41428 directories, 467126 files

        Find wc:llä siis 287146 riviä, rsync "Number of files: 287,152" ja ls wc-putkella 588430.


    • Anonyymi

      Tiedostojärjestelmän alla näkyi olevan 18 kansiota ja jokaisessa nolla --- monta ja niissä lisää, jatkuu .....

    • Anonyymi

      Eikös ls -R
      näytä.

      • Anonyymi

        ls -R komento listaa ko. hakemistossa olevat alihakemistot ja tiedostot.
        Pääkäyttäjänä juurihakemistosta (/) ajettuna saattaisi löytyä hieman
        enempi hakemistoja ja tiedostoja.
        ls komento kuitenkin listaa vain hakemistot, alihakemistot ja tiedostot.
        Hakemistojen, alihakemistojen ja tiedostojen määrä pitäisi ko. tulosteesta
        hakea erikseen.


      • Anonyymi
        Anonyymi kirjoitti:

        ls -R komento listaa ko. hakemistossa olevat alihakemistot ja tiedostot.
        Pääkäyttäjänä juurihakemistosta (/) ajettuna saattaisi löytyä hieman
        enempi hakemistoja ja tiedostoja.
        ls komento kuitenkin listaa vain hakemistot, alihakemistot ja tiedostot.
        Hakemistojen, alihakemistojen ja tiedostojen määrä pitäisi ko. tulosteesta
        hakea erikseen.

        Jaa. No:
        find */* > hokkuspokkus
        Sitten avaat sen tiedostoselaimella, esim. gedit näyttää rivinumerot. Tai lasketutat rivit jollain komennolla.


      • Anonyymi
        Anonyymi kirjoitti:

        Jaa. No:
        find */* > hokkuspokkus
        Sitten avaat sen tiedostoselaimella, esim. gedit näyttää rivinumerot. Tai lasketutat rivit jollain komennolla.

        No niin. Tuosta ls -komennosta muutama juttu.

        ls -R tulostaa tiedostot ja alihakemistot
        ls -Ra tulostaa tiedostot, piilotiedostot ja alihakemistot
        ls -RA tulostaa tiedostot, piilotiedostot ja alihakemistot, paitsi "." ja ".."-hakemistot

        Hakemiston näyttämiseen tulee eniten käytettyä versiota

        ls -latr

        Joka näyttää kyseisen hakemiston sisällön aikajärjestyksessä ja uusimman tiedoston viimeisenä. Tuo ei ole rekursiivinen (-r=takaperin järjestys, -R=rekursiivinen).


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Laitetaas nyt kirjaimet tänne

      kuka kaipaa ja ketä ?
      Ikävä
      93
      7528
    2. Pieni häivähdys sinusta

      Olet niin totinen
      Ikävä
      40
      3622
    3. Lähetä terveisesi kaipaamallesi henkilölle

      Vauva-palstalta tuttua kaipaamista uudessa ympäristössä. Kaipuu jatkukoon 💘
      Ikävä
      102
      1846
    4. Missä olet ollut tänään kaivattuni?

      Ikävä sai yliotteen ❤️ En nähnyt sua tänään söpö mies
      Ikävä
      24
      1050
    5. Taas ryssittiin oikein kunnolla

      r….ä hyökkäsi Viroon sikaili taas ajattelematta yhtään mitään https://www.is.fi/ulkomaat/art-2000011347289.html
      NATO
      32
      933
    6. Valtimon Haapajärvellä paatti mäni nurin

      Ikävä onnettomuus Haapajärvellä. Vene hörpppi vettä matkalla saaren. Veneessä ol 5 henkilöä, kolme uiskenteli rantaan,
      Nurmes
      27
      901
    7. Rakastuminenhan on psykoosi

      Ei ihme että olen täysin vailla järkeä sen asian suhteen. Eipä olis aikoinaan arvannut, että tossa se tyyppi menee, jonk
      Ikävä
      53
      807
    8. Olisinko mä voinut käsittää sut väärin

      Nyt mä kelaan päässäni kaikkea meidän välillä tapahtunutta. Jos mä sit kuitenkin tulkitsin sut väärin? Se, miten sä käyt
      Ikävä
      31
      732
    9. Tähän vaivaan ei auta kuin kaksi asiaa

      1. Tapaaminen uudestaan tai 2. Dementia Anteeksi kun olen olemassa🙄
      Ikävä
      60
      729
    10. Känniläiset veneessä?

      Siinä taas päästiin näyttämään miten tyhmiä känniläiset on. Heh heh "Kaikki osalliset ovat täysi-ikäisiä ja alkoholin v
      Nurmes
      26
      652
    Aihe