Rumah Audio Unix / shell linux 101

Unix / shell linux 101

Isi kandungan:

Anonim

Barisan arahan pada sistem Unix dan Linux sudah sangat kuat, tetapi shell adalah alat yang lebih kuat daripada memenuhi mata. Anda boleh menyesuaikannya dan mengalihkannya ke kandungan jantung anda, selagi anda tahu bagaimana.

Apa cangkang?

Hampir setiap manual Unix dan Linux mempunyai gambarajah standard bungkusan shell di sekitar sistem operasi, menyerupai beberapa jenis bar gula-gula. Cangkangnya benar-benar bukan satu-satunya cara antara sistem operasi, termasuk kernel, sistem fail dan pelbagai panggilan sistem dan pengguna. Selama bertahun-tahun, ia merupakan satu-satunya antara muka pengguna interaktif sebelum antara muka pengguna grafik menjadi biasa pada tahun 1980-an. Antara muka pengguna grafik juga boleh dianggap sebagai jenis shell, kerana ia berfungsi banyak fungsi yang sama: melancarkan program, mengkonfigurasi sistem dan menguruskan fail.


Antara muka berasaskan teks yang rendah hati ini mempunyai kuasa yang mengejutkan. Untuk satu perkara, mereka adalah bahasa pengaturcaraan sepenuhnya. Sebelum penampilan bahasa skrip yang lebih kuat seperti Python, skrip shell adalah sesuai untuk menulis program yang tidak semestinya memerlukan kuasa C. Mereka masih berguna untuk mengotomatisasi tugas sistem dan prototaip cepat.


Mereka juga mempunyai beberapa ciri yang membuat kerja dan mencari fail lebih mudah. Salah satu yang paling banyak digunakan adalah "wildcarding" atau "globbing." Hampir semua pengguna Unix dan Linux sudah biasa dengan "*" wildcard untuk memadankan mana-mana watak. Inilah sebenarnya tugas kerang. Cangkang yang berbeza mempunyai pilihan yang lebih berkuasa.


Salah satu ciri unik Unix ialah keupayaan untuk mengalihkan input dan output program. Shell melaksanakan fungsi ini.


Cangkang itu hanyalah satu lagi program, jadi mungkin bagi mana-mana pengaturcara dengan kemahiran yang tepat untuk membuatnya. Terdapat beberapa cengkerang utama yang telah muncul sejak beberapa tahun lalu.

Sejarah dan Pusingan Kerang

Walaupun terdapat beberapa cangkang Unix pada hari-hari awal sistem operasi, yang pertama mendapat pengiktirafan utama di luar Bell Labs ialah Bourne Shell, dinamakan selepas Stephen R. Bourne. Inovasi utama shell adalah bahawa ia menyokong ciri-ciri untuk pengaturcaraan berstruktur, yang membolehkan pertama kali menggunakan shell sebagai bahasa pengaturcaraan yang sebenar. Ia sangat diperlukan bahawa semua versi Unix dan Linux moden masih menggunakannya, walaupun ia biasanya merupakan satu daripada cangkang baru yang meniru shell Bourne.


Cakera utama seterusnya ialah C Shell, yang biasanya disingkat sebagai "csh." Cangkang ini dibangunkan di UC Berkeley, menjadi komponen utama dari rasa BSD Unix. Seperti namanya, sintaksnya direka untuk menyerupai bahasa pengaturcaraan C, tetapi ia benar-benar direka untuk kegunaan interaktif.


Ini termasuk mekanisme sejarah yang membolehkan pengguna untuk kembali dan mengulangi apa-apa arahan yang dikeluarkan sebelum ini tanpa perlu menaip semula keseluruhan garis dan kawalan kerja yang lebih baik, yang menjadikan banyak tugas lebih mudah dilakukan. (Ingat, ini adalah masa apabila kebanyakan orang masih menggunakan terminal berasaskan teks.)


Shell utama seterusnya adalah Korn Shell, yang juga keluar dari Bell Labs. Cengkerang itu dinamakan sempena nama David Korn, bukan band itu. Inovasi utama shell Korn adalah pengenalan pengeditan baris arahan, memanjangkan fungsi sejarah lebih jauh lagi. Pengguna boleh kembali dan mengedit arahan yang telah mereka taip menggunakan arahan yang mirip dengan editor vi atau Emacs.


Daripada cengkerang utama, Bourne Again Shell, atau bash, adalah yang paling popular sejak pengenalannya pada akhir 80-an. Cangkang ini, yang dibangunkan sebagai sebahagian daripada projek GNU, menggabungkan inovasi cangkerang C dan Korn sambil mengekalkan keserasian dengan shell Bourne, maka namanya. Ia adalah shell "standard" pada kebanyakan pengedaran Linux.


The Z Shell (zsh), yang pertama dikeluarkan pada tahun 1990, adalah mimpi pengguna baris perintah. Bukan hanya mempunyai ciri-ciri utama lain yang mempunyai cengkerang yang lain, ia tidak dapat disesuaikan dengan banyak ciri yang berkuasa. Salah satu yang paling berkuasa ialah pengintipan rekursif, yang membolehkan pengguna untuk memadankan nama fail dalam subdirektori apabila mengeluarkan arahan daripada fail dalam direktori kerja semasa. Pengguna yang benar-benar maju juga boleh menyesuaikan pilihan penyelesaian, memadankan fail tanpa perlu mengetiknya sepenuhnya. Dan untuk pemain kelamin gemuk, ia juga boleh membetulkan ejaan anda. Cengkerang ini sangat maju, halaman manualnya telah dibahagikan kepada beberapa bahagian yang sangat panjang.

Skrip

Seperti yang dinyatakan sebelum ini, cangkang tidak hanya antara muka baris perintah, tetapi bahasa pengaturcaraan yang kuat. Keindahan skrip shell adalah bahawa anda boleh menggunakan bahasa yang sama dalam kedua-dua penggunaan interaktif biasa serta dalam skrip, yang menjadikan keluk pembelajaran lebih megah. Cakera moden termasuk semua ciri bahasa pengaturcaraan yang biasa, termasuk kawalan aliran, fungsi dan pembolehubah. Beberapa daripada mereka bahkan mempunyai struktur data canggih seperti susunan bersekutu.


Walaupun kuasa mereka, pengaturcaraan dalam kerang mempunyai beberapa masalah. Masalah terbesar adalah terlalu mudah untuk menulis skrip yang bergantung pada beberapa program yang mungkin tidak ada pada sistem lain, atau yang bergantung pada rasa tertentu Unix atau Linux. Itulah sebabnya skrip shell yang paling sesuai untuk program yang anda tahu hanya akan dijalankan pada satu sistem. Jika anda cuba membina sesuatu yang mudah alih dan tidak mahu menulis program C, pertaruhan terbaik anda ialah menulis dalam bahasa skrip lain seperti Perl atau Python.

A Peek di bawah Barisan Barisan Unix / Linux

Terdapat lebih banyak daya bersembunyi di bawah permukaan baris perintah Unix / Linux anda. Artikel ini mungkin memberi inspirasi kepada anda untuk mengintip sekeliling cermin kegemaran anda untuk melihat apa yang anda boleh lakukan. Jika anda mahu masuk ke dalam skrip shell, anda mungkin ingin menyemak buku-buku Unix Power Tools dan Belajar Shell Bash. Kertas asal Stephen R. Bourne pada cangkangnya juga berfungsi sebagai pengantar yang baik untuk dunia skrip shell, walaupun sudah tua.

Unix / shell linux 101