Beranda » bagaimana » Apa Perbedaan Antara Bash, Zsh, dan Kerang Linux Lainnya?

    Apa Perbedaan Antara Bash, Zsh, dan Kerang Linux Lainnya?

    Sebagian besar distribusi Linux menyertakan bash shell secara default, tetapi Anda juga bisa beralih ke lingkungan shell lain. Zsh adalah alternatif yang sangat populer, dan ada cangkang lain, seperti abu, tanda hubung, ikan, dan tcsh. Tapi apa bedanya, dan mengapa ada begitu banyak?

    What Do Shells Do?

    Ketika Anda masuk di baris perintah atau meluncurkan jendela terminal di Linux, sistem meluncurkan program shell. Shell menawarkan cara standar untuk memperluas lingkungan baris perintah. Anda dapat menukar shell default dengan yang lain, jika mau.

    Lingkungan shell pertama adalah Thompson Shell, yang dikembangkan di Bell Labs dan dirilis pada tahun 1971. Sejak itu, lingkungan Shell telah membangun konsep sejak itu, menambahkan berbagai fitur baru, fungsionalitas, dan peningkatan kecepatan..

    Misalnya, Bash menawarkan penyelesaian nama perintah dan file, fitur skrip lanjutan, riwayat perintah, warna yang dapat dikonfigurasi, alias perintah, dan berbagai fitur lain yang tidak tersedia pada tahun 1971 ketika shell pertama dirilis.

    Shell juga digunakan di latar belakang oleh berbagai layanan sistem. Distribusi Linux mencakup banyak fungsi yang ditulis sebagai skrip shell. Skrip ini adalah perintah dan fungsi skrip shell canggih lainnya dijalankan melalui lingkungan shell.

    Kerang Memimpin ke Bash: sh, csh, tsh, dan ksh

    Nenek moyang paling terkenal dari cangkang modern adalah cangkang Bourne - juga dikenal sebagai "sh" - yang dinamai penciptanya Stephen Bourne yang bekerja di AT&T's Bell Labs. Dirilis pada tahun 1979, ia menjadi interpreter perintah default di Unix karena dukungannya untuk penggantian perintah, perpipaan, variabel, pengujian kondisi, dan perulangan, bersama dengan fitur-fitur lainnya. Itu tidak menawarkan banyak penyesuaian untuk pengguna, dan tidak mendukung keramahan modern seperti alias, penyelesaian perintah, dan fungsi shell (meskipun yang terakhir ini akhirnya ditambahkan).

    C shell, atau "csh", dikembangkan pada akhir 1970-an oleh Bill Joy di University of California, Berkley. Ini menambahkan banyak elemen interaktif yang dapat digunakan pengguna untuk mengontrol sistem mereka, seperti alias (pintasan untuk perintah lama), kemampuan manajemen pekerjaan, riwayat perintah, dan banyak lagi. Itu dimodelkan dari bahasa pemrograman C, dimana sistem operasi Unix itu sendiri ditulis. Ini juga berarti bahwa pengguna dari Bourne shell harus belajar C sehingga mereka dapat memasukkan perintah di dalamnya. Selain itu, csh memiliki beberapa bug yang harus dipalu oleh pengguna dan pembuat selama periode waktu yang lama. Orang-orang akhirnya menggunakan shell Bourne untuk skrip karena menangani perintah non-interaktif lebih baik, tetapi terjebak dengan shell C untuk penggunaan normal.

    Seiring waktu, banyak orang memperbaiki bug dan menambahkan fitur ke shell C, yang berpuncak pada versi perbaikan dari csh yang dikenal sebagai "tcsh". Tapi csh masih default di komputer berbasis Unix, dan telah menambahkan beberapa fitur non-standar. David Korn dari Bell Labs mengerjakan KornShell, atau "ksh", yang mencoba memperbaiki situasi dengan kompatibel dengan bahasa shell Bourne tetapi menambahkan banyak fitur dari csh shell. Itu dirilis pada tahun 1983, tetapi di bawah lisensi eksklusif. Itu bukan perangkat lunak bebas sampai tahun 2000-an, ketika dirilis di bawah berbagai lisensi open-source.

    Kelahiran bash

    Antarmuka Sistem Operasi Portabel untuk Unix, atau POSIX, adalah respons lain terhadap kesibukan implementasi csh. Itu berhasil menciptakan standar untuk interpretasi perintah (antara lain) dan akhirnya mencerminkan banyak fitur di KornShell. Pada saat yang sama, Proyek GNU berusaha menciptakan sistem operasi yang kompatibel dengan Unix. Proyek GNU mengembangkan shell perangkat lunak bebas untuk menjadi bagian dari sistem operasi bebasnya dan menamakannya "Bourne Again Shell", atau "bash".

    Bash telah ditingkatkan dalam beberapa dekade sejak rilis pertama pada tahun 1989, tetapi masih shell standar pada sebagian besar distribusi Linux saat ini. Ini juga merupakan shell default pada MacOS Apple, dan tersedia untuk instalasi pada Microsoft Windows 10.

    Kerang yang lebih baru: abu, garis putus-putus, zsh, dan ikan

    Sementara komunitas Linux telah menetap di Bash sejak tahun itu, pengembang tidak berhenti membuat shell baru ketika Bash pertama kali dirilis 28 tahun yang lalu.

    Kenneth Almquist menciptakan tiruan shell Bourne yang dikenal sebagai shell Almquish, A Shell, "ash", atau kadang-kadang hanya "sh". itu juga kompatibel POSIX dan menjadi shell default di BSD, cabang Unix yang berbeda. Shell ash lebih ringan dari bash, yang membuatnya populer di sistem Linux tertanam. Jika Anda memiliki ponsel Android yang di-rooting dengan BusyBox terinstal-atau perangkat lain dengan rangkaian perangkat lunak BusyBox-menggunakan kode dari ash.

    Debian mengembangkan lingkungan shell berdasarkan abu dan menyebutnya "dash". Ini dirancang agar sesuai dengan POSIX dan ringan, jadi lebih cepat dari Bash, tetapi tidak memiliki semua fitur-fiturnya. Ubuntu menggunakan shell dasbor sebagai shell default untuk tugas-tugas non-interaktif, mempercepat skrip shell dan tugas-tugas lain yang berjalan di latar belakang. Ubuntu masih menggunakan bash untuk shell interaktif, sehingga pengguna masih memiliki lingkungan interaktif berfitur lengkap.

    Salah satu shell baru yang paling populer adalah Z shell, atau "zsh". Dibuat oleh Paul Falstad pada tahun 1990, zsh adalah shell bergaya Bourne yang berisi fitur-fitur yang akan Anda temukan di bash, plus lebih banyak lagi. Misalnya, zsh memiliki pemeriksa ejaan, kemampuan untuk mengawasi login / logout, beberapa fitur pemrograman bawaan seperti bytecode, dukungan untuk notasi ilmiah dalam sintaksis, memungkinkan aritmatika titik-mengambang, dan lebih banyak fitur.

    Shell lain yang lebih baru adalah Friendly Interactive Shell, atau "fish", dirilis pada tahun 2005. Shell ini memiliki sintaks baris perintah unik yang dirancang agar sedikit lebih mudah dipelajari, tetapi tidak berasal dari shell Bourne atau shell C. Ini ide yang menarik, tetapi apa yang Anda pelajari dengan menggunakan ikan tidak selalu membantu Anda menggunakan bash dan cangkang yang berasal dari Bourne.

    Yang Harus Anda Pilih? (dan Mengapa Zsh Populer)

    Anda tidak perlu memilih shell. Sistem operasi Anda memilih shell default untuk Anda, dan pilihan itu hampir selalu bash. Duduklah di depan distribusi Linux - atau bahkan Mac - dan Anda hampir selalu memiliki lingkungan bash shell. Bash memiliki beberapa fitur canggih, tetapi Anda mungkin tidak akan menggunakannya kecuali Anda memprogram skrip shell.

    Pada sistem Linux tertanam atau sistem BSD, Anda akan berakhir dengan shell ash. Tapi abu adalah cangkang berbasis Bourne dan sebagian besar kompatibel dengan bash. Pengetahuan apa pun yang Anda miliki dari menggunakan bash akan ditransfer ke menggunakan ash atau dash shell, meskipun beberapa fitur skrip lanjutan tidak tersedia di shell ringan ini.

    Hampir setiap shell yang Anda temui berbasis Bourne dan bekerja dengan cara yang sama - termasuk zsh.

    Itu sebabnya zsh populer. Shell yang lebih baru ini kompatibel dengan bash, tetapi mencakup lebih banyak fitur. Shell zsh menawarkan koreksi ejaan internal, penyempurnaan baris perintah yang ditingkatkan, modul yang dapat dimuat yang bertindak sebagai plug-in untuk shell Anda, alias global yang memungkinkan Anda untuk alias nama file atau apa pun di baris perintah alih-alih hanya perintah, dan lebih banyak dukungan bertema. Ini seperti bash, tetapi dengan banyak tambahan, fitur tambahan, dan opsi yang dapat dikonfigurasi, Anda mungkin menghargai jika Anda menghabiskan banyak waktu di baris perintah.

    Jika Anda terbiasa dengan bash, Anda dapat beralih ke zsh tanpa mempelajari sintaks yang berbeda - Anda hanya akan mendapatkan fitur tambahan. jika Anda terbiasa dengan zsh, Anda dapat beralih ke bash tanpa mempelajari sintaks yang berbeda-Anda tidak akan memiliki akses ke fitur-fitur tersebut.

    "Oh My ZSH" adalah alat yang membantu Anda lebih mudah mengaktifkan zsh plug-in dan beralih di antara tema premade, dengan cepat menyesuaikan zsh shell Anda tanpa menghabiskan berjam-jam untuk memperbaiki hal-hal.

    Ada juga kerang lain. Misalnya, shell tcsh masih ada dan masih merupakan opsi. FreeBSD menggunakan tsch sebagai shell root default dan ash sebagai shell interaktif default. Jika Anda menggunakan pemrograman C secara teratur, tsch mungkin lebih cocok untuk Anda. Namun, ini sama sekali tidak biasa digunakan sebagai bash atau zsh.

    Cara Berpindah Antar Kerang

    Sangat mudah untuk beralih ke shell baru untuk mencobanya. Cukup instal shell dari manajer paket distribusi Linux Anda dan ketik perintah untuk meluncurkan shell.

    Misalnya, katakanlah Anda ingin mencoba zsh di Ubuntu. Anda telah menjalankan perintah berikut untuk menginstal dan kemudian meluncurkannya:

    sudo untuk menginstal zsh zsh

    Anda kemudian akan duduk di shell zsh. Ketik ” keluar ”Di shell untuk meninggalkannya dan kembali ke shell Anda saat ini.

    Ini hanya sementara. Setiap kali Anda membuka jendela terminal baru atau masuk ke sistem Anda di baris perintah, Anda akan melihat shell default Anda. Untuk mengubah shell yang Anda lihat saat masuk yang dikenal sebagai shell login Anda, Anda biasanya dapat menggunakan chsh , atau "Ubah Shell", perintah.

    Untuk menggunakan perintah ini, pertama-tama Anda harus menemukan path lengkap ke shell Anda dengan perintah yang mana. Misalnya, katakanlah kami ingin mengubah ke zsh shell. Kami akan menjalankan perintah berikut:

    zsh yang mana

    Di Ubuntu, ini memberitahu kita bahwa zsh binary disimpan di / usr / bin / zsh.

    Jalankan perintah berikut, masukkan kata sandi Anda, dan Anda akan diminta untuk memilih shell login baru:

    chsh

    Menurut perintah di atas, kita akan masuk / usr / bin / zsh . Shell zsh kemudian akan menjadi default kami sampai kami menjalankan chsh perintah dan mengubahnya kembali.