DFT - Directory and File Tool

Sekcia: Programovanie 15.04.2007 | 21:40
Avatar Lapajko Arch Linux  Používateľ
Ahoj všetci,

už sa vám stalo, že ste mali plný disk a nevedeli ste kde máte veľa dát? Alebo že ste chceli v command line rýchlo zistiť veľkosť súboru či adresára?

Naprogramoval som malý programík, jeho popis a linka na inštalačku je na fóre tuxportal.cz: http://www.tuxportal.cz/forum/topic-12.html
môžete to niekto skúsiť a povedať mi svoj názor? ďakujem

    • Re: DFT - Directory and File Tool 15.04.2007 | 21:51
      WlaSaTy   Návštevník
      a cim sa lisi od du? inac ako napad je to vcelku dobre :)
      • Re: DFT - Directory and File Tool 16.04.2007 | 00:23
        Avatar Lapajko Arch Linux  Používateľ
        od du sa to líši tým, že to printuje vo farbe a odsaduje to adresáre a súbory do "stromu"

        môžeš si nastaviť max a min veľkosť súboru

        printuje ti to v KiB, MiB, GiB, TiB, PiB, EiB, ZiB - podľa toho, aké je to veľké
        • Re: DFT - Directory and File Tool 16.04.2007 | 00:54
          WlaSaTy   Návštevník
          rekurzivne programovanie ti uz ide, nechces teraz skusit viacrozmerne pametove struktury?
          • Re: DFT - Directory and File Tool 16.04.2007 | 01:01
            Avatar Lapajko Arch Linux  Používateľ
            to má byť nejaká výzva?

            neviem ako mám tomu rozumieť...
          • Re: DFT - Directory and File Tool 16.04.2007 | 01:16
            Avatar Lapajko Arch Linux  Používateľ
            nejaký nápad ako sa k tomu dostanem?

            rád by som zlepšil svoje programovanie :o)
            • Re: DFT - Directory and File Tool 16.04.2007 | 01:26
              WlaSaTy   Návštevník
              skus si typovo zadefinovat strukturu a pozriet pointer/smernik. no a ked to par krat zkombinujes, ...
              • Re: DFT - Directory and File Tool 16.04.2007 | 01:28
                Avatar Lapajko Arch Linux  Používateľ
                myslíš typedef? Aké to má výhody?
                • Re: DFT - Directory and File Tool 16.04.2007 | 01:42
                  WlaSaTy   Návštevník
                  napriklad s tym mozes zotriedit vysledky podla velkosti alebo abecedy, popripade poctu suborov a podadresarov. tak co?

                  • Re: DFT - Directory and File Tool 16.04.2007 | 01:49
                    Avatar Lapajko Arch Linux  Používateľ
                    to môžem aj bez typedef - ak hovoríme o tom mojom kóde...

                    ale možno sa mýlim - možno je to s typedef jednoduchšie

                    každopádne sa na to kuknem :o)
                    • Re: DFT - Directory and File Tool 16.04.2007 | 03:49
                      Avatar srigi   Používateľ
                      >skus si typovo zadefinovat strukturu a pozriet pointer/smernik. no a ked to par krat zkombinujes, ...


                      WlaSaTy tym myslel, ze by si mal teraz poskusat programovat s pointermy.
                      • Re: DFT - Directory and File Tool 16.04.2007 | 11:05
                        Avatar Lapajko Arch Linux  Používateľ
                        okay, rozumiem
                      • Re: DFT - Directory and File Tool 16.04.2007 | 11:27
                        Avatar Lapajko Arch Linux  Používateľ
                        otázka ale znie:

                        keď si vytvorím pointer na štruktúru a dynamicky mu pridelím pamäť tak, že vznikne pole pointerov - nie je to programovanie s pointermi?
                        • Re: DFT - Directory and File Tool 16.04.2007 | 17:11
                          WlaSaTy   Návštevník
                          ano, je. ale ked si vytvoris strukturu ktora bude okrem ineho obsahovat pointery na strukturu tak sa ti zvysi rozmer, zavisi od navrhu a uhla pohladu. nie je to tazke ak si clovek uvedomi co a ako :-) ale spociatku budes mat srandovne core dumpy. ja som sa toto ucil na "inom" OS a namiesto core dumpu sa mi prestala hybat myska.
                          • Re: DFT - Directory and File Tool 16.04.2007 | 17:18
                            Avatar uid0 Debian  Používateľ
                            to vazne? ja by som povedal, ze nikto kto pochopi co je pointer s tym uz nemoze mat problem (okrem chyb z nepozornosti a tak).

                            pekna vec je dynamicky (cez nejaku vlastnu funkciu add/push, ktora si to strazi) rozsirovane pole structov (cez pointre samozrejme), ktore obsahuju tiez nejake pointre na struct. ja by som povedal "piece of cake", ale taketo hranie s pamatou je moja srdcovka :)
                            Debian. apt-get into it…
                            • Re: DFT - Directory and File Tool 16.04.2007 | 17:27
                              Avatar Lapajko Arch Linux  Používateľ
                              súhlasím, s tým dynamickým rozširovaním pamäte.... človek sa s tým vie pekne pozabávať -- ale na to potrebuje mať aj projekt, ktorý takúto vec využije
                          • Re: DFT - Directory and File Tool 16.04.2007 | 17:25
                            Avatar Lapajko Arch Linux  Používateľ
                            viem aj čo je pointer na štruktúru, ak si pozrieš môj zdroják, štruktúra obsahuje pointer sama na seba....

                            nechcel som do toho dávať ďalšie štruktúry, nezvýšilo by to efektivitu tohoto programu... viem ale čo si mi tým chcel povedať
        • Re: DFT - Directory and File Tool 16.04.2007 | 01:02
          Avatar Lapajko Arch Linux  Používateľ
          a ešte jedna vec:

          du vypisue adresáre podľa toho, ako to rekurzívne prehľadáva

          dft vypisuje od koreňového adresára smerom dovnútra - takže je to viac prehľadné (myslím)
    • Re: DFT - Directory and File Tool 15.04.2007 | 22:27
      Avatar uid0 Debian  Používateľ
      zopar veci:

      * inspiruj sa nejakym dobre napisanym Makefile (ale nie generovanym). slo by to aj lepsie, aj krajsie
      * bolo by super, keby si nemal vsetky riadky sirsie nez 80 znakov
      * uvazoval si nad K&R?
      * man 3 getopt

      a este par rad len k tvojmu prospechu:
      * Subversion
      svnadmin create ~/svn
      svn help
      

      * emacs :) a investovat do neho trochu casu. pre zaciatok (ak by bol zaujem, mozem poskytnut viac uzitocnych nastaveni):
      cat > .emacs <<EOF
      (setq backup-directory-alist (quote (("." . "~/backup"))))
      
      (defun my-c-mode-hook ()
        (c-set-style "k&r")                   ; one true brace style and
        (setq c-basic-offset 8)               ; alebo 4
      
        (c-toggle-electric-state t)
        (c-toggle-auto-newline t)
        (c-toggle-hungry-state t)
        )
      (add-hook 'c-mode-hook 'my-c-mode-hook)
      EOF
      
      Debian. apt-get into it…
      • Re: DFT - Directory and File Tool 16.04.2007 | 00:35
        Avatar Lapajko Arch Linux  Používateľ
        * čo sa týka Makefile, tak toto je môj prvý :o)
        * tých 80 znakov sa týka Makefile?
        * a nepoužívam K&R? čo tam mám iné?
        * tomu man 3 getopt nerozumiem :)

        nad svn som už uvažoval, ale pracujem na tom iba sám, tak neviem či to má význam

        na editáciu používam ViM :)
        • Re: DFT - Directory and File Tool 16.04.2007 | 01:05
          Avatar uid0 Debian  Používateľ
          * tych 80 znakov sa tyka vsetkeho
          * nepouzivas K&R, porovnaj si niektoru tvoju funkciu s ukazkou. a tiez podmienky a iteratory sa zapisuju nejak takto - if_(...)_{
          * s tym getopt - mea culpa, som z toho prasackeho print_help() usudil, ze si to parsujes sam.
          cakal by som nieco ako:
                  printf ("kecy\n"
                          " -h --help blaaaa.\n"
                          " -v --verbose blaaaaa.\n");
          

          * svn je vyhodne aj pre jednotlivca
          * vim? aky siroky?
          Debian. apt-get into it…
          • Re: DFT - Directory and File Tool 16.04.2007 | 01:10
            Avatar Lapajko Arch Linux  Používateľ
            * K&R: aha, nedávam medzery
            * používam getopt, ale zatiaľ iba short, nepoužívam long options - kukni si zdroják, je tam getopt

            * nad svn ešte pouvažujem
            * vim mám široký 130 znakov
            • Re: DFT - Directory and File Tool 16.04.2007 | 01:18
              Avatar uid0 Debian  Používateľ
              * nedavas medzery, else divne umiestnujes a pises jednoriadkove if (ako "if(i > 0) strcat(space, "'-->");"). mozno aj nejake ine veci - ked si budes chciet nieco overit, mozes v emacse s mojim nastavenim, robi to za teba :)
              * ten getopt som uz nasiel, som ho predtym prehliadol
              * 130? uf. to ej o 62.5% viac nez je treba (teda aspon u emacsu a shellu :))
              Debian. apt-get into it…
              • Re: DFT - Directory and File Tool 16.04.2007 | 01:23
                Avatar Lapajko Arch Linux  Používateľ
                * ano, už som si všimol - to je zvyk... asi ho budem musieť zmeniť :o)
                * ano 130, mám widescreen :o)
                * vieš mi ukázať nejaký pekný príklad printovania helpu?

                takže by som mal max. 80 znakové riadky?
                • Re: DFT - Directory and File Tool 16.04.2007 | 01:29
                  Avatar uid0 Debian  Používateľ
                  ono prakticky moze byt limit na dlzku riadku dost neprijemny (a zavisi aj od sirky tabu) ale casto sa da udrzat, hlavne aby kazdy druhy nevycuhoval, pretoze potom sa to nemoze pozerat v standardne sirokom okne ;) a to mas vyhodu ked mas widescreen, s vimom sa ti urcite zidu nejake terminaly po boku :)
                  Debian. apt-get into it…
                  • Re: DFT - Directory and File Tool 16.04.2007 | 01:34
                    Avatar Lapajko Arch Linux  Používateľ
                    ok, budem sa snažiť to zlepšiť...

                    tak či tak - zatiaľ som len nepodstatná lamička v C programming :)
          • Re: DFT - Directory and File Tool 16.04.2007 | 01:14
            Avatar Lapajko Arch Linux  Používateľ
            vieš mi ukázať nejaký pekný príklad na printovanie helpu prosím?
            • Re: DFT - Directory and File Tool 16.04.2007 | 01:25
              Avatar uid0 Debian  Používateľ
              http://camars.kaist.ac.kr/courses/230/2002fall/lectures/adv_linux.pdf

              v tejto knizke je pekny priklad na pouzitie getopt (strana 21). inac tak ako som napisal, nemusis volat pre kazdy riadok printf()
              Debian. apt-get into it…
              • Re: DFT - Directory and File Tool 16.04.2007 | 01:32
                Avatar Lapajko Arch Linux  Používateľ
                super, ďakujem...

                ešte že máme to fórum :o)
    • Re: DFT - Directory and File Tool 15.04.2007 | 23:39
      Avatar Misko Kripel slackware  Používateľ
      Calcullating ... done - keby som nahodou chcel vystup s tvojho programu niekde pouzit tak to tam bude treba pracne odstranovat, dal by som tam switch -q akoze quiet kde sa taketo haluze vypisovat nebudu
      asdf
      • Re: DFT - Directory and File Tool 16.04.2007 | 00:37
        Avatar Lapajko Arch Linux  Používateľ
        no ano - dobrý postreh

        uvažoval som nad tým, že to úplne odstránim. Dal som to tam len preto, že keď som zisťoval veľkosť cca 1500 TiB (namountoval som svoj disk asi 5000 krát) nevedel som, či to pracuje, alebo nie...