File Test Operators di Linux – Hari ini saya mencoba menulis beberapa baris kode Linux yang di mana kode-kode tersebut dibuat dan digunakan hanya untuk melakukan tugas backup file setiap hari secara otomatis dengan mengeksekusi kode tersebut melalui cronjob
.
Ketika saya menulis kode, ada beberapa tahap percabangan yang harus saya lakukan, seperti memastikan apakah file atau folder yang saya cari itu ada atau tidak. Untuk melakukan ini saya mesti menggunakan yang namanya operator di percabangan. Tepatnya adalah File Test Operators, gunanya adalah melakukan tes terhadap file atau folder yang di mana tes di sini dapat disesuaikan kebutuhannya karena ada banyak sekali operator tes yang dapat digunakan.
Agar penulisannya singkat dan jelas, berikut ini adalah daftar File Test Operators di Linux yang akan sangat berguna ketika menulis kode perintah Linux.
Operator | Keterangan | Penggunaan |
---|---|---|
-a $file | Memeriksa apakah file ada | [ -a $file ] |
-b $file | Memeriksa apakah file merupakan Block Special File | [ -b $file ] |
-c $file | Memeriksa apakah file merupakan Character Special File | [ -c $file ] |
-d $file | Memeriksa apakah file merupakan sebuah folder | [ -d $file ] |
-e $file | Memeriksa apakah file atau folder tersebut ada | [ -e $file ] |
-f $file | Memeriksa apakah $file merupakan file dan bukan folder | [ -f $file ] |
-g $file | Memeriksa apakah SGID di set dalam file tersebut | [ -g $file ] |
-h $file | Memeriksa apakah file merupakan symbolic link | [ -h $file ] |
-k $file | Memeriksa apakah Sticky di set dalam file tersebut | [ -k $file ] |
-p $file | Memeriksa apakah file merupakan named pipe (FIFO) | [ -p $file ] |
-r $file | Memeriksa apakah file bersifat readable | [ -r $file ] |
-s $file | Memeriksa apakah ukuran file lebih besar dari 0 (nol) | [ -s $file ] |
-t $file | Memeriksa apakah file deskriptor terbuka dan terkait dengan suatu terminal | [ -t $file ] |
-u $file | Memeriksa apakah Set User ID (SUID) di set dalam file | [ -u $file ] |
-w $file | Memeriksa apakah file bersifat writable | [ -w $file ] |
-x $file | Memeriksa apakah file bersifat executable | [ -x $file ] |
-O $file | Memeriksa apakah file permission dimiliki oleh ID Pengguna Efektif | [ -O $file ] |
-G $file | Memeriksa apakah file permission dimiliki oleh ID Grup Efektif | [ -G $file ] |
-L $file | Memeriksa apakah file merupakan symbolic link | [ -L $file ] |
-N $file | Memeriksa apakah file telah dimodifikasi sejak terakhir kali dibaca | [ -N $file ] |
-S $file | Memeriksa apakah jenis file tersebut merupakan Socket | [ -S $file ] |
Dengan adanya berbagai jenis file tes operators yang dapat digunakan sesuai kebutuhan, ini tentu akan sangat membantu. Dan berikut ini adalah contoh penggunaannya dalam percabangan if..else
FILE="/home/pengguna/nama_file.zip"
if [ -e $FILE ]
then
echo 'File atau Folder ada.'
else
echo 'File atau Folder tidak ada.'
fi
Code language: Bash (bash)
Operator -e
di atas dapat diganti dengan operator yang terdapat pada tabel di atas.
Cukup sekian catatan saya kali ini, semoga bermanfaat dan terima kasih!. Sampai jumpa di catatan berikutnya.