Jalur lengkap file di Linux mengacu pada alamat lengkap termasuk direktori dan subdirektori yang digunakan untuk menemukan file tersebut. Setiap sistem operasi memiliki varian path lengkap file yang berbeda.
Di Linux, tampilannya seperti berikut:
/home/user/Documents/test.txt
Ini adalah path file lengkap dari file test.txt .
Saat menangani jalur file secara manual, mudah untuk mendapatkan nama file, tetapi jika Anda menggunakan skrip untuk beberapa jenis otomatisasi, Anda mungkin perlu mengekstrak nama file dalam skenario tertentu.
Mari kita lihat bagaimana kita dapat mengekstrak nama file dari path lengkap di Linux.
Menggunakan Perintah Nama Dasar
Seluruh tujuan dari perintah nama dasar adalah untuk mengambil nama file dari jalur file. Meskipun tidak terlalu sulit untuk mendapatkan nama file dari path lengkap, basename secara otomatis melakukannya untuk Anda dan Anda tidak perlu repot-repot mengurai path file, dll.
Sintaksnya adalah:
$ basename full_file_path $ basename /var/log/syslog [example command]
Gunakan -a
argumen untuk melewati banyak jalur.
$ basename -a /var/log/syslog /var/log/dpkg.log
Menggunakan Substitusi Parameter Bash
Substitusi Parameter Bash adalah cara untuk memodifikasi variabel dengan cepat. Oleh karena itu untuk menggunakan metode ini, kita perlu menyimpan path file dalam sebuah variabel.
$ fullpath="/var/log/syslog"
Sekarang kita akan menerapkan substitusi parameter dan menyimpan nilainya di variabel lain.
$ filename=${fullpath##*/} $ echo $filename
Pada dasarnya apa yang dilakukannya adalah:ia mencabik-cabik bagian sebelum ‘/’
terakhir di ‘jalur lengkap ' dan hanya menyimpan sisa string, yang tidak lain hanyalah nama file.
Kesimpulan
Pada artikel ini, kita belajar tentang dua cara untuk mendapatkan nama file dari path file lengkap di Linux. Jika Anda ingin mempelajari lebih lanjut tentang perintah nama dasar dan parameter substitusi di Bash, pastikan Anda membuka halaman manualnya masing-masing dengan:
$ man basename $ man bash
Terima kasih telah membaca dan beri tahu kami pendapat dan pertanyaan Anda di bawah!