50 otázek a odpovědí na rozhovor o skriptování prostředí (2026)
Otázky a odpovědi na rozhovory o skriptování Linuxu Shell
1) Co je to skořápka?
Shell je rozhraní mezi uživatelem a jádrem. I když může existovat pouze jedno jádro; systém může mít spuštěno mnoho shellů současně. Takže kdykoli uživatel zadá příkaz přes klávesnici, shell komunikuje s jádrem, aby jej provedl a poté zobrazil výstup uživateli.
👉 Zdarma ke stažení PDF: Otázky a odpovědi na rozhovory se skriptováním Shell
2) Co je Shell Scripting?
Shell skriptování je počítačový program s otevřeným zdrojovým kódem navržený pro běh v prostředí Unix/Linux. Shell Scripting je program pro psaní řady příkazů, které má shell provést. Může kombinovat dlouhé a opakující se sekvence příkazů do jediného a jednoduchého skriptu, který lze uložit a spustit kdykoli, což snižuje úsilí při programování.
.jpg)
3) Jaké jsou různé typy běžně používaných shellů na typickém systému Linux?
csh,ksh,bash,Bourne. Nejběžněji používaným a pokročilým shellem používaným dnes je „Bash“.
4) Co je ekvivalentem zástupce souboru, že máme okno v systému Linux?
Zkratky se v Linuxu vytvářejí pomocí „odkazů“. Existují dva typy odkazů, které lze použít, a to „soft link“ a „hard link“.
5) Jaký je rozdíl mezi měkkými a pevnými odkazy?
Měkké odkazy jsou odkazy na název souboru a mohou se nacházet také v různých souborových systémech; pevné odkazy jsou však odkazy na inode souboru a musí být na stejném souborovém systému jako soubor. Smazáním původního souboru se měkký odkaz stane neaktivním (nefunkční odkaz), ale pevný odkaz neovlivní (pevný odkaz bude stále přistupovat ke kopii souboru)
6) Jak budete v Linuxu předávat a přistupovat k argumentům skriptu?
Argumenty lze předat jako:
název skriptu “Arg1” “Arg2″….”Argn” a lze k němu ve skriptu přistupovat jako $1 , $2 .. $n
7) Jaký je rozdíl mezi $* a $@?
$@ považuje každý argument v uvozovkách za samostatný argument, ale $* bude považovat celou sadu pozičních parametrů za jeden řetězec.
8) Použijte příkaz sed k nahrazení obsahu souboru (emulujte příkaz tac)
Např:
if cat fille ABCD EFGH
Pak by mělo být O/p
EFGH
ABCD
sed '1! G; h;$!d' file1
Zde se příkaz G připojí k prostoru vzoru,
Příkaz h zkopíruje vyrovnávací paměť vzorů do vyrovnávací paměti
a příkaz d vymaže aktuální vzorový prostor.
9) V souboru nahraďte všechny výskyty slova „ABC“ výrazem „DEF“ z 5th řádek až do konce pouze v těch řádcích, které obsahují slovo „MNO“
sed –n '5,$p' file1|sed '/MNO/s/ABC/DEF/'
10) Zadaný soubor, napište sekvenci příkazů, abyste zjistili počet každého slova.
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"
„(obrácené lomítko)011“ je osmičkový ekvivalent „znaku tabulátoru“ a
„(obrácené lomítko)012“ je osmičkový ekvivalent znaku nového řádku.
11) Jak najdete 99th řádek souboru pomocí pouze příkazu tail a head?
ocas +99 soubor1|hlava -1
12) Vytiskněte 10th linka bez použití ocasu a hlavy příkazu.
sed –n '10p' file1
13) V mém bash shell chci, aby můj prompt byl ve formátu '$”Present working directory”:”hostname”> a načetl soubor obsahující seznam uživatelsky definovaných funkcí, jakmile se přihlásím, jak to zautomatizujete ?
V bash shellu můžeme vytvořit soubor „.profile“, který se automaticky vyvolá, jakmile se přihlásím a napíšu do něj následující syntaxi.
export PS1='$ `pwd`:`hostname`>' .File1
Zde File1 je soubor obsahující uživatelem definované funkce a „.“ vyvolá tento soubor v aktuálním shellu.
14) Vysvětlete bit oprávnění „s“ v souboru?
Bit „s“ se nazývá bit „set user id“ (SUID).
Bit „s“ na souboru způsobí, že proces bude mít během instance programu oprávnění vlastníka souboru.
Například provedení příkazu „passwd“ pro změnu aktuálního hesla způsobí, že uživatel zapíše své nové heslo do stínového souboru, i když má jako vlastníka „root“.
15) Chci vytvořit adresář, aby kdokoli ve skupině mohl vytvořit soubor a přistupovat k souboru libovolné osoby v něm, ale nikdo by neměl mít možnost smazat jiný soubor než ten, který sám vytvořil.
Můžeme vytvořit adresář poskytující přístup ke čtení a spouštění všem ve skupině a nastavit jeho lepivý bit „t“ následovně:
mkdir direc1 chmod g+wx direc1 chmod +t direc1
16) Jak můžete zjistit, jak dlouho systém běží?
To zjistíme pomocí příkazu „uptime“.
17) Jak může každý uživatel zjistit všechny informace o konkrétním uživateli, jako je jeho výchozí shell, skutečné jméno, výchozí adresář, kdy a jak dlouho systém používá?
finger “loginName” …kde loginName je přihlašovací jméno pro
uživatele, jehož informace jsou očekávány.
18) Jaký je rozdíl mezi $$ a $!?
$$ udává ID procesu aktuálně prováděného procesu, zatímco $! Zobrazuje ID procesu, který nedávno přešel do pozadí.
19) Co jsou zombie procesy?
Toto jsou procesy, které zemřely, ale jejichž stav ukončení stále není vybrán nadřazeným procesem. Tyto procesy, i když nejsou funkční, stále mají svůj záznam id procesu v tabulce procesů.
20) Jak zkopírujete soubor z jednoho počítače na druhý?
Ke kopírování souboru z jednoho počítače na druhý můžeme použít nástroje jako „ftp“, „scp“ nebo „rsync“.
Například pomocí ftp:
Název hostitele FTP
> dát soubor1
> ahoj
Výše zkopíruje soubor file1 z místního systému do cílového systému, jehož název hostitele je zadán.
Otázky a odpovědi pro zkušené v rozhovoru pro skriptování Shell
21) Chci sledovat průběžně aktualizovaný soubor protokolu, jaký příkaz lze použít, abych toho dosáhl nejúčinněji?
Můžeme použít tail –f filename. To způsobí, že se na std o/p zobrazí pouze výchozích posledních 10 řádků, které průběžně zobrazují aktualizační část souboru.
22) Chci se připojit ke vzdálenému serveru a provést nějaké příkazy, jak toho mohu dosáhnout?
K tomu můžeme použít ssh:
ssh uživatelské jméno@serverIP -p sshport
Příklad
ssh root@122.52.251.171 -p 22
Po provedení výše uvedeného příkazu budete požádáni o zadání hesla
23) Mám 2 soubory a chci vytisknout záznamy, které jsou pro oba společné.
Příkaz „comm“ můžeme použít následovně:
comm -12 soubor1 soubor2 … 12 potlačí obsah, který je
jedinečné pro 1st a 2nd souboru resp.
24) Napište skript pro tisk prvních 10 prvků Fibonacciho série.
#!/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) Jak se připojíte k databázovému serveru z Linuxu?
Můžeme použít nástroj isql, který je dodáván s otevřeným klientským ovladačem takto:
isql –S název_serveru –U uživatelské jméno –P heslo
26) Jaké jsou 3 standardní streamy v Linuxu?
0 – Standardní vstup1 – Standardní výstup2 – Standardní chyba
27) Chci číst všechny vstupy do příkazu ze souboru1 nasměrovat veškerý výstup do souboru2 a chybu do souboru 3, jak toho mohu dosáhnout?
příkaz soubor1 1>soubor2
28) Co se stane s mým aktuálním procesem, když provedu příkaz pomocí exec?
„exec“ překryje nově rozvětvený proces na aktuální proces; takže když spustím příkaz pomocí exec, příkaz se provede v aktuálním prostředí, aniž by se vytvářely nové procesy.
Např. Provádění "exec ls" na příkazovém řádku spustí ls a jakmile ls skončí, proces se vypne
29) Jak budete emulovat wc –l pomocí awk?
awk 'END {print NR} fileName'
30) V daném souboru najděte počet řádků obsahujících slovo „ABC“.
grep –c „ABC“ soubor1
31) Jaký je rozdíl mezi grep a egrep?
egrep je rozšířený grep, který podporuje přidané funkce grep jako „+“ (1 nebo více výskytů předchozího znaku),“?“ (0 nebo 1 výskyt předchozího znaku) a „|“ (alternativní shoda)
32) Jak nastavit pole v Linuxu?
Syntaxe v ksh:
Set –A arrayname= (element1 element2 ….. element) In bash A=(element1 element2 element3 …. elementn)
33) Zapište si syntaxi smyčky „for“.
Syntaxe:
for iterator in (elements) do execute commands done
34) Jak zjistíte celkové místo na disku použité konkrétním uživatelem?
du -s /home/user1 ….kde uživatel1 je uživatel, pro kterého je třeba najít celkové místo na disku.
35) Napište syntaxi podmínek „if“ v Linuxu?
Syntax
If condition is successful then execute commands else execute commands fi
36) Jaký je význam $?
Příkaz $? udává stav ukončení posledního příkazu, který byl proveden.
37) Jak odstraníme všechny prázdné řádky v souboru?
sed '^ [(backslash)011(backslash)040]*$/d' file1
kde (zpětné lomítko)011 je osmičkový ekvivalent mezery a
(zpětné lomítko)040 je osmičkový ekvivalent tabulátoru
38) Jak vložím řádek „ABCDEF“ na každých 100th řádek souboru?
sed soubor '100i\ABCDEF'1
39) Napište sekvenci příkazů pro nalezení všech souborů upravených za méně než 2 dny a vytiskněte počet záznamů každého z nich.
najít . –mtime -2 –exec wc –l {} \;
40) Jak mohu nastavit výchozí oprávnění rwx pro všechny uživatele u každého souboru, který je vytvořen v aktuálním prostředí?
Můžeme použít:
umask 777
Tím nastavíte výchozí oprávnění rwx pro každý soubor, který je vytvořen pro každého uživatele.
41) Jak zjistíme název procesu z jeho id procesu?
Můžeme použít "ps –p ProcessId"
42) Jaké jsou čtyři základní součásti každého souborového systému v Linuxu?
Bootblock, super block, inode block a Datablock jsou základní komponenty každého souborového systému na Linuxu.
43) Co je spouštěcí blok?
Tento blok obsahuje malý program nazvaný „Master Boot Record“ (MBR), který načte jádro během spouštění systému.
44) Co je to superblok?
Super blok obsahuje všechny informace o systému souborů, jako je velikost systému souborů, velikost bloku použitá počtem volných datových bloků a seznam volných inodů a datových bloků.
45) Co je to blok inodů?
Tento blok obsahuje inode pro každý soubor systému souborů spolu se všemi atributy souboru kromě jeho názvu.
46) Jak mohu odeslat e-mail s komprimovaným souborem jako přílohou?
zip soubor1.zip soubor1|mailx –s “předmět” E-mailové ID příjemců
E-mailový obsah
EOF
47) Jak vytvoříme aliasy příkazů v shellu?
alias Aliasname=”Příkaz, jehož alias má být vytvořen”.
48) Co jsou pole oprávnění „c“ a „b“ souboru?
"c" a "b" pole oprávnění jsou obecně spojeny se souborem zařízení. Určuje, zda se jedná o soubor se speciálními znaky nebo o blokový speciální soubor.
49) K čemu slouží linie shebang?
Řádek Shebang v horní části každého skriptu určuje umístění enginu, který má být použit ke spuštění skriptu.
Tyto otázky na pohovoru také pomohou ve vašem životě (ústních)
