More

    Menghapus File Duplikat di Linux

    Pada artikel sebelumnya saya sudah membahas tentang Cara Menemukan File dan Folder Besar di Linux. Pada tutorial kali ini saya akan mencoba memberikan tutorial tentang menghapus file duplikat di linux. Kadang, ketika hardisk komputer/server kita sudah mulai penuh, ada waktunya kita untuk membersihkan atau menghapus file-file yang tidak penting baik di komputer ataupun server. Tak jarang, banyak sekali file-file duplikat yang banyak sehingga memakan ruang hardisk komputer ataupun server kita.

    Kebiasaan mengunduh file dari internet, merupakan salah satu faktor hardisk komputer kita menjadi penuh.

    Lalu, bagaimana cara menghapus file duplikat di linux?

    Jadi, pada tutorial kali ini saya akan menggunakan sebuah file bash script, dimana script tersebut ketika dijalankan akan secara otomatis menghapus file yang sama secara singkat!

    jadi, anda tidak perlu lagi membuka satu-persatu folder untuk menghapus file yang duplikat tersebut.

    Menghapus File Duplikat di Linux

    Menghapus file dengan bash script.

    Buat sebuah file dengan nama hapus-duplikat.sh

    touch hapus-duplikat.sh

    Buka file yang sudah terbuka tadi lalu masukkan kode dibawah ini.

    #!/bin/bash
    declare -A arr
    shopt -s globstar
    
    for file in **; do
      [[ -f "$file" ]] || continue
    
      read cksm _ < <(md5sum "$file")
      if ((arr[$cksm]++)); then 
        echo "rm $file"
      fi
    done

    Jangan lupa untuk simpan.

    CTRL+X

    lalu beri hak akses

    chmod a+x hapus-duplikat.sh

    Lalu jalankan

    ./hapus-duplikat.sh

    Maka script tersebut akan mencari dan menghapus file yang duplikat didalam folder yang sama.

    Jika cara tersebut cukup ribet, anda bisa menggunakan cara dibawah ini dengan one line command. artinya anda hanya perlu menjalankan perintah dibawah ini langsung diterminal.

    Menemukan File Duplikat (berdasarkan ukuran terlebih dahulu, kemudian hash MD5)

    find -not -empty -type f -printf “%s\n” | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 –all-repeated=separate

    Hapus file duplikat yang ditemukan

    find -not -empty -type f -printf “%s\n” | sort -rn | uniq -d |  xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 –all-repeated=separate | cut -f3-100 -d ‘ ‘ | tr ‘\n.’ ‘\t.’ | sed ‘s/\t\t/\n/g’ | cut -f2-100 | tr ‘\t’ ‘\n’ | perl -i -pe ‘s/([ (){}-])/\\$1/g’ | perl -i -pe ‘s/’\”/\\’\”/g’ | xargs -pr rm -v

    Cara menguji file memiliki konten yang unik

    if diff "$file1" "$file2" > /dev/null; then
        ...

    Bagaimana cara mendapatkan daftar file dalam direktori?

    files="$( find ${files_dir} -type f )"

    Script

    #!/bin/bash
    # removeDuplicates.sh
    
    files_dir=$1
    if [[ -z "$files_dir" ]]; then
        echo "Error: files dir is undefined"
    fi
    
    files="$( find ${files_dir} -type f )"
    for file1 in $files; do
        for file2 in $files; do
            # echo "checking $file1 and $file2"
            if [[ "$file1" != "$file2" && -e "$file1" && -e "$file2" ]]; then
                if diff "$file1" "$file2" > /dev/null; then
                    echo "$file1 and $file2 are duplicates"
                    rm -v "$file2"
                fi
            fi
        done
    done

    Misalnya, kami memiliki beberapa direktori:

    $> ls .tmp -1
    all(2).txt
    all.txt
    file
    text
    text(2)

    Jadi hanya ada 3 file unik. Mari kita jalankan skrip itu:

    $> ./removeDuplicates.sh .tmp/
    .tmp/text(2) and .tmp/text are duplicates
    removed `.tmp/text'
    .tmp/all.txt and .tmp/all(2).txt are duplicates
    removed `.tmp/all(2).txt'

    Lalu cek kembali, maka akan ada 3 file tersisa

    $> ls .tmp/ -1
    all.txt
    file
    text(2)

     

    Free $100
    Deal

    Daftar menggunakan link di pojok kanan atas, minimal top up $25 usd. Maka dalam waktu 30 hari setelah registrasi anda akan mendapatkan credit $100 gratis dari vultr untuk mencoba layanan mereka.

    More Less
    Doesn't expire

    Recent Articles

    apa itu mirkotik

    Apa itu Mikrotik dan Fungsinya

    0
    Apa itu mikrotik? - Untuk beberapa orang yang biasa berkecimpung di dunia jaringan, mungkin sudah tidak asing lagi dengan yang namanya Mikrotik. Alat tersebut biasa ada...
    aplikasi belajar online

    Moodle, Aplikasi Belajar Online Gratis

    0
    Aplikasi Belajar Online - Saat ini membuat aplikasi pembelajaran online sangatlah mudah. Banyak sekali platform yang bisa anda gunakan untuk pembelajaran online, salah satunya...
    cara install mikrotik CHR

    Cara Install Mikrotik CHR (Cloud Host Router) pada Centos 8

    0
    Cara Install Mikrotik CHR - Mikrotik seringkali diperlukan ketika mengelola sebuah network secara fisik atau virtual. Saat ini, Mikrotik tersedia dalam versi cloud yang bernama Mikrotik CHR. Sistem operasi...
    upgrade windows 11

    Cara Upgrade Windows 11 Gratis!

    0
    Pada tanggal 5 Oktober 2021, microsoft telah resmi meluncurkan generasi windowsnya yaitu windows 11. Dengan serangkaian fitur baru, Windows 11 diklaim akan menyajikan pengalaman menggunakan...
    tips memilih isp

    Tips Memilih ISP Untuk Kebutuhan Internet Anda

    0
    Dalam memilih ISP kita perlu mempertimbangkan beberapa hal, diantaranya ialah budget. Namun, selain itu tentunya kita perlu memilih isp yang cocok dengan kita. Memilih ISP...

    Related Articles

    Leave A Reply

    Please enter your comment!
    Please enter your name here

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Dapatkan konten terbaik dari kami!