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

133

    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. Tyttäreni kuoli lihavuusleikkaukseen.

      Miettikää kuiten 2 kertaa, ennenkuin menette lihavuusleikkaukseen.
      Terveys
      317
      7424
    2. Viiimeinen viesti

      Sinulle neiti ristiriita vai mikä nimesi sitten ikinä onkaan. Mulle alkaa riittää tää sekoilu. Oot leikkiny mun tunteill
      Suhteet
      66
      2146
    3. Mikä olisi sinun ja kaivattusi

      Tarinan kertovan elokuvan nimi?
      Ikävä
      175
      1827
    4. epäonnen perjantain rikos yritys

      onpa epäselvä kuva, tuolla laadullako keskustaa tarkkaillaan lego hahmotkin selvempiä
      Kajaani
      16
      1362
    5. Onko kaivattusi täysin vietävissä ja

      vedätettävissä?
      Ikävä
      112
      1277
    6. Yllätyspaukku! Vappu Pimiä rikkoi vaikean rajapyykin yllättävässä bisneksessä: "Nyt hymyilyttää...!"

      Wau, onnea, Vappu Pimiä, upea suoritus! PS. Pimiä tänään televisiossa, ohjelmatietojen mukaan hän on Puoli seiskassa vie
      Suomalaiset julkkikset
      9
      1231
    7. Suomessa ei ole järkeä tarjota terveyspalveluita joka kolkassa

      - Suomen väestötiheys 1.1.2022 oli 18,3 asukasta maaneliökilometriä kohden. - Uudenmaan maakunnassa asuu keskimäärin 18
      Maailman menoa
      169
      1210
    8. RÖTÖSHERRAT KIIKKIIN PUOLANGALLA.

      Puolankalaisilla tehtävä ryhmäkanne itsensä yleintäneistä rötöstelijöista, sekä maksattaa kunnan maksama tyhmän koplan j
      Puolanka
      54
      1146
    9. Kirjoitin sinulle koska

      tunnen sinua kohtaan niin paljon. Sydäntäni särkee, kun kätken ihastumisen, kaipauksen, sinua kohtaan tuntemani lämmön j
      Ikävä
      41
      1071
    10. Martina pääsee upeisiin häihin

      Miltäs se tuntuu kateellisista. Anni Uusivirta on Martinan kavereita.
      Kotimaiset julkkisjuorut
      290
      1019
    Aihe