>
MENU
ofono_ofono_archsm

Intel e Nokia insieme per oFono, stack Linux mobile

home2_680x_530099d9a6c4783c0ab9336353d6b61f

BEdita: un framework per creare applicazioni Web che sembra...

18 maggio 2009 Visualizzazioni: 1211 Focus, Software

Fdupes: alla disperata ricerca dei file duplicati

Chi è alla continua ricerca di documenti per il proprio lavoro ha la tendenza, con il tempo, ad accumulare una discreta quantità di file di ogni formato (pdf, txt, formati tipici per l’ufficio etc) fino ad arrivare ad un punto in cui non ci si ricorda più se il file xyz è stato scaricato e, in caso positivo, se gli è stato cambiato il nome all’atto del salvataggio. Grazie ad una piccola ma interessante utility da riga di comando possiamo verificare con poco sforzo e tempo la presenza di file scaricati più e più volte; l’utility in questione è fdupes.


1) Installiamo fdupes
Presente nella maggior parte dei repository, quindi facilmente installabile attraverso il gestore dei pacchetti della propria distribuzione, fdupes non necessita di dipendenze particolari pertanto potrà essere facilmente installato anche nella ipotesi di assenza di un pacchetto precompilato utilizzando direttamente i sorgenti. Scaricato il file fdupes-1.40.tar.gz è sufficiente decomprimerlo;

tar xzvf fdupes-1.40.tar.gz

entrare nella directory creata dalla decompressione:

cd fdupes-1.40

e impartire i comandi:

make fdupes
su (per loggarsi come root)
make install

in particolare quest’ultimo installerà l’utility in /usr/local/bin e il manuale online in /usr/local/man. Utilizzando un comune editor di testo è possibile cambiare il percorso di destinazione alle direttive INSTALLDIR e MANPAGEDIR all’interno del Makefile.

twittergoogle_pluslinkedinmail
  • stirner

    Un’altro programma interessante è dupseek.
    Interessante perchè offre diverse opzioni di intervento ed facilmente ” scriptabile”.

    Usage: dupseek [-OPTIONS [-MORE_OPTIONS]] [-] [PROGRAM_ARG1 …]

    The following single-character options are accepted:
    With arguments: -b -f -m -M
    Boolean (without arguments): -h

    Options may be merged together. — stops processing of options.
    Space is not required between options and their arguments.
    [Now continuing due to backward compatibility and excessive paranoia.
    See “perldoc Getopt::Std” about $Getopt::Std::STANDARD_HELP_VERSION.]
    Dupseek ver. 1.3
    Recursively scan one or more directories for duplicate files.

    Usage /usr/bin/dupseek [-h] [ -m ] [ -M ] [-b ] [-f ] …
    -h Print this help message
    -m Ignore files smaller than min_size
    -M Ignore files larger than max_size
    min_size and max_size accept k, m and g modifiers
    for kilo, mega, and gigabytes. Default is bytes

    -b Automatically perform actions, without
    prompting the user interactively.
    batch_mode can be one of
    report: Print a report on the duplicates found.
    The format defaults to ‘full’ but can be
    specified by -f format
    delete: Keep the first file of every group of
    duplicates and delete the rest
    kill: Equivalent to ‘delete’
    link: Like delete, but substitute duplicates
    with symbolic links to the first file
    -f Output format for report batch mode.
    format can be expressed in mnemonic form or by
    a sequence of flag characters.

    Flags are
    d (duplicates): Skip the first file in any group
    h (header): Print some information on each group
    n (newline): Separate groups with a newline
    s (simple): Print filenames
    e (escape): Escape special characters in file names

    A mnemonic form can be one of
    full = hn For humans to read
    simple = n For automatic parsing
    xargs = dne The output can be piped through xargs for
    advanced removal or other processing

    SAMPLE USAGE:
    - Interactive search:
    /usr/bin/dupseek dir1 dir2
    - Same as above for files of size at least 1 kilobyte:
    /usr/bin/dupseek -m 1k dir1 dir2
    - Same as above for files of size at most half a gigabyte:
    /usr/bin/dupseek -M .5g dir1 dir2
    - Keep only one copy of duplicate files:
    /usr/bin/dupseek -b kill dir1 dir2
    - Substitute duplicates with symbolic links:
    /usr/bin/dupseek -b link dir1 dir2
    - Use backtick expansion to move duplicates to /trash:
    mv `/usr/bin/dupseek -b report -f de dir1 dir2` /trash
    - As above, but with xargs:
    /usr/bin/dupseek -b report -f xargs dir1 dir2 | xargs -i mv {} /trash

    Pressing Ctrl-C during interactive processing, you will be presented
    with partial results.

    • http://www.tuxjournal.net Michele Petrecca

      ..e si, il bello di queste utility da riga di comando è che sono “scriptabili” e quindi utilizzabili in molti contesti e in maniera personalizzata. :-))

      Bye 8-)

  • Calogero Smith

    Interessante programmetto, non lo conoscevo.

    Ma mi domando: c’era veramente bisogno delle prime due pagine di introduzione, con una manciata di righe per spiegare il configure/make senza menzionare nessuno dei maggiori sistemi di pacchettizzazione (RPM? APT?), qualche info generale e finalmente una pagina contenente le informazioni piu’ importanti?

    Una questione pubblicitaria (ho visto aumentare sensibilmente i banner, ultimamente)?

    • http://www.tuxjournal.net Michele Petrecca

      …questa piccola utility è presente, praticamente, in tutti i repository delle distribuzioni quindi utilizzando l’associato package manager lo si installa. Il “problema” poteva/può nascere in quelle distribuzioni “più piccole” che non ce l’hanno pacchettizzato. :-))

      Gli articoli presenti sono divisi per paragrafi; se un paragrafo ha 2 righe (tanto per fare un esempio stupido e, in verità, abbastanza non realistico) prende una pagina.

      Bye 8-)