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

289

    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. Kylläpä on nautinnollista taas tämä palstan vassari valitus!

      Lähes jokainen avaus on vassareiden kitinää ja valitusta. Eikö se tarkoitakin, että silloin asiat menee maassamme parem
      Maailman menoa
      93
      3108
    2. HS: persujen v. 2015 turvapaikanhakijoista alle puolet töissä

      Aikuisina Suomeen tulleista ja myönteisen päätöksen saaneista vain 42 prosenttia oli vuonna 2023 töissä, vaikka he ovat
      Maailman menoa
      72
      2375
    3. Yksi kuoli nokkakolarissa

      Asiasta YLEn verkkosivuilla uutinen klo 23.02. Oliko itsemurha?
      Oulainen
      27
      2233
    4. Mikä on kaivattusi ammatti

      entäpä sinun? 💶
      Ikävä
      85
      1714
    5. Helvetistä ei ole paluuta

      Kun ihminen laskeutuu kuolleiden maailmaan, kauhujen valtakuntaan ja tuonelan ovet sulkeutuu kiinni, se on karu tunne ku
      Idän uskonnot
      388
      1563
    6. Persut muuten hyväksyvät 2 + 8 mrd. euron maatalous- ja yritystuet

      Vaikka molemmat tukimuodot tiedetään haitallisiksi, koska ovat käytännössä pelkkää säilyttävää tukea, eivätkä kannusta k
      Maailman menoa
      60
      1414
    7. Mikä kaivatussasi herätti mielenkiintosi

      Kun tapasitte ensi kerran? Ulkonäössä? Luonteessa tai olemuksessa? Kuinka nopeasti mielenkiinto muuttui ihastukseksi?
      Ikävä
      90
      1352
    8. Järjetön Topi-ilta

      Lisää tappiota konkurssipesälle. Miten voi olla mahdollidta , että annetaan järjestää tämä. Sorsakoski pyörii haudassaan
      Ähtäri
      23
      1234
    9. Terveisiä vanhemmalle

      J-miehelle. Ehkä nähdään vielä 😉
      Ikävä
      56
      1169
    10. Halutaan toisiamme

      Mutta se on Salaisuus❤️
      Intohimo
      48
      1114
    Aihe