GNU/Linux >> Belajar Linux >  >> Linux

Cara Mendapatkan Nama File dari Full Path di Linux

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!


Linux
  1. Linux:Bagaimana Mendapatkan Semua Log Masuk Dari Sistem?

  2. Bagaimana cara mendapatkan path lengkap dari suatu file?

  3. Bagaimana cara menemukan path lengkap program C++ Linux dari dalam?

  1. cara mendapatkan jalur relatif direktori saat ini di kucing jantan dari lingkungan linux menggunakan java

  2. Bagaimana cara menambahkan file .so ke java.library.path di Linux

  3. Bagaimana cara mendapatkan path ke file saat ini (pwd) di Linux dari C?

  1. Linux – Bagaimana Cara Menampilkan Sar Untuk Hari Sebelumnya?

  2. Cara hanya mendapatkan jumlah baris file

  3. Bagaimana cara mendapatkan nama host dari IP (Linux)?