50 Pertanyaan dan Jawaban Wawancara Shell Scripting (2025)

Berikut adalah pertanyaan dan jawaban wawancara Shell Scripting untuk kandidat baru dan berpengalaman untuk mendapatkan pekerjaan impian mereka.

 

Pertanyaan dan Jawaban Wawancara Skrip Linux Shell

1) Apa itu cangkang?

Shell merupakan antarmuka antara pengguna dan kernel. Meskipun hanya ada satu kernel, suatu sistem dapat memiliki banyak shell yang berjalan secara bersamaan. Jadi, setiap kali pengguna memasukkan perintah melalui keyboard, shell berkomunikasi dengan kernel untuk mengeksekusinya dan kemudian menampilkan output kepada pengguna.

Unduh PDF Gratis: Pertanyaan & Jawaban Wawancara Shell Scripting


2) Apa itu Skrip Shell?

Shell Scripting adalah program komputer sumber terbuka yang dirancang untuk dijalankan oleh shell Unix/Linux. Shell Scripting adalah program untuk menulis serangkaian perintah untuk dieksekusi oleh shell. Itu dapat menggabungkan urutan perintah yang panjang dan berulang ke dalam skrip tunggal dan sederhana yang dapat disimpan dan dijalankan kapan saja sehingga mengurangi upaya pemrograman.

Pertanyaan Wawancara Shell Scripting


3) Apa saja jenis shell yang umum digunakan pada sistem Linux pada umumnya?

csh,ksh,bash,Bourne . Shell yang paling umum digunakan dan canggih saat ini adalah โ€œBashโ€.


4) Apa yang setara dengan shortcut file yang kita punya jendela di sistem Linux?

Pintasan dibuat menggunakan โ€œtautanโ€ di Linux. Ada dua jenis link yang dapat digunakan yaitu โ€œsoft linkโ€ dan โ€œhard linkโ€.


5) Apa perbedaan antara tautan lunak dan tautan keras?

Tautan lunak adalah tautan ke nama file dan juga dapat berada di sistem file yang berbeda; namun tautan keras adalah tautan ke inode file dan harus berada pada sistem file yang sama dengan file tersebut. Menghapus file asli membuat soft link tidak aktif (link rusak) namun tidak mempengaruhi hard link (Hard link tetap akan mengakses salinan file)


6) Bagaimana Anda meneruskan dan mengakses argumen ke skrip di Linux?

Argumen dapat disampaikan sebagai:

scriptName โ€œArg1โ€ โ€œArg2โ€ณโ€ฆ.โ€Argnโ€ dan dapat diakses di dalam skrip sebagai $1 , $2 .. $n


7) Apa perbedaan antara $* dan $@?

$@ memperlakukan setiap argumen yang dikutip sebagai argumen terpisah tetapi $* akan menganggap seluruh rangkaian parameter posisi sebagai string tunggal.


8) Gunakan perintah sed untuk mengganti konten file (tiru perintah tac)

Misalnya:

if cat fille
ABCD
EFGH

Maka O/p seharusnya

EFGH
ABCD

sed '1! G; h;$!d' file1

Di sini perintah G ditambahkan ke ruang pola,

perintah h menyalin buffer pola ke buffer penahan

dan perintah d menghapus ruang pola saat ini.


9) Diberikan sebuah file, ganti semua kemunculan kata โ€œABCโ€ dengan โ€œDEFโ€ dari 5th baris sampai akhir hanya pada baris yang mengandung kata โ€œMNOโ€

sed โ€“n '5,$p' file1|sed '/MNO/s/ABC/DEF/'

10) Diberikan sebuah file, tulis urutan perintah untuk menemukan jumlah setiap kata.

tr โ€“s  "(backslash)040" <file1|tr โ€“s  "(backslash)011"|tr "(backslash)040 (backslash)011" "(backslash)012" |uniq โ€“c
where "(backslash)040" is octal equivalent of "space"

โ€œ(backslash)011โ€ adalah padanan oktal dari โ€œkarakter tabโ€ dan

โ€œ(backslash)012โ€ adalah karakter oktal yang setara dengan karakter baris baru.


11) Bagaimana Anda menemukan 99th baris file hanya menggunakan perintah ekor dan kepala?

ekor +99 file1|kepala -1


12) Cetak 10th baris tanpa menggunakan perintah tail dan head.

sed โ€“n '10p' file1

13) Di bash shell saya, saya ingin prompt saya berformat '$โ€Direktori kerja saat iniโ€:โ€nama hostโ€> dan memuat file yang berisi daftar fungsi yang ditentukan pengguna segera setelah saya masuk, bagaimana Anda akan mengotomatiskannya ?

Di bash shell, kita dapat membuat file โ€œ.profileโ€ yang secara otomatis dipanggil segera setelah saya masuk dan menulis sintaks berikut ke dalamnya.

export PS1='$ `pwd`:`hostname`>' .File1

Di sini File1 adalah file yang berisi fungsi yang ditentukan pengguna dan โ€œ.โ€ memanggil file ini di shell saat ini.


14) Jelaskan tentang bit izin โ€œsโ€ dalam sebuah file?

Bit โ€œsโ€ disebut bit โ€œset user idโ€ (SUID).

Bit โ€œsโ€ pada file menyebabkan proses memiliki hak istimewa dari pemilik file selama program dijalankan.

Misalnya, menjalankan perintah โ€œpasswdโ€ untuk mengubah kata sandi saat ini menyebabkan pengguna menulis kata sandi barunya ke file bayangan meskipun ia memiliki โ€œrootโ€ sebagai pemiliknya.


15) Saya ingin membuat direktori sedemikian rupa sehingga siapa pun di grup dapat membuat file dan mengakses file siapa pun di dalamnya tetapi tidak ada yang bisa menghapus file selain yang dibuat sendiri.

Kita dapat membuat direktori yang memberikan akses baca dan eksekusi ke semua orang di grup dan menyetel bit "t" yang lengket sebagai berikut:

mkdir direc1
 
chmod g+wx direc1
 
chmod +t direc1

16) Bagaimana cara mengetahui berapa lama sistem telah berjalan?

Kita dapat menemukannya dengan menggunakan perintah โ€œuptimeโ€.


17) Bagaimana cara pengguna mengetahui semua informasi tentang pengguna tertentu seperti shell default, nama sebenarnya, direktori default, kapan dan berapa lama dia telah menggunakan sistem?

jari โ€œloginNameโ€ โ€ฆdi mana loginName adalah nama loginnya

pengguna yang informasinya diharapkan.


18) Apa perbedaan antara $$ dan $!?

$$ memberikan id proses dari proses yang sedang dijalankan sedangkan $! Menampilkan id proses dari proses yang baru-baru ini masuk ke latar belakang.


19) Apa yang dimaksud dengan proses zombie?

Ini adalah proses yang telah mati namun status keluarnya masih belum diambil oleh proses induk. Proses-proses ini meskipun tidak berfungsi masih memiliki entri id prosesnya di tabel proses.


20) Bagaimana cara menyalin file dari satu mesin ke mesin lainnya?

Kita dapat menggunakan utilitas seperti โ€œftp,โ€ โ€œscpโ€ atau โ€œrsyncโ€ untuk menyalin file dari satu mesin ke mesin lain.

Misalnya, Menggunakan ftp:

Nama host FTP

> masukkan file1

> sampai jumpa

Salinan di atas, file file1 dari sistem lokal ke sistem tujuan yang nama hostnya ditentukan.


Pertanyaan dan Jawaban Wawancara Shell Scripting untuk Berpengalaman

21) Saya ingin memantau file log yang terus diperbarui, perintah apa yang dapat digunakan untuk mencapai hal ini dengan paling efisien?

Kita dapat menggunakan tail โ€“f namafile. Ini akan menyebabkan hanya 10 baris terakhir default yang ditampilkan pada std o/p yang terus-menerus menampilkan bagian pembaruan file.


22) Saya ingin terhubung ke server jarak jauh dan menjalankan beberapa perintah, bagaimana cara mencapainya?

Kita dapat menggunakan ssh untuk melakukan ini:

ssh nama pengguna@serverIP -p sshport

Example

ssh root@122.52.251.171 -p 22

Setelah perintah di atas dijalankan, Anda akan diminta memasukkan kata sandi


23) Saya memiliki 2 file dan saya ingin mencetak catatan yang sama untuk keduanya.

Kita dapat menggunakan perintah โ€œcommโ€ sebagai berikut:

comm -12 file1 file2 โ€ฆ 12 akan menyembunyikan konten yang ada

unik untuk 1st dan 2nd berkas masing-masing.


24) Tulis skrip untuk mencetak 10 elemen pertama deret Fibonacci.

  
#!/bin/sh
a=1
b=1
echo $a
echo $b
for I in 1 2 3 4 5 6 7 8
do
c=a
b=$a
b=$(($a+$c))
echo $b
done

25) Bagaimana Anda terhubung ke server database dari Linux?

Kita dapat menggunakan utilitas isql yang disertakan dengan driver klien terbuka sebagai berikut:

isql โ€“S nama server โ€“U nama pengguna โ€“P kata sandi


26) Apa saja 3 aliran standar di Linux?

0 โ€“ Masukan Standar1 โ€“ Keluaran Standar2 โ€“ Kesalahan Standar


27) Saya ingin membaca semua input ke perintah dari file1 mengarahkan semua output ke file2 dan kesalahan ke file 3, bagaimana saya bisa mencapainya?

memerintah file1 1>file2


28) Apa yang akan terjadi pada proses saya saat ini ketika saya menjalankan perintah menggunakan exec?

โ€œexecโ€ melapisi proses yang baru bercabang pada proses saat ini; jadi ketika saya menjalankan perintah menggunakan exec, perintah tersebut dieksekusi pada shell saat ini tanpa membuat proses baru.

Misalnya, Eksekusi "exec ls" pada command prompt akan mengeksekusi ls dan setelah ls keluar, proses akan dimatikan


29) Bagaimana Anda meniru wc โ€“l menggunakan awk?

awk 'END {print NR} fileName'


30) Diberikan sebuah file, carilah jumlah baris yang mengandung kata โ€œABCโ€.

grep โ€“c โ€œABCโ€ file1


31) Apa perbedaan antara grep dan egrep?

egrep adalah Extended grep yang mendukung fitur grep tambahan seperti โ€œ+โ€ (1 atau lebih kemunculan karakter sebelumnya),โ€?โ€(0 atau 1 kemunculan karakter sebelumnya) dan โ€œ|โ€ (pencocokan alternatif)


32) Bagaimana cara mengatur array di Linux?

Sintaks dalam ksh:

Set โ€“A arrayname= (element1 element2 โ€ฆ.. element)
In bash
A=(element1 element2 element3 โ€ฆ. elementn)

33) Tuliskan sintaks perulangan โ€œforโ€.

sintaks:

for  iterator in (elements)
do
execute commands
done

34) Bagaimana Anda mengetahui total ruang disk yang digunakan oleh pengguna tertentu?

du -s /home/user1 โ€ฆ.di mana user1 adalah pengguna yang memerlukan total ruang disk.


35) Tulis sintaks untuk kondisional โ€œjikaโ€ di Linux?

Sintaksis

If  condition is successful
then
execute commands
else
execute commands
fi

36) Apa pentingnya $?

Perintah $? memberikan status keluar dari perintah terakhir yang dijalankan.


37) Bagaimana cara menghapus semua baris kosong dalam sebuah file?

sed  '^ [(backslash)011(backslash)040]*$/d' file1

dimana (garis miring terbalik)011 adalah padanan oktal dari ruang dan

(garis miring terbalik)040 setara dengan oktal tab


38) Bagaimana cara menyisipkan baris โ€œABCDEFโ€ di setiap 100th baris file?

sed berkas '100i\ABCDEF'1


39) Tulis urutan perintah untuk menemukan semua file yang dimodifikasi dalam waktu kurang dari 2 hari dan cetak jumlah catatan masing-masing file.

menemukan . โ€“waktu -2 โ€“exec wc โ€“l {} \;


40) Bagaimana cara menetapkan izin rwx default untuk semua pengguna di setiap file yang dibuat di shell saat ini?

Kita bisa gunakan:

umask 777

Ini akan menetapkan izin rwx default untuk setiap file yang dibuat untuk setiap pengguna.


41) Bagaimana kita bisa menemukan nama proses dari id prosesnya?

Kita dapat menggunakan "ps โ€“p ProcessId"


42) Apa saja empat komponen dasar setiap sistem file di Linux?

Bootblock, super block, inode block, dan Datablock merupakan komponen fundamental dari setiap sistem file di Linux.


43) Apa itu blok boot?

Blok ini berisi program kecil bernama โ€œMaster Boot Recordโ€ (MBR) yang memuat kernel saat boot sistem.


44) Apa itu blok super?

Blok super berisi semua informasi tentang sistem file seperti ukuran sistem file, ukuran blok yang digunakan, jumlah blok data bebasnya, dan daftar inode gratis dan blok data.


45) Apa itu blok inode?

Blok ini berisi inode untuk setiap file sistem file beserta semua atribut file kecuali namanya.


46) Bagaimana saya dapat mengirim email dengan file terkompresi sebagai lampiran?

zip file1.zip file1|mailx โ€“s โ€œsubjectโ€ ID email penerima

Konten email

EOF


47) Bagaimana cara membuat alias perintah di shell?

alias Aliasname=โ€Perintah yang aliasnya akan dibuatโ€.


48) Apa yang dimaksud dengan bidang izin โ€œcโ€ dan โ€œbโ€ pada suatu file?

โ€œcโ€ dan โ€œbโ€ bidang izin umumnya dikaitkan dengan file perangkat. Ini menentukan apakah suatu file adalah file karakter khusus atau file khusus blok.


49) Apa gunanya tali shebang?

Garis shebang di bagian atas setiap skrip menentukan lokasi mesin yang akan digunakan untuk menjalankan skrip.

Pertanyaan wawancara ini juga akan membantu dalam viva Anda (lisan)