Dari komentar Anda, Anda tampaknya bingung tentang apa itu shell . Kernel bertanggung jawab untuk mengelola sistem. Itu adalah bagian yang benar-benar memuat dan menjalankan program, mengakses file, mengalokasikan memori, dll. Tetapi kernel tidak memiliki antarmuka pengguna; Anda hanya dapat berkomunikasi dengannya dengan menggunakan program lain sebagai perantara.
Shell adalah program yang mencetak prompt, membaca sebaris input dari Anda, dan kemudian mengartikannya sebagai satu atau lebih perintah untuk memanipulasi file atau menjalankan program lain. Sebelum penemuan GUI, shell adalah antarmuka pengguna utama dari OS. Pada MS-DOS, shell dipanggil command.com
dan beberapa orang pernah mencoba menggunakan yang berbeda. Di Unix, bagaimanapun, sudah ada banyak shell yang bisa dipilih pengguna.
Mereka dapat dibagi menjadi 3 jenis. Shell yang kompatibel dengan Bourne menggunakan sintaks yang berasal dari shell Bourne yang asli . Kerang C menggunakan sintaksis dari kerang C yang asli . Lalu ada cangkang non-tradisional yang menemukan sintaks mereka sendiri, atau meminjam satu dari beberapa bahasa pemrograman, dan umumnya jauh kurang populer daripada dua jenis pertama.
Perintah bawaan hanyalah perintah yang dijalankan oleh shell itu sendiri, alih-alih menafsirkannya sebagai permintaan untuk memuat dan menjalankan beberapa program lain. Ini memiliki dua efek utama. Pertama, biasanya lebih cepat, karena memuat dan menjalankan program membutuhkan waktu. Tentu saja, semakin lama perintah dijalankan, semakin kecil waktu muat dibandingkan dengan keseluruhan waktu berjalan (karena waktu muat cukup konstan).
Kedua, perintah bawaan dapat memengaruhi kondisi internal shell. Itu sebabnya perintah seperti cd
harus built-in, karena program eksternal tidak dapat mengubah direktori shell saat ini. Perintah lain, seperti echo
, mungkin built-in untuk efisiensi, tetapi tidak ada alasan intrinsik mereka tidak bisa menjadi perintah eksternal.
Perintah mana yang terpasang di dalam tergantung pada shell yang Anda gunakan. Anda harus membaca dokumentasinya untuk daftar (mis., bash
Perintah bawaan tercantum dalam Bab 4 manualnya ). The type
perintah dapat memberitahu Anda jika perintah adalah built-in (jika shell Anda adalah POSIX-kompatibel), karena POSIX mengharuskan type
menjadi built-in. Jika which
bukan built-in di shell Anda, maka itu mungkin tidak akan tahu tentang built-in shell Anda, tetapi hanya akan mencari program eksternal.