Pengaturcaraan BASH

Salin Senarai Fail Menggunakan Skrip Bash

Salin Senarai Fail Menggunakan Skrip Bash
Bash (Bourne Again Shell) adalah jenis shell yang digunakan untuk menjalankan perintah dan skrip. Bash adalah versi cengkerang yang dikembangkan. Bash Script adalah fail di mana banyak perintah shell ditulis untuk melakukan tugas tertentu. Dalam artikel ini, kita akan melihat bagaimana kita dapat menyalin banyak fail menggunakan skrip bash. Untuk artikel ini, saya menggunakan Ubuntu 20.04 untuk menunjukkan contohnya.

Catatan: - $ USER akan mencetak nama pengguna pengguna log masuk semasa.

Sekiranya anda ingin tahu versi bash shell apa yang dipasang dalam sistem, kami dapat memeriksanya menggunakan perintah berikut.

$ bash - penukaran

Keluaran Versi Bash.

Membuat dan Melaksanakan Skrip Bash

Mari kita mulakan dengan membuat fail mudah menggunakan editor pilihan anda. Bagi saya, editor vi lebih selesa. Untuk membuat fail dapat dilaksanakan, kita perlu menambahkan shebang (!#) dan lokasi jurubahasa bash pada awal skrip. Saya telah membuat teks.txt file dan tambahkan ke bash_demo dir di dir rumah saya yang mengandungi beberapa teks untuk tujuan demo.

$ sentuh bash_demo.sh
$ vi bash_demo.sh

Tambahkan baris berikut dalam editor teks anda untuk contoh demo setelah membuat fail; jika belum, editor akan membuat fail baru semasa menulis dan berhenti.

#!/ bin / bash
teks cp.txt / tmp /
echo “Fail disalin."

Kita boleh melaksanakan skrip menggunakan ./ sebelum fail skrip, yang menentukan file dir semasa.

$ ./ bash_demo.sh

Semasa kita melaksanakan skrip, kesalahan berikut akan dilemparkan di terminal kita.

Pelaksanaan awal fail bash.

Apabila kami membuat fail secara lalai, pengguna tidak memiliki izin pelaksanaan untuk fail tersebut. Untuk memberikan kebenaran pelaksanaan kepada pengguna, perintah berikut harus dilaksanakan.

$ chmod + x bash_demo.sh

Keluaran setelah kebenaran diberikan.

Salin fail sahaja dari direktori tertentu

Untuk mengambil semua fail dan dir dari jalan tertentu, kami akan menggunakan loop dalam skrip kemudian menyaring satu-satunya fail menggunakan kondisi jika. Dalam contoh di bawah ini, kita menjalankan perintah cp yang hanya dijalankan jika iterator adalah file yang ditentukan -f flag.

#!/ bin / bash
dpath = / var / log / nginx / *
untuk FILE dalam $ dpath
buat
jika [[-f $ FILE]]
kemudian
cp $ FILE / rumah / $ PENGGUNA /
yang lain
echo “Tidak ada fail di jalan yang diberikan."
fi
selesai

Salin semua fail sambungan tertentu

Dalam contoh ini, kami akan menyalin semua fail dengan .peluasan log. Kita perlu menambah *.log ke jalan sehingga mengulangi satu-satunya fail dengan .sambungan log untuk gelung sahaja.

#!/ bin / bash
untuk FILE dalam / var / log / nginx / *.balak
buat
cp $ FILE / rumah / $ PENGGUNA /
selesai

Salin semua Fail, Termasuk Direktori

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

#!/ bin / bash
untuk FILE dalam / var / log / *
buat
cp -R $ FILE / rumah / $ PENGGUNA /
selesai

Salin fail dari jalan yang ditentukan pengguna

Dalam contoh ini, kami akan menyalin fail dari dir yang ditentukan pengguna. Untuk melakukannya, kami akan menggunakan perintah baca untuk meminta jalan dari pengguna kemudian memeriksa apakah pengguna memberikan jalan ke dir atau tidak, yang dilakukan oleh bendera -d dalam keadaan. Setelah mengesahkan dir, kami akan menggunakan loop for untuk mengulangi semua fail dan dir di dalam jalan yang diberikan, kemudian sekali lagi menyaring satu-satunya fail menggunakan keadaan if. Sekiranya keadaan sepadan, perintah cp berikut akan dijalankan.

#!/ bin / bash
echo “Sila berikan jalan ke dir."
jalan membaca
jika [[-d $ path]]
kemudian
untuk FILE dalam $ path / *
buat
jika [[-f $ FILE]]
kemudian
cp $ FILE / rumah / $ PENGGUNA /
yang lain
echo “Tidak ada fail di jalan yang diberikan."
fi
selesai
yang lain
echo "Jalan ke dir diperlukan"
fi

Di dir rumah saya, saya mempunyai fail dan dir berikut.

Keluaran semasa memberikan jalan ke fail.

Keluaran semasa menyediakan jalan lokasi dir.

Setelah melaksanakan file skrip, kita dapat memeriksa output dalam dir yang telah ditentukan dalam skrip. Dalam kes saya, saya telah menyalin fail di dir rumah saya, dan berikut adalah hasilnya.

Kesimpulannya

Dalam artikel ini, kita belajar tentang cara menyalin fail menggunakan skrip bash. Kita boleh menggunakan banyak operasi lain seperti gelung, jika-lain, dll. Skrip Bash lebih berkesan apabila bekerja dengan pelbagai arahan untuk melakukan tugas tertentu. Saya harap anda menyukai artikel ini menyalin fail menggunakan skrip bash.

Alat Berguna untuk Pemain Linux
Sekiranya anda suka bermain permainan di Linux, kemungkinan anda telah menggunakan aplikasi dan utiliti seperti Wine, Lutris dan OBS Studio untuk meni...
HD Remastered Games untuk Linux yang Tidak Pernah Melancarkan Linux Sebelumnya
Banyak pembangun dan penerbit permainan hadir dengan penghapus HD permainan lama untuk memperpanjang usia francais, harap peminat meminta keserasian d...
Cara Menggunakan AutoKey untuk Mengautomasikan Permainan Linux
AutoKey adalah utiliti automasi desktop untuk Linux dan X11, yang diprogramkan dalam Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsi MACRO, ...