Perintah dirname di Linux mencetak jalur file dengan komponen terakhirnya dihapus. Ini pada dasarnya memberi Anda jalur direktori dari jalur file.

Ini sangat membantu dalam skrip bash di mana Anda ingin mengekstrak jalur direktori dari jalur file yang panjang.
Perintah dirname melengkapi perintah basename. Perintah basename mengekstrak nama file dari path sementara dirname mengekstrak path direktori.
Mari saya tunjukkan kepada Anda dengan beberapa contoh.
Contoh perintah dirname
Perintah dirname sintaks langsung.
dirname OPTION PATH
Menggunakan perintah dirname dengan path absolut dari sebuah file akan memberikan path direktori:
dirname /home/user/data/filename.txt
/home/user/data
Seperti perintah basename, perintah dirname sebenarnya juga bodoh. Itu tidak benar-benar mengenali jalur file. Itu hanya mencari garis miring (/) dan mencetak apa pun yang ada sebelum garis miring terakhir. Pada dasarnya, Anda dapat memberikan string apa pun dengan / di dalamnya dan itu akan berhasil.
Misalnya, saya menggunakan string acak di sini tanpa nama file di dalamnya. Anda dapat melihat bahwa itu masih berfungsi sama dan mengeluarkan string yang menghapus / terakhir dan teks setelahnya.

Jika jalur tidak memiliki garis miring (/) di dalamnya, itu akan menampilkan titik (.) yang menyiratkan direktori saat ini.

Anda dapat menggunakan dirname dengan banyak jalur juga. Ini akan mengembalikan output untuk setiap jalur di baris baru:

Anda dapat menggunakan opsi -z untuk mendapatkan hasil dalam baris yang sama dengan output yang dipisahkan oleh karakter NULL.
Menggunakan dirname dalam skrip bash
Saya menunjukkan beberapa contoh perintah dirname. Mari kita bicara tentang menggunakan dirname dalam skrip bash.
Misalkan Anda memiliki variabel jalur file dan Anda ingin mendapatkan jalur ke direktori yang berisi file tersebut. Ini bisa berupa skrip sederhana:
pathname="/home/dir/data/filename"
result=$(dirname "$pathname")
echo $result
Seperti yang saya sebutkan sebelumnya, perintah dirname dilengkapi dengan perintah basename. Tidak seperti dirname, perintah basename hanya mencetak komponen terakhir dari path.
Saya harap Anda menyukai tutorial ini. Seperti biasa, jangan ragu untuk mengajukan pertanyaan atau memberikan saran di bagian komentar.
Suka artikelnya? Silakan bagikan dan bantu kami berkembang :)