Daftar Isi:
- Apa itu shell?
- Sejarah dan Roundup of Shells
- Scripting
- Mengintip Di Bawah Kap Unix / Linux Command Line
Baris perintah pada sistem Unix dan Linux sudah sangat kuat, tetapi cangkang adalah alat yang bahkan lebih kuat daripada yang terlihat. Anda dapat menyesuaikannya dan mengubahnya ke isi hati Anda, selama Anda tahu caranya.
Apa itu shell?
Hampir setiap manual Unix dan Linux memiliki diagram standar dari shell yang membungkus sistem operasi, menyerupai semacam candy bar. Shell benar-benar hanyalah antarmuka antara sistem operasi, termasuk kernel, sistem file dan berbagai panggilan sistem dan pengguna. Selama bertahun-tahun, itu adalah satu-satunya antarmuka pengguna interaktif sebelum antarmuka pengguna grafis menjadi umum pada 1980-an. Antarmuka pengguna grafis juga dapat dianggap sebagai jenis shell, karena mereka melayani banyak fungsi yang sama: meluncurkan program, mengkonfigurasi sistem dan mengelola file.
Antarmuka berbasis teks sederhana ini memiliki kekuatan yang mengejutkan. Untuk satu hal, mereka sepenuhnya bahasa pemrograman. Sebelum munculnya bahasa skrip yang lebih kuat seperti Python, skrip shell sangat ideal untuk menulis program yang tidak perlu membutuhkan kekuatan C. Mereka masih berguna untuk mengotomatisasi tugas-tugas sistem dan untuk pembuatan prototipe cepat.
Mereka juga memiliki sejumlah fitur yang membuat bekerja dan menemukan file lebih mudah. Salah satu yang paling banyak digunakan adalah "wildcarding" atau "globbing." Hampir semua pengguna Unix dan Linux terbiasa dengan wildcard "*" untuk mencocokkan karakter apa pun. Ini sebenarnya pekerjaan shell. Kerang yang berbeda memiliki opsi yang lebih kuat.
Salah satu fitur khas Unix adalah kemampuan untuk mengarahkan input dan output program. Shell mengimplementasikan fungsi ini.
Shell hanyalah program lain, jadi mungkin bagi setiap programmer dengan keterampilan yang tepat untuk membuatnya. Ada beberapa kerang besar yang telah muncul selama bertahun-tahun.
Sejarah dan Roundup of Shells
Meskipun ada beberapa cangkang Unix pada hari-hari awal sistem operasi, yang pertama mendapatkan pengakuan besar di luar Bell Labs adalah Bourne Shell, dinamai Stephen R. Bourne. Inovasi utama shell adalah bahwa ia mendukung fitur untuk pemrograman terstruktur, sehingga memungkinkan untuk pertama kalinya menggunakan shell sebagai bahasa pemrograman nyata. Ini sangat diperlukan sehingga semua versi Unix dan Linux modern masih menggunakannya, meskipun biasanya salah satu shell yang lebih baru meniru shell Bourne.
Shell utama berikutnya adalah Shell C, yang biasa disingkat "csh." Shell ini dikembangkan di UC Berkeley, menjadi komponen utama dari rasa BSD Unix. Seperti namanya, sintaksnya dirancang menyerupai bahasa pemrograman C, tetapi sebenarnya dirancang untuk penggunaan interaktif.
Ini termasuk mekanisme riwayat yang memungkinkan pengguna untuk kembali dan mengulangi perintah yang mereka keluarkan sebelumnya tanpa harus mengetik ulang seluruh baris dan meningkatkan kontrol pekerjaan, yang membuat menjalankan banyak tugas menjadi lebih mudah. (Ingat, ini adalah masa ketika kebanyakan orang masih menggunakan terminal berbasis teks.)
Shell besar berikutnya adalah Shell Korn, yang juga keluar dari Bell Labs. Shell dinamai David Korn, bukan band, by the way. Inovasi utama Korn shell adalah pengenalan pengeditan baris perintah, memperluas fungsionalitas sejarah lebih jauh. Pengguna dapat kembali dan mengedit perintah yang mereka ketikkan menggunakan perintah yang mirip dengan editor vi atau Emacs.
Dari shell utama, Bourne Again Shell, atau bash, adalah yang paling populer sejak diperkenalkan pada akhir 80-an. Shell ini, dikembangkan sebagai bagian dari proyek GNU, menggabungkan inovasi shell C dan Korn sambil mempertahankan kompatibilitas dengan shell Bourne, oleh karena itu namanya. Ini adalah shell "standar" pada sebagian besar distribusi Linux.
Z Shell (zsh), pertama kali dirilis pada tahun 1990, adalah impian pengguna baris perintah. Tidak hanya memiliki sebagian besar fitur utama yang dimiliki oleh shell lain, ia juga dapat disesuaikan dengan banyak fitur canggih. Salah satu yang paling kuat adalah globbing rekursif, yang memungkinkan pengguna untuk mencocokkan nama file dalam subdirektori saat mengeluarkan perintah daripada file dalam direktori kerja saat ini. Pengguna yang benar-benar mahir juga dapat menyesuaikan opsi penyelesaian, mencocokkan file tanpa harus mengetikkannya sepenuhnya. Dan untuk pengetik yang berjari gemuk, ini juga bisa memperbaiki ejaan Anda. Shell ini sangat canggih, halaman manualnya telah dipecah menjadi beberapa bagian yang sangat panjang.
Scripting
Seperti disebutkan sebelumnya, shell tidak hanya antarmuka baris perintah, tetapi bahasa pemrograman yang kuat. Keindahan skrip shell adalah Anda dapat menggunakan bahasa yang sama baik dalam penggunaan interaktif biasa maupun dalam skrip, yang membuat kurva belajar lebih rata. Kerang modern mencakup semua fitur bahasa pemrograman yang biasa, termasuk kontrol aliran, fungsi, dan variabel. Beberapa dari mereka bahkan memiliki struktur data tingkat lanjut seperti array asosiatif.
Meskipun memiliki kekuatan, pemrograman dalam shell memiliki beberapa jebakan. Masalah terbesar adalah bahwa terlalu mudah untuk menulis skrip yang tergantung pada beberapa program yang mungkin tidak pada sistem lain, atau yang tergantung pada rasa tertentu dari Unix atau Linux. Itu sebabnya skrip shell paling cocok untuk program yang Anda tahu hanya akan dijalankan pada satu sistem. Jika Anda mencoba membuat sesuatu yang portabel dan tidak ingin menulis program C, taruhan terbaik Anda adalah menulis dalam bahasa scripting lain seperti Perl atau Python.
Mengintip Di Bawah Kap Unix / Linux Command Line
Ada lebih banyak kekuatan yang mengintai di bawah permukaan baris perintah Unix / Linux Anda. Artikel ini mungkin menginspirasi Anda untuk mengintip di balik tudung shell favorit Anda untuk melihat apa yang benar-benar dapat Anda lakukan. Jika Anda ingin masuk ke skrip shell, Anda mungkin ingin memeriksa buku Unix Power Tools dan Mempelajari Bash Shell. Makalah asli Stephen R. Bourne pada cangkangnya juga berfungsi sebagai pengantar yang bagus untuk dunia scripting cangkang, meskipun sudah lama.
