Sebagian besar pengguna Linux sering tidak menyadari kerja internal sistem operasi. Anda mungkin menjalankan perintah Linux di shell untuk waktu yang lama, tetapi pernahkah Anda bertanya-tanya apa yang terjadi di balik layar ketika Anda menekan Memasuki?

Pada akhirnya, Anda akan memiliki pemahaman singkat tentang bagaimana shell memproses perintah yang diketik di Linux.

Memproses Perintah

Saat Anda memasukkan perintah, hal pertama yang dilakukan shell adalah memecah seluruh perintah menjadi "token". Shell kemudian akan mencari nama program milik token pertama di baris perintah.

Jika tidak menemukannya di salah satu direktori di jalur pencarian yang ditentukan dalam variabel lingkungan $PATH atau di direktori lokal dengan .\ operator, atau itu bukan alias cangkang atau fungsi shell, shell akan memberikan kesalahan. Jika memang menemukan perintah yang valid, shell kemudian akan memeriksa setiap token lainnya dan memutuskan apakah itu variabel, parameter shell, atau argumen untuk perintah tersebut.

instagram viewer

Jika shell menentukan bahwa itu adalah variabel atau parameter seperti ~ operator untuk direktori home, shell akan memperluasnya, atau menggantinya dengan nilai aslinya dalam perintah.

Ketika shell telah memperluas parameter atau variabel apa pun, shell akan meneruskan string perintah ke perintah, menjalankan program dengan argumennya. Shell tidak menentukan apakah ada argumen yang valid. Itu tugas komando.

Menjalankan Perintah

Ketika shell meluncurkan perintah lain, bagaimana cara kembali ke prompt yang sama yang Anda gunakan sebelumnya? Shell membuat salinan dirinya sendiri, sebuah proses yang disebut forking. Salinan shell ini menggantikan dirinya dengan perintah, dengan semua argumen yang diproses sebelumnya. Ini dikenal sebagai "exec", dan proses gabungannya dikenal sebagai "fork-and-exec."

Misalnya, saat Anda berlari perintah ls, proses shell akan bercabang sendiri menggunakan garpu() metode dan buat instance Shell lain. Dari dua proses shell yang berjalan pada sistem, shell tambahan akan mengeksekusi ls menggunakan eksekutif() fungsi, mengubah dirinya menjadi turunan dari perintah ls.

Sementara itu, shell asli menunggu perintah selesai. Inilah sebabnya mengapa Anda dapat menggunakan kontrol pekerjaan untuk menangguhkan pekerjaan dan menjalankan pekerjaan di latar belakang di shell.

Terkait: Apa itu Proses di Linux?

Melaporkan Status Keluar

Perintah Linux melaporkan apakah mereka berjalan dengan sukses atau tidak melalui status keluarnya. Seperti namanya, program melaporkan status keluarnya saat selesai dijalankan. Mereka melakukan ini melalui $? variabel lingkungan, yang berisi status keluar dari perintah run terakhir.

Menurut konvensi, status keluar 0 menunjukkan eksekusi yang berhasil, sementara apa pun selain 0 biasanya berarti kesalahan. Shell Anda mungkin juga menunjukkan status keluar bukan nol pada baris perintah tergantung pada bagaimana prompt Anda dikonfigurasi.

Tangkapan layar di atas adalah contoh yang menunjukkan permintaan Zsh khusus yang menunjukkan status keluar kesalahan 127 karena perintah yang tidak ada.

Sekarang Anda Tahu Cara Kerja Perintah Linux

Sekarang setelah Anda mengetahui bagaimana shell Linux memproses perintah, fork dan eksekutif itu sendiri, dan bagaimana program melaporkan status keluarnya, Anda dapat menggunakan baris perintah dengan lebih efektif.

Beberapa shell Linux tersedia untuk pengguna secara gratis. Sementara masing-masing dari mereka melakukan pekerjaan yang kurang lebih sama, mereka berbeda dalam banyak aspek. Anda dapat mencoba menginstal beberapa shell di sistem Anda dan memutuskan sendiri mana yang paling cocok untuk Anda.

MembagikanMenciakSurel
Shell Linux Mana yang Terbaik? 5 Kerang Umum Dibandingkan

Mencari alternatif shell bash Linux? Berikut adalah ikhtisar shell Linux mana yang terbaik: tsch, fish, KornShell, dan Z Shell.

Baca Selanjutnya

Topik-topik yang berkaitan
  • Linux
  • Perintah Linux
  • Linux Bash Shell
Tentang Penulis
David Delony (57 Artikel Diterbitkan)

David adalah seorang penulis lepas yang berbasis di Pacific Northwest, tetapi awalnya berasal dari Bay Area. Dia telah menjadi penggemar teknologi sejak kecil. Minat David termasuk membaca, menonton acara TV dan film berkualitas, bermain game retro, dan mengumpulkan rekaman.

More From David Delony

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan