Kemampuan untuk mengubah nama file dan direktori adalah salah satu keterampilan utama yang dibutuhkan setiap pengguna Linux. Artikel ini melanjutkan seri artikel Bash dan menunjukkan cara menggunakan berbagai cara seperti pengelola file, mv, dan utilitas rename dalam kombinasi dengan konstruksi pencarian dan perulangan bash. Tingkatkan keterampilan Linux Anda hanya dalam 3 menit!
Tersedia dua cara bagi Anda untuk melakukan ini:
- Manajer file.
- Terminal baris perintah.
Menggunakan pengelola file
Salah satu cara termudah untuk mengganti nama file dan direktori di Linux untuk pengguna baru adalah menggunakan Midnight Commander.
Midnight Commander – adalah pengelola file berbasis konsol yang dikloning dari Norton Commander yang terkenal.
Untuk menginstal Midnight Commander di Ubuntu:
$ sudo apt-get update
$ sudo apt-get -y install mc
Untuk CentOS/Fedora/RHEL, gunakan pengelola paket yang berbeda:
$ sudo yum -y install mc
Untuk meluncurkan Midnight Commander, jalankan mc perintah.
Anda perlu menggunakan panah keyboard untuk memindahkan pemilih file. Untuk beralih antara layar kiri dan kanan, Anda perlu menggunakan Tab kunci. Anda juga dapat menggunakan mouse, tetapi Anda dibatasi untuk memilih hanya file yang terlihat di layar.
Untuk mengganti nama file atau direktori, gerakkan kursor di atasnya dan tekan F6 . Jika Anda lupa kunci persisnya, gunakan mouse Anda untuk memilih Pindahkan/Ubah nama dari menu File.
Selanjutnya, mari kita lihat bagaimana kita dapat mengganti nama file dan direktori dengan menggunakan mv dan ganti nama perintah.
perintah “mv”
mv perintah membantu Anda m ov e atau mengganti nama file dan direktori dari sumber ke lokasi tujuan. Sintaks untuk perintahnya adalah sebagai berikut:
$ mv [OPTIONS] source destination
sumber dan tujuan dapat berupa file atau direktori.
Untuk mengganti nama file1.txt ke file2.txt menggunakan mv, jalankan perintah berikut:
$ mv file1.txt file2.txt
Untuk mengubah nama folder1 direktori ke folder2 , gunakan perintah berikut:
$ mv folder1 folder2
Mengganti nama banyak file sekaligus
mv utilitas dapat mengganti nama hanya satu file pada satu waktu, tetapi Anda dapat menggunakannya dengan perintah lain untuk mengganti nama lebih dari satu file. Perintah ini mencakup temukan dan Bash untuk dan sementara loop.
Misalnya, bayangkan Anda perlu mengubah ekstensi file untuk jenis file tertentu di direktori. Dalam contoh berikut, kami mengganti nama semua file HTML dan mengubah ekstensinya dari html ke php .
Berikut contoh struktur folder:
$ tree example
example
├── index.html
├── page1.html
├── page2.html
└── page3.html
0 directories, 4 files
Sekarang, mari gunakan konstruksi Bash for-loop berikut di dalam contoh direktori:
$ cd example
$ for f in *.html; do
mv "$f" "${f%.html}.php"
done
Di sini kita masuk ke contoh direktori. Selanjutnya, kami menjalankan mv perintah di Bash for-loop (perintah antara untuk dan selesai kata kunci).
Inilah yang terjadi:
- For-loop menelusuri file yang diakhiri dengan .html dan menempatkan setiap nama file ke variabel f .
- Lalu mv utilitas mengubah ekstensi setiap file f dari .html file ke .php . Bagian dari ekspresi ${f%.html} bertanggung jawab untuk menghapus .html dari nama file. Ekspresi lengkap “${f%.html}.php” akan menambahkan .php ke nama file tanpa .html bagian.
Inilah hasil yang diharapkan:
$ ls -l
total 0
-rw-r--r-- 1 amaksimov wheel 0 Dec 5 17:13 index.php
-rw-r--r-- 1 amaksimov wheel 0 Dec 5 17:13 page1.php
-rw-r--r-- 1 amaksimov wheel 0 Dec 5 17:13 page2.php
-rw-r--r-- 1 amaksimov wheel 0 Dec 5 17:13 page3.php
perintah "temukan"
Menggunakan temukan utilitas adalah salah satu cara paling umum untuk mengotomatisasi operasi file dan direktori di Linux.
Pada contoh di bawah, kami menggunakan temukan untuk mencapai tujuan yang sama dan mengubah ekstensi file.
The menemukan utilitas menemukan semua file yang diakhiri dengan .html dan menggunakan -exec argumen untuk meneruskan setiap nama file yang ditemukan ke skrip shell sh yang ditulis dalam satu baris.
$ find . -depth -name "*.html" -exec sh -c 'f="{}"; mv "$f" "${f%.html}.php"' \;
Di baris skrip sh, kami menetapkan variabel f dengan nilai nama file f="{}” , lalu kami menjalankan mv yang sudah dikenal memerintah. Titik koma digunakan untuk memisahkan perintah kumpulan variabel dari mv perintah.
perintah “ganti nama”
Dalam beberapa kasus, lebih mudah menggunakan ganti nama perintah alih-alih mv . Dan Anda dapat menggunakannya dengan ekspresi reguler tanpa menggabungkan dengan perintah Linux lainnya.
Berikut sintaks untuk ganti nama perintah:
$ rename [OPTIONS] regexp files
Misalnya, mari kita ganti nama semua .php file kembali ke .html :
$ ls
index.php page1.php page2.php page3.php
$ rename 's/.php/.html/' *.php
$ ls
index.html page1.html page2.html page3.html
Jika Anda ingin mencetak nama file yang telah Anda pilih untuk diganti namanya, Anda dapat menggunakan perintah berikut:
$ rename -n 's/.html/.php/' *.html
rename(index.html, index.php)
rename(page1.html, page1.php)
rename(page2.html, page2.php)
rename(page3.html, page3.php)
$ ls
index.html page1.html page2.html page3.html
Ringkasan
Dalam artikel ini, Anda telah mempelajari cara mengubah nama file dan direktori di Linux menggunakan berbagai cara. Kami berharap, artikel ini bermanfaat. Jika demikian, tolong bantu kami untuk menyebarkannya ke seluruh dunia.