50 Shell Scripting Röportaj Soruları ve Cevapları (2025)
Linux Shell Scripting Röportaj Soruları ve Cevapları
1) Kabuk nedir?
Kabuk, kullanıcı ile çekirdek arasındaki bir arayüzdür. Sadece bir çekirdek olabilse bile; bir sistemde aynı anda çalışan birçok kabuk olabilir. Bu nedenle, bir kullanıcı klavyeden bir komut girdiğinde, kabuk çekirdekle iletişim kurarak komutu yürütür ve ardından çıktıyı kullanıcıya görüntüler.
👉 Ücretsiz PDF İndir: Shell Scripting Röportaj Soruları ve Cevapları
2) Kabuk Komut Dosyası Nedir?
Kabuk Betiği Unix/Linux kabuğu tarafından çalıştırılmak üzere tasarlanmış açık kaynaklı bir bilgisayar programıdır. Shell Scripting, kabuğun yürütmesi için bir dizi komut yazan bir programdır. Uzun ve tekrarlayan komut dizilerini, herhangi bir zamanda saklanabilen ve çalıştırılabilen tek ve basit bir komut dosyasında birleştirebilir, bu da programlama çabalarını azaltır.
3) Tipik bir Linux sisteminde yaygın olarak kullanılan farklı kabuk türleri nelerdir?
csh,ksh,bash,Bourne . Günümüzde kullanılan en yaygın ve gelişmiş kabuk “Bash”tır.
4) Linux sisteminde bir pencereye sahip olduğumuz dosya kısayolunun karşılığı nedir?
Kısayollar Linux'ta "bağlantılar" kullanılarak oluşturulur. Kullanılabilecek iki tür bağlantı vardır: “yumuşak bağlantı” ve “sabit bağlantı”.
5) Yumuşak ve sert bağlantılar arasındaki fark nedir?
Yazılım bağlantıları dosya adına bağlantıdır ve farklı dosya sistemlerinde de bulunabilir; ancak sabit bağlantılar dosyanın inode'una bağlantıdır ve dosyanınkiyle aynı dosya sisteminde olmaları gerekir. Orijinal dosyayı silmek, geçici bağlantıyı devre dışı bırakır (bozuk bağlantı) ancak sabit bağlantıyı etkilemez (Sabit bağlantı, dosyanın bir kopyasına erişmeye devam eder)
6) Linux'ta bir betiğe argümanları nasıl iletecek ve bunlara nasıl erişeceksiniz?
Argümanlar şu şekilde iletilebilir:
scriptName “Arg1” “Arg2″….”Argn” ve betiğin içinden $1 , $2 .. $n olarak erişilebilir.
7) $* ve $@ arasındaki fark nedir?
$@ alıntılanan her bağımsız değişkeni ayrı bağımsız değişkenler olarak ele alır, ancak $* tüm konumsal parametreler kümesini tek bir dize olarak ele alır.
8) Dosyanın içeriğini değiştirmek için sed komutunu kullanın (tac komutunu taklit edin)
Örneğin:
if cat fille ABCD EFGH
O zaman O/p olmalıdır
EFGH
ABCD
sed '1! G; h;$!d' file1
Burada G komutu desen alanına eklenir,
h komutu desen tamponunu tutma tamponuna kopyalar
ve d komutu mevcut desen alanını siler.
9) Bir dosya verildiğinde, “ABC” kelimesinin geçtiği tüm yerleri 5'ten “DEF” ile değiştirin.th sadece "MNO" kelimesini içeren satırlarda sonuna kadar satır
sed –n '5,$p' file1|sed '/MNO/s/ABC/DEF/'
10) Verilen bir dosyada her kelimenin sayısını bulmak için bir komut dizisi yazın.
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"
“(ters eğik çizgi)011”, “sekme karakterinin” sekizlik eşdeğeridir ve
“(ters eğik çizgi)012” yeni satır karakterinin sekizlik eşdeğeridir.
11) 99'u nasıl bulacaksınız?th sadece tail ve head komutunu kullanan bir dosyanın satırı?
kuyruk +99 dosya1|kafa -1
12) 10'u yazdırınth kuyruk ve kafa komutunu kullanmadan satır.
sed –n '10p' file1
13) Bash kabuğumda istemimin '$”Mevcut çalışma dizini”:”ana bilgisayar adı”> biçiminde olmasını ve oturum açtığımda kullanıcı tanımlı işlevlerin listesini içeren bir dosya yüklemesini istiyorum, bunu nasıl otomatikleştireceksiniz? ?
Bash kabuğunda, oturum açtığımda otomatik olarak çağrılacak bir “.profile” dosyası oluşturabilir ve içine aşağıdaki sözdizimini yazabiliriz.
export PS1='$ `pwd`:`hostname`>' .File1
Burada Dosya1 kullanıcı tanımlı fonksiyonları ve “.”yi içeren dosyadır. bu dosyayı geçerli kabukta çağırır.
14) Bir dosyadaki “s” izin bitini açıklayınız?
“s” bitine “kullanıcı kimliğini ayarla” (SUID) biti denir.
Bir dosyadaki “s” biti, programın örneği sırasında sürecin dosya sahibinin ayrıcalıklarına sahip olmasına neden olur.
Örneğin mevcut şifreyi değiştirmek için “passwd” komutunu çalıştırmak, sahibi “root” olmasına rağmen kullanıcının yeni şifresini gölge dosyaya yazmasına neden olur.
15) Gruptaki herkesin bir dosya oluşturabileceği ve içindeki herhangi bir kişinin dosyasına erişebileceği ancak hiç kimsenin kendi oluşturduğu dosyadan başka bir dosyayı silemeyeceği bir dizin oluşturmak istiyorum.
Gruptaki herkese okuma ve yürütme erişimi veren ve yapışkan biti “t” yi açık olarak ayarlayan dizini aşağıdaki gibi oluşturabiliriz:
mkdir direc1 chmod g+wx direc1 chmod +t direc1
16) Sistemin ne kadar süredir çalıştığını nasıl öğrenebilirsiniz?
Bunu “uptime” komutunu kullanarak bulabiliriz.
17) Herhangi bir kullanıcı, belirli bir kullanıcının varsayılan kabuğu, gerçek hayattaki adı, varsayılan dizini, sistemi ne zaman ve ne kadar süredir kullandığı gibi tüm bilgileri nasıl öğrenebilir?
parmak “oturum açmaAdı” …burada oturumAdı oturum açma adıdır
bilgileri beklenen kullanıcı.
18) $$ ve $! arasındaki fark nedir?
$$ şu anda yürütülen işlemin işlem kimliğini verirken $! Yakın zamanda arka plana geçen işlemin işlem kimliğini gösterir.
19) Zombi süreçleri nelerdir?
Bunlar ölen ancak çıkış durumu hala ana süreç tarafından seçilmeyen süreçlerdir. Bu süreçlerin, işlevsel olmasalar bile, süreç tablosunda yine de kendi süreç kimliği girişi vardır.
20) Bir dosyayı bir makineden diğerine nasıl kopyalayacaksınız?
Bir dosyayı bir makineden diğerine kopyalamak için “ftp”, “scp” veya “rsync” gibi yardımcı programları kullanabiliriz.
Örneğin ftp kullanarak:
FTP ana bilgisayar adı
> dosya1'i koy
>güle güle
Yukarıda, dosya1 dosyasını yerel sistemden ana bilgisayar adı belirtilen hedef sisteme kopyalar.
Deneyimliler için Shell Scripting Röportaj Soruları ve Cevapları
21) Sürekli güncellenen bir günlük dosyasını izlemek istiyorum, bunu en verimli şekilde gerçekleştirmek için hangi komut kullanılabilir?
tail –f dosya adını kullanabiliriz. Bu, dosyanın güncellenen bölümünü sürekli olarak gösteren std o/p'de yalnızca varsayılan son 10 satırın görüntülenmesine neden olur.
22) Uzak bir sunucuya bağlanıp bazı komutları çalıştırmak istiyorum, bunu nasıl başarabilirim?
Bunu yapmak için ssh kullanabiliriz:
ssh kullanıcı adı@sunucuIP -p sshport
Örnek E-posta
ssh kökü@122.52.251.171 -p 22
Yukarıdaki komut yürütüldüğünde, şifreyi girmeniz istenecektir.
23) 2 dosyam var ve her ikisinde de ortak olan kayıtları yazdırmak istiyorum.
“comm” komutunu şu şekilde kullanabiliriz:
comm -12 dosya1 dosya2 … 12, içeriği bastıracaktır
1'e özgüst ve 2nd sırasıyla dosya.
24) Fibonacci serisinin ilk 10 elemanını yazdıracak bir komut dosyası yazın.
#!/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) Linux'tan bir veritabanı sunucusuna nasıl bağlanacaksınız?
Açık istemci sürücüsüyle birlikte gelen isql yardımcı programını şu şekilde kullanabiliriz:
isql –S sunucuAdı –U kullanıcı adı –P şifre
26) Linux'taki 3 standart akış nedir?
0 – Standart Giriş1 – Standart Çıkış2 – Standart Hata
27) Dosya1'den komuta gelen tüm girdileri okumak, tüm çıktıları dosya2'ye ve hatayı dosya 3'e yönlendirmek istiyorum, bunu nasıl başarabilirim?
emretmek dosya1 1>dosya2
28) Exec kullanarak bir komut çalıştırdığımda mevcut sürecime ne olacak?
“exec” yeni çatallanmış süreci mevcut sürecin üzerine yerleştirir; bu nedenle komutu exec kullanarak çalıştırdığımda, komut herhangi bir yeni işlem oluşturmadan mevcut kabukta yürütülüyor.
Örneğin, Yürütme "exec ls"
komut isteminde ls yürütülecek ve ls çıktıktan sonra süreç kapanacak
29) wc –l'yi awk kullanarak nasıl taklit edeceksiniz?
awk 'END {print NR} fileName'
30) Verilen bir dosyada “ABC” kelimesini içeren satırların sayısını bulunuz.
grep –c “ABC” dosyası1
31) grep ve egrep arasındaki fark nedir?
egrep, “+” (önceki karakterin 1 veya daha fazla tekrarı),”?”(önceki karakterin 0 veya 1 tekrarı) ve “|” gibi ek grep özelliklerini destekleyen Genişletilmiş grep'tir. (alternatif eşleştirme)
32) Linux'ta dizi nasıl ayarlanır?
Ksh'daki sözdizimi:
Set –A arrayname= (element1 element2 ….. element) In bash A=(element1 element2 element3 …. elementn)
33) “for” döngüsünün sözdizimini yazın
Sözdizimi:
for iterator in (elements) do execute commands done
34) Belirli bir kullanıcının kullandığı toplam disk alanını nasıl bulacaksınız?
du -s /home/user1 ….burada kullanıcı1 kendisi için toplam disk alanının bulunması gereken kullanıcıdır.
35) Linux'ta “if” koşul cümlelerinin sözdizimini yazar mısınız?
Sözdizimi
If condition is successful then execute commands else execute commands fi
36) $'ın önemi nedir?
Komut $? yürütülen son komutun çıkış durumunu verir.
37) Bir dosyadaki tüm boş satırları nasıl sileriz?
sed '^ [(backslash)011(backslash)040]*$/d' file1
burada (ters eğik çizgi)011, boşluğun sekizlik eşdeğeridir ve
(ters eğik çizgi)040 sekmenin sekizlik eşdeğeridir
38) Her 100 satıra “ABCDEF” satırını nasıl ekleyeceğim?th bir dosyanın satırı?
sed '100i\ABCDEF' dosyası1
39) 2 günden daha kısa sürede değiştirilen tüm dosyaları bulmak ve her birinin kayıt sayısını yazdırmak için bir komut dizisi yazın.
bulmak . –mtime -2 –exec wc –l {} \;
40) Geçerli kabukta oluşturulan her dosyada tüm kullanıcılara varsayılan rwx iznini nasıl ayarlayabilirim?
Kullanabiliriz:
umask 777
Bu, her kullanıcı için oluşturulan her dosya için varsayılan rwx iznini ayarlayacaktır.
41) Süreç adını süreç kimliğinden nasıl bulabiliriz?
Biz kullanabilirsiniz "ps –p ProcessId"
42) Linux'taki her dosya sisteminin dört temel bileşeni nedir?
Bootblock, süper blok, inode bloğu ve Datablock, Linux'taki her dosya sisteminin temel bileşenleridir.
43) Önyükleme bloğu nedir?
Bu blok, sistemin başlatılması sırasında çekirdeği yükleyen “Ana Önyükleme Kaydı” (MBR) adı verilen küçük bir program içerir.
44) Süper blok nedir?
Süper blok, dosya sisteminin boyutu, boş veri bloklarının sayısı tarafından kullanılan blok boyutu ve boş düğümlerin ve veri bloklarının listesi gibi dosya sistemi hakkındaki tüm bilgileri içerir.
45) İnode bloğu nedir?
Bu blok, dosya sistemindeki her dosyanın inode'unu ve adı dışındaki tüm dosya niteliklerini içerir.
46) Sıkıştırılmış dosyayı ekte olarak mail olarak nasıl gönderebilirim?
zip file1.zip file1|mailx –s “subject” Alıcıların e-posta kimliği
E-posta içeriği
EOF
47) Kabukta komut takma adlarını nasıl oluştururuz?
alias Aliasname=”Takma adı oluşturulacak komut”.
48) Bir dosyanın “c” ve “b” izin alanları nelerdir?
“c” ve “b” izin alanları genellikle bir cihaz dosyasıyla ilişkilendirilir. Bir dosyanın özel karakter dosyası mı, yoksa blok özel dosyası mı olduğunu belirtir.
49) Shebang hattının kullanımı nedir?
Her betiğin üst kısmındaki Shebang satırı, betiği yürütmek için kullanılacak motorun konumunu belirler.
Bu mülakat soruları aynı zamanda yaşamınızda da yardımcı olacaktır.