Satria Blog

Cerita hidup, refleksi spiritual, dan teknologi

File Test Operators di Linux

📅
✍️ Ditulis oleh Satria Aji Putra
⏱️ ± 1 menit
📝 Terakhir diperbarui: 7 Oktober 2022
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.

OperatorKeterangan
-a $fileMemeriksa apakah file ada
-b $fileMemeriksa apakah file merupakan Block Special File
-c $fileMemeriksa apakah file merupakan Character Special File
-d $fileMemeriksa apakah file merupakan sebuah folder
-e $fileMemeriksa apakah file atau folder tersebut ada
-f $fileMemeriksa apakah $file merupakan file dan bukan folder
-g $fileMemeriksa apakah SGID di set dalam file tersebut
-h $fileMemeriksa apakah file merupakan symbolic link
-k $fileMemeriksa apakah Sticky di set dalam file tersebut
-p $fileMemeriksa apakah file merupakan named pipe (FIFO)
-r $fileMemeriksa apakah file bersifat readable
-s $fileMemeriksa apakah ukuran file lebih besar dari 0 (nol)
-t $fileMemeriksa apakah file deskriptor terbuka dan terkait dengan suatu terminal
-u $fileMemeriksa apakah Set User ID (SUID) di set dalam file
-w $fileMemeriksa apakah file bersifat writable
-x $fileMemeriksa apakah file bersifat executable
-O $fileMemeriksa apakah file permission dimiliki oleh ID Pengguna Efektif
-G $fileMemeriksa apakah file permission dimiliki oleh ID Grup Efektif
-L $fileMemeriksa apakah file merupakan symbolic link
-N $fileMemeriksa apakah file telah dimodifikasi sejak terakhir kali dibaca
-S $fileMemeriksa apakah jenis file tersebut merupakan Socket

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

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.

📖 Akhir tulisan