Unix / Linux - Lingkungan

Dalam bab ini, kita akan membahas secara detail tentang lingkungan Unix. Konsep Unix yang penting adalahenvironment, yang ditentukan oleh variabel lingkungan. Beberapa diatur oleh sistem, yang lain oleh Anda, yang lain oleh shell, atau program apa pun yang memuat program lain.

Variabel adalah string karakter yang kita beri nilai. Nilai yang diberikan bisa berupa angka, teks, nama file, perangkat, atau jenis data lainnya.

Misalnya, pertama kami menetapkan TEST variabel dan kemudian kami mengakses nilainya menggunakan echo perintah -

$TEST="Unix Programming"
$echo $TEST

Ini menghasilkan hasil sebagai berikut.

Unix Programming

Perhatikan bahwa variabel lingkungan disetel tanpa menggunakan $tanda tangan tetapi saat mengaksesnya kami menggunakan tanda $ sebagai awalan. Variabel ini mempertahankan nilainya sampai kita keluar dari cangkang.

Saat Anda masuk ke sistem, shell mengalami fase yang disebut initializationuntuk mengatur lingkungan. Ini biasanya merupakan proses dua langkah yang melibatkan shell membaca file-file berikut -

  • /etc/profile
  • profile

Prosesnya adalah sebagai berikut -

  • Shell memeriksa untuk melihat apakah file tersebut /etc/profile ada.

  • Jika ada, shell akan membacanya. Jika tidak, file ini akan dilewati. Tidak ada pesan kesalahan yang ditampilkan.

  • Shell memeriksa untuk melihat apakah file tersebut .profileada di direktori home Anda. Direktori home Anda adalah direktori tempat Anda memulai setelah Anda log in.

  • Jika ada, shell akan membacanya; jika tidak, cangkang akan melewatinya. Tidak ada pesan kesalahan yang ditampilkan.

Segera setelah kedua file ini dibaca, shell menampilkan prompt -

$

Ini adalah prompt di mana Anda dapat memasukkan perintah untuk menjalankannya.

Note - Proses inisialisasi shell yang dijelaskan di sini berlaku untuk semua Bourne ketik shell, tetapi beberapa file tambahan digunakan oleh bash dan ksh.

File .profile

Berkas /etc/profile dikelola oleh administrator sistem mesin Unix Anda dan berisi informasi inisialisasi shell yang diperlukan oleh semua pengguna di sistem.

Berkas .profileberada di bawah kendali Anda. Anda dapat menambahkan informasi kustomisasi shell sebanyak yang Anda inginkan ke file ini. Kumpulan informasi minimum yang perlu Anda konfigurasikan meliputi -

  • Jenis terminal yang Anda gunakan.
  • Daftar direktori untuk mencari perintah.
  • Daftar variabel yang memengaruhi tampilan dan nuansa terminal Anda.

Anda dapat memeriksa .profiletersedia di direktori home Anda. Buka menggunakan editor vi dan periksa semua variabel yang disetel untuk lingkungan Anda.

Mengatur Jenis Terminal

Biasanya, jenis terminal yang Anda gunakan secara otomatis dikonfigurasi oleh login atau gettyprogram. Terkadang, proses konfigurasi otomatis salah menebak terminal Anda.

Jika terminal Anda tidak disetel dengan benar, output dari perintah mungkin terlihat aneh, atau Anda mungkin tidak dapat berinteraksi dengan shell dengan benar.

Untuk memastikan bahwa hal ini tidak terjadi, sebagian besar pengguna menyetel terminal mereka ke penyebut umum terendah dengan cara berikut -

$TERM=vt100
$

Mengatur PATH

Saat Anda mengetik perintah apa pun pada prompt perintah, shell harus menemukan perintah tersebut sebelum dapat dijalankan.

Variabel PATH menentukan lokasi di mana shell harus mencari perintah. Biasanya variabel Path diatur sebagai berikut -

$PATH=/bin:/usr/bin
$

Di sini, setiap entri individu dipisahkan oleh karakter titik dua (:)adalah direktori. Jika Anda meminta shell untuk menjalankan perintah dan tidak dapat menemukannya di direktori mana pun yang diberikan dalam variabel PATH, pesan yang mirip dengan berikut ini akan muncul -

$hello
hello: not found
$

Ada variabel seperti PS1 dan PS2 yang dibahas di bagian selanjutnya.

Variabel PS1 dan PS2

Karakter yang ditampilkan shell sebagai prompt perintah Anda disimpan dalam variabel PS1. Anda dapat mengubah variabel ini menjadi apapun yang Anda inginkan. Segera setelah Anda mengubahnya, itu akan digunakan oleh shell sejak saat itu.

Misalnya, jika Anda mengeluarkan perintah -

$PS1='=>'
=>
=>
=>

Prompt Anda akan menjadi =>. Untuk mengatur nilaiPS1 sehingga itu menunjukkan direktori kerja, keluarkan perintah -

=>PS1="[\u@\h \w]\$"
[root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$
[root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$

Hasil dari perintah ini adalah prompt menampilkan nama pengguna pengguna, nama mesin (nama host), dan direktori kerja.

Ada cukup banyak escape sequencesyang dapat digunakan sebagai argumen nilai untuk PS1; cobalah untuk membatasi diri Anda pada yang paling kritis sehingga prompt tidak membanjiri Anda dengan informasi.

Sr.No. Urutan & Deskripsi Escape
1

\t

Waktu saat ini, dinyatakan sebagai HH: MM: SS

2

\d

Tanggal sekarang, dinyatakan sebagai Tanggal Bulan Hari Kerja

3

\n

Garis baru

4

\s

Lingkungan shell saat ini

5

\W

Direktori kerja

6

\w

Path lengkap dari direktori kerja

7

\u

Nama pengguna pengguna saat ini

8

\h

Nama host mesin saat ini

9

\#

Nomor perintah dari perintah saat ini. Meningkat saat perintah baru dimasukkan

10

\$

Jika UID efektif adalah 0 (yaitu, jika Anda login sebagai root), akhiri prompt dengan karakter #; jika tidak, gunakan tanda $

Anda dapat membuat perubahan sendiri setiap kali Anda masuk, atau Anda dapat membuat perubahan dibuat secara otomatis di PS1 dengan menambahkannya ke .profile mengajukan.

Ketika Anda mengeluarkan perintah yang tidak lengkap, shell akan menampilkan prompt sekunder dan menunggu Anda menyelesaikan perintah dan menekan Enter lagi.

Perintah sekunder default adalah > (tanda lebih besar dari), tetapi dapat diubah dengan mendefinisikan ulang PS2 variabel shell -

Berikut adalah contoh yang menggunakan prompt sekunder default -

$ echo "this is a
> test"
this is a
test
$

Contoh yang diberikan di bawah ini mendefinisikan ulang PS2 dengan prompt yang disesuaikan -

$ PS2="secondary prompt->"
$ echo "this is a
secondary prompt->test"
this is a
test
$

Variabel Lingkungan

Berikut adalah daftar parsial variabel lingkungan penting. Variabel-variabel ini ditetapkan dan diakses seperti yang disebutkan di bawah ini -

Sr.No. Variabel & Deskripsi
1

DISPLAY

Berisi pengenal untuk tampilan itu X11 program harus digunakan secara default.

2

HOME

Menunjukkan direktori home dari pengguna saat ini: argumen default untuk cd built-in perintah.

3

IFS

Menunjukkan Internal Field Separator yang digunakan oleh parser untuk pemisahan kata setelah perluasan.

4

LANG

LANG memperluas ke lokal sistem default; LC_ALL dapat digunakan untuk mengesampingkan ini. Misalnya, jika nilainya adalahpt_BR, maka bahasa disetel ke (Brasil) Portugis dan lokal ke Brasil.

5

LD_LIBRARY_PATH

Sistem Unix dengan penaut dinamis, berisi daftar direktori yang dipisahkan oleh penaut dinamis yang harus mencari objek bersama saat membuat gambar proses setelah exec, sebelum mencari di direktori lain.

6

PATH

Menunjukkan jalur pencarian untuk perintah. Ini adalah daftar direktori yang dipisahkan oleh titik dua tempat shell mencari perintah.

7

PWD

Menunjukkan direktori kerja saat ini sebagaimana diatur oleh perintah cd.

8

RANDOM

Menghasilkan bilangan bulat acak antara 0 dan 32.767 setiap kali direferensikan.

9

SHLVL

Bertambah satu setiap kali instance bash dimulai. Variabel ini berguna untuk menentukan apakah perintah keluar built-in mengakhiri sesi saat ini.

10

TERM

Mengacu pada tipe tampilan.

11

TZ

Mengacu pada Zona waktu. Ini bisa mengambil nilai seperti GMT, AST, dll.

12

UID

Memperluas ke ID pengguna numerik dari pengguna saat ini, yang diinisialisasi saat memulai shell.

Berikut adalah contoh contoh yang menunjukkan beberapa variabel lingkungan -

$ echo $HOME
/root
]$ echo $DISPLAY

$ echo $TERM
xterm
$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/home/amrood/bin:/usr/local/bin
$