visualisasi

Pada pekerjaan saya yang sudah pasti berhubungan dengan sistem operasi Linux, dalam sehari-hari sudah menjadi daily activity dalam hal management file seperti membuat, mengedit, ataupun menghapus file. File apasih yang dimaksud disini? yap, yang dimaksud disini file apapun yang ada dalam server tersebut. Bisa jadi file biasa yang berisikan data seperti log-log server, file script, atau bisa juga file konfigurasi. Dari membuat, mengedit, ataupun menghapus file, kali ini saya akan fokus dalam hal mengedit. Tapi tidak terlalu dalam, yang diedit ialah nama file-nya saja. Saya ambil dari real case nya, disini saya ingin melakukan editing pada file konfigurasi konfigurasi.conf. Sesuai Standard Of Procedure(SOP), sebelum melakukan editing saya harus membuat backup file-nya terlebih dahulu. Kenapa? agar apabila saat proses editing terdapat kekeliruan ataupun kesalahan saya dapat melakukan rollback dengan cepat. Saya biasa menggunakan metode copy file dalam proses backup yang dimana basic command-nya biasanya :

1
2
3
4
5
cp konfigurasi.conf konfigurasi.conf.backup-14-08-2025

#output saat di ls 
-----------------
konfigurasi.conf konfigurasi.conf.backup-14-08-2025

Dengan demikian saya bisa leluasa melakukan editing pada file konfigurasi.conf karena file asli/lama nya sudah saya backup dengan nama konfigurasi.conf.backup-14-08-2025. Namun menurut saya, ada sedikit kurang praktis/efisien saat dimana ingin melakukan backup namun kita menggunakan absolute ataupun relative path. saya coba jabarkan contoh dibawah dengan absolute path:

1
cp /home/miftah/konfigurasi.conf /home/miftah/konfigurasi.conf.backup-14-08-2025

Contoh seperti diatas yang menurut saya tidak efisien. Saya biasanya menerapkan Brace Expansion untuk mempersingkat command, sehingga command yang saya jalankan hanya begini :

1
2
3
4
5
cp /home/miftah/konfigurasi.conf{,.backup-14-08-2025}

# dimana outputnya saat di ls 
---------------------
konfigurasi.conf konfigurasi.conf.backup-14-08-2025

atau untuk lebih jelas hasilnya bisa dilihat pada gambar dibawah ini:

contoh brace

Namun apasih Brace Expansion itu? Nah biar mempersingkat mungkin bisa dibaca terlebih dahulu pada link refrensi berikut : https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html .Tentunya Brace Expansion ini tidak hanya dapat digunakan pada command cp saja. Ekspansi ini bisa juga digunakan dengan command-command lain kok. Salah satu yang berdekatan dengan cp atau copy biasanya adalah command move atau yang sering dikenal dengan mv. Selain untuk memindahkan file, mv juga bisa digunakan untuk rename file(mungkin pembaca sudah lebih tahu ya disini). Nah biasanya kita menjalankan perintah mv itu dengan cara mv atau mungkin lebih jelas bila dengan gambar di bawah ini yang saya praktikan.

mv brace

nah Brace Expansion juga bisa saya terapkan dalam aktivitas rename file. Contoh real case nyata-nya lagi adalah kembali nih saya mempunyai file konfigurasi.conf lama yang saya ingin ganti dengan konfigurasi.conf yang terbaru. Sesuai SOP, konfigurasi.conf yang lama harus saya backup terlebih dahulu sebelum menerapkan file konfigurasi.conf yang baru. Jelasnya mungkin bisa lihat yang saya praktikan pada gambar di bawah ini.

praktik

Singkatnya, pada gambar diatas file dengan nama konfigurasi.conf adalah file konfigurasi existing yang akan saya update isinya. Sedangkan file dengan nama konfigurasi-terbaru.conf adalah file konfigurasi yang isinya sama, namun sudah saya lakukan update dari file konfigurasi.conf/existing. Nah saya meng-implementasikan Brace Expansion dalam case ini guna mempersingkat dan menghindari kesalahan apabila saya masih menggunakan basic command. Saya sedikit jelaskan secara singkat command yang saya praktikan dibawah ini.

1
2
3
$ mv brace/konfigurasi.conf{,.bak} #bash akan mengekspansi 2 string sama dengan artinya menjalankan command mv brace/konfigurasi.conf brace/konfigurasi.conf.bak 

$ mv brace/konfigurasi{-terbaru.conf,.conf} #mengekspansi command sama dengan artinya dengan menjalankan command mv brace/konfigurasi-terbaru.conf brace/konfigurasi.conf

Tentunya menurut saya, dengan menggunakan mekanisme Brace Expansion ini membuat lebih singkat dan mungkin bisa meminimalisir typo saat menuliskan command dengan absolute atau relative path. Bagaimana menurutmu? apakah kamu mempunyai pendapat yang sama dengan saya?