Pemrograman BASH

Salin Daftar File Menggunakan Bash Script

Salin Daftar File Menggunakan Bash Script
Bash (Bourne Again Shell) adalah jenis shell yang digunakan untuk menjalankan perintah dan skrip. Bash adalah versi yang dikembangkan dari shell sh. Bash Script adalah file di mana beberapa perintah shell ditulis untuk melakukan tugas tertentu. Pada artikel ini, kita akan melihat bagaimana kita dapat menyalin banyak file menggunakan skrip bash. Untuk artikel ini, saya menggunakan Ubuntu 20.04 untuk mendemonstrasikan contoh.

Catatan: - $USER akan mencetak nama pengguna login saat ini.

Jika Anda penasaran versi bash shell apa yang terinstal di sistem, kita dapat memeriksanya menggunakan perintah berikut:.

$ bash --versi

Keluaran Versi Bash.

Membuat dan Menjalankan Skrip Bash Bas

Mari kita mulai dengan membuat file sederhana menggunakan editor pilihan Anda. Bagi saya, editor vi lebih nyaman. Untuk membuat file dapat dieksekusi, kita perlu menambahkan Shebang (!#) dan lokasi juru bahasa bash di awal skrip. Saya telah membuat teks.txt dan tambahkan ke dir bash_demo di direktori rumah saya yang berisi beberapa teks untuk tujuan demo.

$ sentuh bash_demo.SH
$ vi bash_demo.SH

Tambahkan baris berikut di editor teks Anda untuk contoh demo setelah membuat file; jika belum, editor akan membuat file baru saat menulis dan keluar.

#!/bin/bash
teks cp.txt /tmp/
echo “File disalin.”

Kita dapat menjalankan skrip menggunakan ./ sebelum file skrip, yang menentukan file dir saat ini.

$ ./bash_demo.SH

Saat kami menjalankan skrip, kesalahan berikut akan muncul di terminal kami:.

Eksekusi awal file bash.

Saat kami membuat file secara default, pengguna tidak memiliki izin eksekusi untuk file tersebut. Untuk memberikan izin eksekusi kepada pengguna, perintah berikut harus dijalankan:.

$ chmod +x bash_demo.SH

Keluaran setelah izin diberikan.

Salin hanya file dari direktori tertentu

Untuk mengambil semua file dan dir dari jalur tertentu, kami akan menggunakan for loop dalam skrip kemudian memfilter satu-satunya file menggunakan kondisi if. Pada contoh di bawah ini, kami menjalankan perintah cp hanya dieksekusi jika iteratornya adalah file yang ditentukan -f flag.

#!/bin/bash
dpath = /var/log/nginx/*
untuk FILE di $dpath
melakukan
jika [[ -f $FILE ]]
kemudian
cp $FILE /home/$USER/
lain
echo “Tidak ada file di jalur yang diberikan.”
fi
selesai

Salin semua file dengan ekstensi tertentu

Dalam contoh ini, kami akan menyalin semua file dengan .ekstensi log. Kita perlu menambahkan *.masuk ke jalur sehingga iterasi satu-satunya file dengan .ekstensi log hanya untuk loop.

#!/bin/bash
untuk FILE di /var/log/nginx/*.catatan
melakukan
cp $FILE /home/$USER/
selesai

Salin semua File, Termasuk Direktori

Dalam contoh ini, kami akan menyalin semua file, termasuk direktori, secara rekursif. Untuk itu, kita hanya perlu menambahkan perintah -R cp di mana -R menentukan pengambilan direktori secara rekursif.

#!/bin/bash
untuk FILE di /var/log/*
melakukan
cp -R $FILE /home/$USER/
selesai

Salin file dari jalur yang ditentukan pengguna

Dalam contoh ini, kami akan menyalin file dari direktori yang ditentukan pengguna. Untuk melakukannya, kita akan menggunakan perintah read untuk meminta path dari pengguna kemudian memeriksa apakah pengguna menyediakan path ke dir atau tidak, yang dilakukan oleh flag -d dalam kondisi. Setelah memverifikasi dir, kami akan menggunakan loop for untuk mengulangi semua file dan dir di dalam jalur yang diberikan, lalu menyaring lagi satu-satunya file menggunakan kondisi if. Jika kondisinya cocok, perintah cp berikut akan dijalankan:.

#!/bin/bash
echo “Tolong berikan path ke dir.”
baca jalur
jika [[ -d $path ]]
kemudian
untuk FILE di $path/*
melakukan
jika [[ -f $FILE ]]
kemudian
cp $FILE /home/$USER/
lain
echo “Tidak ada file di jalur yang diberikan.”
fi
selesai
lain
echo "Jalur ke dir diperlukan"
fi

Di direktori rumah saya, saya memiliki file dan direktori berikut:.

Keluaran saat memberikan jalur ke file.

Output saat memberikan jalur lokasi dir.

Setelah menjalankan file skrip, kita dapat memeriksa output di direktori yang telah ditentukan dalam skrip. Dalam kasus saya, saya telah menyalin file di direktori home saya, dan berikut adalah hasilnya:.

Kesimpulan

Pada artikel ini, kita belajar tentang cara menyalin file menggunakan skrip bash. Kita dapat menggunakan banyak operasi lain seperti loop, if-else, dll. Skrip Bash lebih efektif saat bekerja dengan banyak perintah untuk melakukan tugas tertentu. Saya harap Anda menyukai artikel ini tentang menyalin file menggunakan skrip bash.

Cara Menggunakan Xdotool untuk Merangsang Klik Mouse dan Keystroke di Linux
Xdotool adalah alat baris perintah sumber terbuka dan gratis untuk mensimulasikan klik mouse dan penekanan tombol. Artikel ini akan membahas panduan s...
5 Produk Mouse Komputer Ergonomis Terbaik untuk Linux
Apakah penggunaan komputer yang lama menyebabkan rasa sakit di pergelangan tangan atau jari Anda?? Apakah Anda menderita persendian yang kaku dan teru...
Cara Mengubah Pengaturan Mouse dan Touchpad Menggunakan Xinput di Linux
Sebagian besar distribusi Linux dikirimkan dengan pustaka "libinput" secara default untuk menangani kejadian input pada sistem. Ini dapat memproses ke...