Menghapus file ‘.DS_Store’ dari GNU/Linux

Saya baru sadar kalau ada sebuah file “junk” yang muncul di setiap folder tempat saya mengoleksi ikon, wallpaper, dan tema untuk iPhone/iPod yang saya download dari Internet. File ini bernama .DS_Store dan ukuran filenya bervariasi mulai dari beberapa bytes saja sampai puluhan kilobytes.

Awalnya saya abaikan saja karena saya pikir jumlahnya tidak banyak, tetapi kemudian saya mengeceknya kembali menggunakan perintah find di terminal… ternyata jumlahnya ada ratusan 🙁

Tentang .DS_Store

.DS_Store adalah sebuah file tersembunyi yang muncul secara otomatis di sistem operasi Mac OS X. .DS_Store dibutuhkan oleh Finder (File manager pada Mac OS X) untuk mendapatkan informasi tentang ikon atau posisi dari suatu file. Jadi, file .DS_Store ini fungsinya kurang lebih mirip dengan thumbs.db di Windows Explorer, sama-sama menyimpan informasi.

Dari mana file ini berasal?

File ini bisa sampai ke komputer saya karena saya sering men-download file seperti ikon, wallpaper, tema desktop/mobile yang dibuat oleh seseorang yang menggunakan Mac OS X. Jadi bisa dibilang kalau .DS_Store itu adalah oleh-oleh dari si designer untuk kita karena kita telah men-download hasil karyanya. Tapi karena saya menggunakan Ubuntu, saya tidak peduli dengan “oleh-oleh” ini, dan bagi saya itu sudah menjadi sampah.

Sebenarnya saya bisa saja meng-install aplikasi tambahan untuk menghapus file junk seperti ini, misalnya BleacBit, tapi saya pikir-pikir lagi untuk apa meng-install aplikasi kalau saya bisa membersihkannya sendiri dengan bantuan terminal? Akhirnya saya coba sendiri.

Temukan lokasi .DS_Store:

find /direktori/utama -name ".DS_Store"

Keterangan:
/direktori/utama: adalah direktori tempat kita mencari file .DS_Store tsb,
".DS_Store": nama file yang akan dicari (diletakkan diantara ” “),
-name: adalah argumen dalam pencarian find, sifatnya case sensitive,
Anda juga bisa menggunakan -iname yang sifatnya case insensitive.

Contoh:
Jika menggunakan -name kita tidak akan menemukan .DS_Store kalau ditulis seperti ini: .ds_store,
sedangkan jika menggunakan -iname kita bisa menemukannya, baik itu ditulis .dS_store, .DS_stORe, atau .DS_StORE.

Hapus segera file yang ditemukan:

find /direktori/utama -name ".DS_Store" -exec rm {} \;

Keterangan:
-exec rm: berarti mengeksekusi perintah rm,
-exec rm {}: berarti mengeksekusi perintah rm hanya pada file yang cocok saja, dalam kasus ini adalah file .DS_Store saja.
{}: nantinya akan menggantikan nama file yang dicari untuk dieksekusi,
\; dibelakang -exec: artinya pemberhentian tugas mengeksekusi oleh rm.

Jadi, perintah:

find /direktori/utama -name ".DS_Store" -exec rm {} \;

jika dibahasakan akan menjadi seperti ini:

cari /direktori/utama nama ".DS_Store" lakukan hapus ".DS_Store" stop

Selamat berkreasi dengan perintah find 😀