Apakah perbezaan antara log masuk dan bukan login?

Apakah perbezaan antara log masuk dan bukan login?

Apa itu shell?

Shell adalah penterjemah arahan atau program yang membaca dan menafsirkan arahan yang dikeluarkan oleh pengguna.
Shell melakukan arahan asas seperti menjalankan program, memasukkan teks, dan percetakan output. Ia juga bertanggungjawab untuk mengendalikan kesilapan dan situasi lain yang memerlukan campur tangan pengguna. Cangkang boleh digunakan untuk mengautomasikan tugas yang ada atau untuk membuat yang baru sepenuhnya.

Shell menyediakan antara muka yang sama dengan beberapa alat dalam sistem. Sebagai contoh, jika shell perlu melakukan tindakan yang memerlukan arahan sistem, ia akan mencari arahan dan kemudian melaksanakannya bagi pihak pengguna.

Apakah jenis kerang yang berlainan?

Cangkang bukan login atau shell login digunakan dalam contoh ini, yang menggunakan shell bash. Kerang Melaksanakan skrip pra-konfigurasi untuk menubuhkan persekitaran mereka.

Shell memainkan peranan penting dalam Senibina Sistem Operasi Linux. Ia menerima input dari pengguna dan menghantar arahan kepada kernel, dan ia menerima output dari kernel dan mengembalikannya kepada pengguna.

Shell melaksanakan satu set skrip yang telah ditetapkan untuk mengkonfigurasi persekitarannya. Sebagai contoh, shell bash digunakan.

Apakah shell login dalam sistem Unix/Linux?

Apabila pengguna berjaya masuk ke sistem linux melalui terminal, ssh, atau beralih kepada pengguna dengan arahan "su -", shell log masuk dibuat.

Apabila shell masuk bermula, ia melaksanakan satu set skrip pra-konfigurasi untuk menubuhkan persekitaran. Anda boleh menjalankan arahan ini di terminal untuk mengetahui shell yang anda gunakan.

echo $ 0  

Sekiranya hasilnya adalah "-bash" atau "-su", anda berada di cangkang log masuk. Pastikan bahawa ia mempunyai tanda hubung (-) sebagai awalan.

Skrip berikut dilaksanakan oleh shell log masuk:

  1. Log masuk shell memanggil /etc/profil
  2. /etc/profil Memohon skrip dalam /etc /profil.d/*.sh
  3. Kemudian melaksanakan pengguna ~/.BASH_PROFILE
  4. ~/.BASH_PROFILE menyerahkan pengguna ~/.Bashrc
  5. ~/.Bashrc memanggil /etc/bashrc

Apakah shell bukan login dalam sistem Unix/Linux?

Cangkang bukan login dimulakan dengan cangkang log masuk. Contohnya, cangkang yang anda mulakan dari shell lain atau dari program adalah cangkang bukan login.

Cangkang yang tidak digunakan untuk log masuk ke sistem melaksanakan skrip berikut untuk menetapkan persekitaran shell.

  1. Shell tidak log masuk pertama dilaksanakan ~/.Bashrc
  2. Kemudian ~/.Bashrc melaksanakan /etc/bashrc
  3. /etc/bashrc memanggil skrip masuk /etc/profil.d

Memeriksa sama ada cangkang adalah log masuk atau tidak login

Untuk mencari sama ada shell semasa adalah shell login atau shell bukan login hanya menjalankan arahan di bawah. Lihat hasilnya dan dapatkan perbezaan di antara mereka.

echo $ 0  

Output shell log masuk akan -bash atau -su.

Output shell bukan log masuk bash atau su

Kesimpulan

Cangkang bash boleh sama ada shell login atau cangkang bukan login. Kedua -dua jenis cengkerang dipanggil dengan tetapan persekitaran yang berbeza. Anda boleh dengan mudah mengenal pasti sama ada cangkang adalah shell login atau shell bukan login dengan echo $ 0 perintah.

Secara ringkas, apabila kita log masuk ke sistem seperti Unix dengan pengguna, shell pertama adalah shell log masuk.