Panduan Pemula untuk Shell Scripting 3: Lebih Banyak Perintah & Rantai Dasar

Daftar Isi:

Panduan Pemula untuk Shell Scripting 3: Lebih Banyak Perintah & Rantai Dasar
Panduan Pemula untuk Shell Scripting 3: Lebih Banyak Perintah & Rantai Dasar

Video: Panduan Pemula untuk Shell Scripting 3: Lebih Banyak Perintah & Rantai Dasar

Video: Panduan Pemula untuk Shell Scripting 3: Lebih Banyak Perintah & Rantai Dasar
Video: Cara Membuat Tombol Shortcut Restart dan Shutdown di Laptop atau Komputer - YouTube 2024, Maret
Anonim
Anda telah belajar cara membuat skrip, menggunakan argumen, dan membangun untuk loop. Sekarang, mari kita lihat beberapa perintah dasar, manipulasi file teks, dan mengalihkan input dan output ke file dan perintah lainnya.
Anda telah belajar cara membuat skrip, menggunakan argumen, dan membangun untuk loop. Sekarang, mari kita lihat beberapa perintah dasar, manipulasi file teks, dan mengalihkan input dan output ke file dan perintah lainnya.

Beberapa Perintah Berguna Dasar

Kami telah memberi Anda perincian dasar skrip shell dan kerangka berbasis contoh untuk loop, tetapi pastikan untuk memeriksa artikel tersebut jika Anda melewatkan panduan scripting shell kami sejauh ini.

Baris perintah ini luar biasa karena banyak alasan, dan pengarahan ulang adalah salah satu yang paling menonjol. Jika Anda harus mencatat dan mereproduksi keluaran setiap perintah untuk mengambil tindakan lebih lanjut atau menggunakannya untuk hal lain, maka kita semua sudah gila sejak lama. Redirection memungkinkan kita menggunakan output itu dan menyimpannya atau segera menggunakannya sebagai input untuk perintah lain. Kami juga dapat menggunakan file sebagai input untuk perintah lain.

Sebelum melanjutkan, mari kita bahas beberapa perintah dasar yang dapat digunakan di banyak tempat berbeda.

gema - Perintah ini hanya mencetak (menampilkan) keseluruhan argumennya pada baris perintah sebagai output

echo argument with spaces

Seperti yang Anda lihat, karakter khusus harus "lolos" sehingga mereka diperlakukan secara normal. Ini dilakukan dengan menggunakan backslash () di depan karakter. Ada baiknya menggunakan tanda kutip. Perintah echo juga berfungsi dengan variabel.
Seperti yang Anda lihat, karakter khusus harus "lolos" sehingga mereka diperlakukan secara normal. Ini dilakukan dengan menggunakan backslash () di depan karakter. Ada baiknya menggunakan tanda kutip. Perintah echo juga berfungsi dengan variabel.
Seperti yang Anda lihat, tanda kutip tunggal dan ganda berperilaku berbeda. Untuk informasi lebih lanjut, periksa Apa Perbedaan Antara Kutipan Tunggal dan Ganda di Bash Shell?
Seperti yang Anda lihat, tanda kutip tunggal dan ganda berperilaku berbeda. Untuk informasi lebih lanjut, periksa Apa Perbedaan Antara Kutipan Tunggal dan Ganda di Bash Shell?

kucing - Perintah ini menampilkan isi file teks sebagai output.

cat file_to_be_read

Katakanlah kita membuat file teks ini di nano:

Saat kami menggunakan perintah kucing pada file, kami dapat melihat hasilnya.
Saat kami menggunakan perintah kucing pada file, kami dapat melihat hasilnya.
grep - Ini adalah salah satu perintah yang paling kuat dan berguna yang tersedia untuk Anda di Linux. Ini singkatan dari Global / Regular Expression Print. Ini terlihat melalui file dan mencetak setiap baris yang sesuai dengan pola tertentu. Karena pola ini didasarkan pada "ekspresi reguler," garis yang ringkas dapat menghasilkan banyak pola untuk dicocokkan. Namun, untuk tidak, Anda dapat memasukkan nilai untuk pencarian.
grep - Ini adalah salah satu perintah yang paling kuat dan berguna yang tersedia untuk Anda di Linux. Ini singkatan dari Global / Regular Expression Print. Ini terlihat melalui file dan mencetak setiap baris yang sesuai dengan pola tertentu. Karena pola ini didasarkan pada "ekspresi reguler," garis yang ringkas dapat menghasilkan banyak pola untuk dicocokkan. Namun, untuk tidak, Anda dapat memasukkan nilai untuk pencarian.

grep pattern file

Saya jamin, grep bisa berbuat lebih banyak, tetapi untuk sekarang mari kita berpegang pada hal-hal yang lebih mudah.
Saya jamin, grep bisa berbuat lebih banyak, tetapi untuk sekarang mari kita berpegang pada hal-hal yang lebih mudah.

Mengarahkan Output

Untuk mengarahkan output dari perintah ke file, kita menggunakan karakter khusus, simbol yang lebih besar dari (>).

Mari kita ubah daftar kita, ya? Masukkan perintah berikut:

echo pepperoni > list

Anda dapat melihat gema itu tidak menampilkan garis lagi, dan ketika kami melihat isi dari file "daftar", kami melihat apa yang kami gema di sana.
Anda dapat melihat gema itu tidak menampilkan garis lagi, dan ketika kami melihat isi dari file "daftar", kami melihat apa yang kami gema di sana.

Juga perhatikan bahwa isi "daftar" sebelumnya telah dihapus. Coba lagi:

Ini dapat berguna ketika Anda ingin menggunakan kembali file, tetapi sering kali kami hanya ingin menambahkan ke file yang sudah ada. Untuk ini, kami menggunakan dua simbol berurutan lebih besar dari:
Ini dapat berguna ketika Anda ingin menggunakan kembali file, tetapi sering kali kami hanya ingin menambahkan ke file yang sudah ada. Untuk ini, kami menggunakan dua simbol berurutan lebih besar dari:

echo yellow peppers >> list

Mudah! Mari gunakan perintah ini untuk membuat daftar yang lebih besar, bukan?
Mudah! Mari gunakan perintah ini untuk membuat daftar yang lebih besar, bukan?
Di sana kami pergi. Saya pikir Anda dapat melihat mengapa begitu banyak geek menggunakan baris perintah untuk membuat daftar yang harus dilakukan dan sejenisnya, tetapi itu menjadi lebih baik.
Di sana kami pergi. Saya pikir Anda dapat melihat mengapa begitu banyak geek menggunakan baris perintah untuk membuat daftar yang harus dilakukan dan sejenisnya, tetapi itu menjadi lebih baik.

Mari kita ambil output dari sebuah perintah dan memasukkannya ke dalam sebuah file:

ls –al / > ~/rootlist

Membuat daftar file, mengeditnya, dan kemudian menjalankan perintah pada yang Anda inginkan tidak pernah semudah ini. Dan, sementara kami melakukan fungsi-fungsi dasar ini di baris perintah, ini bekerja dengan baik dalam skrip juga.
Membuat daftar file, mengeditnya, dan kemudian menjalankan perintah pada yang Anda inginkan tidak pernah semudah ini. Dan, sementara kami melakukan fungsi-fungsi dasar ini di baris perintah, ini bekerja dengan baik dalam skrip juga.

Perpipaan, atau Rantai

Piping dinamakan demikian karena menggunakan pipa, (|; dibagikan dengan tombol pada kebanyakan keyboard). Pada dasarnya, dibutuhkan output dari satu perintah dan langsung memberi makan ke yang lain. Anda dapat membuat rantai perintah panjang untuk mendapatkan keluaran yang diinginkan dengan sangat spesifik dengan cara ini, dan sangat nyaman untuk perintah seperti grep.

Bertindak sangat mirip ">" kecuali dapat dirantai beberapa kali dan efeknya lebih umum karena tidak perlu melalui file teks.
Bertindak sangat mirip ">" kecuali dapat dirantai beberapa kali dan efeknya lebih umum karena tidak perlu melalui file teks.

Seperti yang Anda lihat, grep adalah case-sensitive. Anda dapat menggunakan bendera "-i" untuk membuatnya mengabaikan huruf besar kecil.

Image
Image

Mengarahkan Input

Anda juga dapat mengambil input dari file untuk perintah dengan menggunakan simbol kurang dari (<).

cat < list

"Itu tidak berbeda dari menggunakan argumen!" Anda mungkin berkata. Ya, Anda benar dalam hal ini. Di mana redirection dari input benar-benar berguna adalah perintah chaining bersama.
"Itu tidak berbeda dari menggunakan argumen!" Anda mungkin berkata. Ya, Anda benar dalam hal ini. Di mana redirection dari input benar-benar berguna adalah perintah chaining bersama.

Katakanlah kita ingin memfilter kata apa pun yang memiliki "pep" di dalamnya dari "daftar" file kami saat ini menjadi file baru yang disebut "revisi".

grep pep < list > revisions

Mari kita ulang perintah ini, dan tambahkan beberapa penyortiran.
Mari kita ulang perintah ini, dan tambahkan beberapa penyortiran.

grep pep < list | sort > revisions

Ini akan menggunakan "pep" sebagai istilah pencarian dari file input "daftar", urutkan dalam urutan abjad (semua istilah huruf besar diikuti oleh semua istilah huruf kecil), kemudian output ke file "revisi".
Ini akan menggunakan "pep" sebagai istilah pencarian dari file input "daftar", urutkan dalam urutan abjad (semua istilah huruf besar diikuti oleh semua istilah huruf kecil), kemudian output ke file "revisi".

Untuk mengilustrasikan perintah pengurutan, mari kita lihat contoh berikut:

Seperti yang Anda lihat, menambahkan "-f" flag ke perintah sort memungkinkan Anda untuk mengabaikan case. Ini memudahkan kami untuk menyusun garis abjad dalam file teks dan mengabaikan kapitalisasi saat itu tidak penting.
Seperti yang Anda lihat, menambahkan "-f" flag ke perintah sort memungkinkan Anda untuk mengabaikan case. Ini memudahkan kami untuk menyusun garis abjad dalam file teks dan mengabaikan kapitalisasi saat itu tidak penting.

Naskah Sederhana

Mari buat skrip yang memiliki bentuk berikut:

script searchterm listfile

Ini akan mengambil istilah dan menggunakan grep untuk mencari melalui file daftar, mengurutkan hasil, dan kemudian menampilkannya ke file lain.

Berikut adalah direktori yang akan kami uji skripnya di:
Berikut adalah direktori yang akan kami uji skripnya di:
Dan, kita bisa membuat daftar apa di sini, lalu jalankan skripnya.
Dan, kita bisa membuat daftar apa di sini, lalu jalankan skripnya.
Ini dia! Semakin Anda mempelajari aturan ekspresi reguler, semakin akurat Anda dapat menyusun perintah pencarian. Dan, apa pun yang valid dalam tanda kutip dapat digantikan untuk argumen pertama Anda!
Ini dia! Semakin Anda mempelajari aturan ekspresi reguler, semakin akurat Anda dapat menyusun perintah pencarian. Dan, apa pun yang valid dalam tanda kutip dapat digantikan untuk argumen pertama Anda!

Sejauh pemilahan, Anda dapat melakukan lebih dari sekadar menyusun abjad. Lihatlah halaman manual untuk beberapa perintah berikut:

  • tsort - fungsi pemilahan topologi yang lebih maju
  • tr - memungkinkan Anda memetakan karakter tertentu ke karakter lain, dan menuliskan di antaranya.
  • uniq - menghapus yang tidak unik (baca: duplikat)
  • awk - bahasa / fungsi pemrosesan teks yang benar-benar maju yang dapat digunakan untuk memisahkan bidang dalam namafile
  • cut, paste / join - perintah berguna untuk mengisolasi field dari file teks dan menambahkan data baru ke dalam kolom
  • lihat - pencarian seperti grep, tetapi menggunakan file kamus (yang dapat ditentukan pengguna) untuk pencarian
  • wc - memungkinkan Anda mendapatkan jumlah kata, jumlah baris, jumlah karakter, dan banyak lagi

Kami melihat beberapa dasar lagi hari ini yang dapat berguna pada baris perintah seperti pada skrip. Data berbasis teks sering menjadi inti dari hal-hal yang kita gunakan setiap hari, jadi bisa bekerja dengannya, mencarinya, dan memanipulasinya adalah kunci.

Apa beberapa skrip favorit Anda? Memiliki skrip penggunaan khusus untuk file berbasis teks? Bagikan apa yang Anda ketahui di komentar!

Direkomendasikan: