26 Pytania i odpowiedzi dotyczące skryptów Shell, które trzeba przeczytać [Dla nowicjuszy i doświadczonych]

Opublikowany: 2020-12-17

Powłoka to interpreter wiersza poleceń lub kompletne środowisko przeznaczone do uruchamiania poleceń, skryptów powłoki i programów. Gdy wprowadzisz polecenia do powłoki, uruchomi ona program na podstawie wprowadzonych danych.

Zasadniczo tłumaczy polecenia wejściowe i konwertuje je na język zgodny z jądrem. Skrypt powłoki odnosi się do listy poleceń w programie uruchamianym przez powłokę Unix. Skrypt zawiera komentarze definiujące komendy w kolejności ich wykonywania.

Jeśli wprowadzenie sprawia, że ​​chcesz dowiedzieć się więcej o Shell Scripting, przewijaj do końca – przygotowaliśmy listę pytań i odpowiedzi do wywiadów dotyczących Shell Scripting, które pomogą Ci rozpocząć proces uczenia się! Jeśli chcesz dowiedzieć się więcej na temat nauki o danych, zapoznaj się z naszymi kursami z nauki o danych.

Spis treści

Pytania i odpowiedzi dotyczące skryptów Shell

  1. Jakie są zalety skryptów Shell?

Największe zalety skryptów Shell to:

  • Umożliwia stworzenie niestandardowego systemu operacyjnego, który najlepiej odpowiada Twoim wymaganiom.
  • Umożliwia projektowanie aplikacji w oparciu o platformę, z której korzystasz.
  • Oszczędza czas, ponieważ pomaga zautomatyzować zadania administracyjne systemu.

2. Co to są zmienne powłoki?

Zmienne powłoki stanowią podstawową część programu lub skryptu powłoki. Zmienne umożliwiają Shellowi przechowywanie i manipulowanie informacjami w programie Shell. Zmienne powłoki są zwykle przechowywane jako zmienne łańcuchowe.

3. Wymień typy zmiennych używanych w skryptach powłoki.

Zwykle skrypt powłoki ma dwa typy zmiennych:

  • Zmienne zdefiniowane przez system — są tworzone przez system operacyjny (Linux) i są definiowane dużymi literami. Możesz je przeglądać za pomocą polecenia Ustaw.
  • Zmienne zdefiniowane przez użytkownika — są tworzone i definiowane przez użytkowników systemu. Możesz wyświetlić wartości zmiennych za pomocą polecenia Echo.
  1. Jak sprawić, by zmienna była niezmienna?

Możesz uczynić zmienną niezmienną, używając tylko do odczytu. Załóżmy, że chcesz, aby wartość zmiennej „a” pozostała jako pięć i była stała, więc używasz tylko do odczytu w ten sposób:

$a=5

$ tylko do odczytu a

  1. Nazwij różne rodzaje pocisków.

Istnieją cztery podstawowe typy pocisków, a mianowicie:

  • Muszla Bourne'a (sh)
  • Powłoka C (csh)
  • Powłoka Korna (ksh)
  • Bourne Again Shell (bash)
  1. Wyjaśnij „Parametry pozycyjne”.

Parametry pozycyjne to zmienne zdefiniowane przez powłokę. Służą do przekazywania informacji do programu poprzez podanie argumentów w wierszu poleceń.

  1. Ile powłok i jąder jest dostępnych w środowisku UNIX?

Zazwyczaj środowisko UNIX ma tylko jedno jądro. Dostępnych jest jednak wiele pocisków.

  1. Czy potrzebujesz osobnego kompilatora do wykonania programu Shell?

Nie, nie potrzebujesz osobnego kompilatora do wykonania programu powłoki. Ponieważ sam Shell jest wierszem poleceń w programie powłoki i je wykonuje.

  1. Jak modyfikować uprawnienia do plików w skryptach powłoki?

Możesz modyfikować uprawnienia do plików za pomocą umask.

  1. Co oznacza „.” (kropka) na początku nazwy pliku wskazuje?

Nazwa pliku rozpoczynająca się od „.” jest plikiem ukrytym. Zwykle, gdy próbujesz wyświetlić listę plików w powłoce, wyświetla ona wszystkie pliki z wyjątkiem plików ukrytych. Jednak ukryte pliki są obecne w katalogu. Jeśli chcesz wyświetlić ukryte pliki, musisz uruchomić polecenie Is z flagą „–a”.

  1. Jak stworzyć skrót w Linuksie?

Możesz tworzyć skróty w Linuksie za pomocą dwóch linków:

Twardy link — te linki są połączone z i-węzłem pliku. Są one zawsze obecne w tym samym systemie plików, co plik. Nawet jeśli usuniesz oryginalny plik, twardy link pozostanie nienaruszony.

Miękkie łącze — te łącza są połączone z nazwą pliku. Mogą, ale nie muszą, znajdować się w tym samym systemie plików, co plik. Jeśli usuniesz oryginalny plik, miękkie łącze staje się nieaktywne.

12. Nazwij poszczególne etapy procesu Linuksa.

Zazwyczaj proces Linuksa przechodzi przez cztery fazy:

  • Oczekiwanie — na tym etapie proces systemu Linux musi czekać na wymagany zasób.
  • Uruchomiony — na tym etapie proces jest wykonywany.
  • Zatrzymany — po pomyślnym wykonaniu proces systemu Linux zostaje zatrzymany.
  • Zombie – W ostatnim kroku, nawet jeśli proces już nie jest uruchomiony, pozostaje aktywny w tabeli procesów.
  1. Czy istnieje alternatywne polecenie dla „echa”?

Tak, tput jest alternatywą dla polecenia echo. Polecenie tput pozwala kontrolować, w jaki sposób dane wyjściowe będą wyświetlane na ekranie.

  1. Ile bloków zawiera system plików?

System plików składa się z czterech bloków:

  • Superblock — ten blok oferuje informacje o stanie systemu plików, takie jak rozmiar bloku, rozmiar grupy bloków, informacje o użyciu, puste/wypełnione bloki i ich odpowiednie liczby, rozmiar i lokalizacja tabel i-węzłów itp.
  • Bootblock — ten blok zawiera program ładujący, który jest wykonywany, gdy użytkownik uruchamia komputer hosta.
  • Datablock — ten blok zawiera zawartość pliku systemu plików.
  • Tablica i-węzłów — UNIX traktuje wszystkie elementy jako pliki, a wszystkie informacje związane z plikami są przechowywane w tablicy i-węzłów.

Koniecznie przeczytaj: Pytania do rozmowy kwalifikacyjnej w Pythonie

  1. Wymień trzy tryby działania edytora vi.

Trzy tryby działania to:

  • Tryb poleceń — ten tryb traktuje i interpretuje każdy klawisz naciśnięty przez użytkownika jako polecenia edytora.
  • Tryb wstawiania — możesz użyć tego trybu, aby wstawić nowy tekst, edytować istniejący tekst itp.
  • Tryb Ex-command — użytkownik może wprowadzać wszystkie polecenia w wierszu poleceń.
  1. Zdefiniuj „Instrukcje sterujące”. Ile typów instrukcji sterujących jest dostępnych w powłoce?

Instrukcje sterujące to polecenia, które pozwalają określić sposób wykonywania różnych instrukcji w skrypcie. Dlatego ich głównym celem jest określenie przepływu sterowania w programie Shell.

Powłoka ma cztery rodzaje instrukcji sterujących:

  • Instrukcja kontroli sekwencji wymusza wykonanie instrukcji w tej samej kolejności, w jakiej są w programie.
  • Instrukcja sterowania wyborem/decyzją, która umożliwia komputerowi określenie, która instrukcja powinna zostać wykonana jako następna.
  • Instrukcja kontroli powtarzania/pętli, która pozwala komputerowi na powtarzalne uruchamianie grupy instrukcji.
  • Instrukcja sterowania przypadkiem jest używana, gdy trzeba wybrać z szeregu alternatyw.
  1. Zdefiniuj „IFS”.

IFS odnosi się do wewnętrznego separatora pola. Jest to zmienna systemowa, której wartością domyślną jest spacja, tabulator, po którym następuje nowy wiersz. IFS oznacza, gdzie pole lub słowo kończy się w jednej linii, a gdzie zaczyna się inne.

  1. Zdefiniuj „metaznaki”.

Powłoka składa się z metaznaków, które są znakami specjalnymi w polu danych lub programie, który oferuje informacje o innych znakach. Na przykład polecenie „ls s*” w powłoce wyświetla listę wszystkich plików zaczynających się od znaku „s”.

  1. Rozróżnij $* i $@.

Podczas gdy $* traktuje kompletną grupę parametrów pozycyjnych jako pojedynczy ciąg, $@ traktuje każdy argument w cudzysłowie jako oddzielne argumenty.

Przeczytaj także: Wynagrodzenie programisty Pythona w Indiach

21. Napisz składnię pętli while w skryptach powłoki.

W skryptach powłoki pętla while jest używana, gdy chcesz kilkakrotnie powtórzyć jej blok poleceń. Składnia pętli „while” to:

while [warunek testowy]

robić

polecenia…

gotowy

  1. Czym różnią się polecenia przerywania i kontynuowania?

Polecenie break służy do wyjścia z pętli podczas wykonywania. Możesz użyć polecenia break, aby wyjść z dowolnego polecenia pętli, w tym pętli until i while. Z drugiej strony polecenie Continue służy do wyjścia z bieżącej iteracji pętli bez opuszczania całej pętli.

23. Dlaczego używamy linii Shebang w skryptach Shell?

Linia Shebang znajduje się na górze skryptu/programu Shell. Informuje użytkownika o lokalizacji silnika, który wykonuje skrypt.

Oto przykład linii Shebang:

#!/kosz/sz

ct $1

  1. Czy możesz wykonać wiele skryptów w powłoce?

Tak, możliwe jest wykonanie wielu skryptów w powłoce. Wykonywanie wielu skryptów pozwala na wywołanie jednego skryptu z innego. Aby to zrobić, musisz podać nazwę skryptu, który ma być wywołany, gdy chcesz go wywołać.

  1. Którego polecenia należy użyć, aby wiedzieć, jak długo działa system?

Musisz użyć polecenia uptime, aby wiedzieć, jak długo działa system. Oto przykład polecenia uptime:

u/user1/Shell_Scripts_2018> czas pracy

  1. Którego polecenia należy użyć, aby sprawdzić użycie dysku?

Możesz użyć następujących trzech poleceń, aby sprawdzić użycie dysku:

  • df – Służy do sprawdzania wolnego miejsca na dysku.
  • du – Służy do sprawdzania wykorzystania dysku pod kątem katalogów.
  • dfspace – Sprawdza wolne miejsce na dysku w megabajtach (MB).

27. Co masz na myśli przez Crontab?

Crontab to skrót od tabeli cron, gdzie Cron to harmonogram zadań, który wykonuje zadania. Crontab to lista poleceń, które chcesz uruchomić zgodnie z harmonogramem, wraz z poleceniem, którego chcesz użyć do zarządzania tą listą.

28. Kiedy nie powinniśmy używać skryptów powłoki?

Nie powinniśmy używać skryptów powłoki w tych przypadkach:

  • Jeśli zadanie jest bardzo skomplikowane, na przykład napisanie kompletnego rozwiązania do przetwarzania listy płac, nie powinniśmy używać skryptów powłoki.
  • Jeśli praca wymaga wysokiego poziomu produktywności, nie powinniśmy używać skryptów powłoki.
  • Jeśli praca wymaga wielu rozwiązań programowych, nie powinniśmy używać skryptów powłoki.

29. Jak porównać ciągi w skrypcie powłoki?

Używamy polecenia test do porównania ciągów tekstowych. Porównuje ciągi tekstowe, porównując każdy znak obecny w każdym ciągu.

Przeczytaj: Pytania do wywiadu z inżynierem danych

30. Co rozumiesz przez system plików?

System plików to zbiór plików wraz z informacjami z nimi związanymi. Kontroluje sposób pobierania i przechowywania danych. Bez systemów plików dane znajdujące się w pamięci byłyby tylko dużym zbiorem danych bez możliwości określenia, gdzie kończy się jeden element danych, a zaczyna inny.

31. Czy można odróżnić cudzysłowy pojedyncze od cudzysłowów podwójnych?

TAk. Używamy pojedynczych cudzysłowów, w których nie chcemy przeprowadzać oceny zmiennych do wartości. Z drugiej strony używamy podwójnych cudzysłowów, w których chcemy dokonać oceny zmiennych do wartości.

32. Co masz na myśli przez skrypty GUI?

Używamy GUI do sterowania komputerem i jego aplikacjami. Dzięki skryptom GUI możemy obsługiwać różne aplikacje, w zależności od systemu operacyjnego.

33. Co wiesz o skryptach Super Block in Shell?

Super Block to program, który ma zapis poszczególnych systemów plików. Zawiera cechy, w tym rozmiar bloku, wypełnione i puste bloki z ich odpowiednimi liczbami, lokalizację i rozmiar tabel i-węzłów, informacje o użyciu, mapę bloków dysku itp.

34. Jakie jest znaczenie linii Shebang?

Linia Shebang pozostaje na szczycie scenariusza. Podaje informacje o lokalizacji, w której znajduje się silnik, który wykonuje skrypt.

35. Podaj niektóre z najpopularniejszych poleceń systemu UNIX.

Oto niektóre z najpopularniejszych poleceń systemu UNIX:

  • cd — polecenie cd zmienia katalog na katalog domowy użytkownika, gdy jest używane jako $ cd. Możesz go użyć do zmiany katalogu do testowania za pomocą $ cd test.
  • ls – Polecenie ls wyświetla listę plików w bieżącym katalogu, gdy jest używane jako $ ls. Możesz go używać do nagrywania plików w długim formacie, używając go jako $ ls -lrt.
  • rm – Polecenie rm usunie plik o nazwie plikA, gdy użyjesz go jako $ rm plikA.
  • cat – To polecenie wyświetli zawartość pliku, gdy użyjesz go jako $ cat nazwa pliku.
  • mv – Polecenie mv może zmieniać nazwy lub przenosić pliki. Na przykład polecenie $ mv plikA plikB przeniesie pliki o nazwach plikA i plikB.
  • date – Polecenie date pokazuje aktualną godzinę i datę.
  • grep — polecenie grep może wyszukiwać określone informacje w pliku. Na przykład polecenie $ grep Hello fileA wyszukałoby wiersze, w których występuje słowo „Hello”.
  • finger – Polecenie finger wyświetla informacje o użytkowniku.
  • ps - Polecenie ps pokazuje procesy aktualnie uruchomione na twoim komputerze.
  • man — polecenie man wyświetla pomoc online lub instrukcję dotyczącą określonego polecenia. Na przykład polecenie $ ms rm wyświetli podręcznik online dotyczący polecenia rm.
  • pwd – Polecenie pwd pokazuje bieżący katalog roboczy.
  • wc – Polecenie wc zlicza liczbę znaków, słów i linii znajdujących się w pliku.
  • historia — polecenie historii wyświetla listę wszystkich ostatnio używanych poleceń.
  • gzip – Komenda gzip kompresuje określony plik. Na przykład polecenie $ gzip fileA skompresuje plik A i zmieni go w plik A.gz.
  • logname – Polecenie logname wyświetli nazwę logu użytkownika.
  • head – Polecenie head pokazuje pierwsze linie obecne w pliku. Na przykład polecenie $ head -15 fileA wyświetli pierwszych 15 wierszy pliku fileA.

Dodatkowe uwagi: To jedno z najważniejszych pytań do rozmowy o skryptach Shell. Zalecamy przygotowanie bardziej szczegółowej listy poleceń systemu UNIX, ponieważ wiele wersji tego pytania jest zadawanych w wywiadach.

Koniecznie przeczytaj: pytania do wywiadu dotyczącego analizy danych

36. W jaki sposób C Shell jest lepszy niż Bourne Shell?

C Shell jest lepszy niż Bourne Shell z następujących powodów:

  • Powłoka C pozwala aliasować polecenia. Oznacza to, że użytkownik może nadać poleceniu dowolną nazwę. Jest to bardzo korzystne, gdy użytkownik musi wielokrotnie użyć długiego polecenia. Zamiast wielokrotnie wpisywać długą nazwę polecenia, użytkownik może wpisać przypisaną nazwę. Oszczędza dużo czasu i energii, dzięki czemu proces jest znacznie bardziej wydajny.
  • C Shell ma funkcję historii poleceń, w której C Shell zapamiętuje wszystkie poprzednio używane polecenia. Możesz użyć tej funkcji, aby uniknąć wielokrotnego wpisywania tego samego polecenia. Znacznie poprawia wydajność.

Z dwóch powyższych powodów korzystanie z C Shell jest znacznie korzystniejsze niż Bourne Shell.

37. Co jest niezbędne do pisania skryptów powłoki?

Skrypty powłoki mają wiele zalet, które sprawiają, że są kluczowe. Pobiera dane wejściowe od użytkowników, zapisuje je i wyświetla na ekranie. Co więcej, pozwala tworzyć własne polecenia i automatyzować proste codzienne zadania. Skryptów powłoki można używać również do automatyzacji zadań administracyjnych systemu. Skrypty powłoki usprawniają procesy, oszczędzając dużo energii i czasu. Z tego powodu jest dość istotny i szeroko stosowany.

Wniosek

Mamy nadzieję, że te 26 pytań i odpowiedzi dotyczących Shell Scripting pomogą Ci przełamać lody w Shell Scripting i przygotować się do następnej rozmowy kwalifikacyjnej!

Jeśli jesteś zainteresowany nauką o danych, sprawdź program IIIT-B i upGrad Executive PG w dziedzinie Data Science, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami z branży, 1 -on-1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.

Co to są skrypty powłoki?

Skrypty powłoki to proces pisania skryptów/kodów w celu automatyzacji monotonnych zadań. Zamiast wpisywać polecenia jedno po drugim n razy, możesz zbudować skrypt automatyzujący serię instrukcji, które są uruchamiane jedna po drugiej. Zasadniczymi etapami tworzenia skryptów powłoki jest napisanie skryptu, udostępnienie go powłoce i nadanie uprawnień do wykonywania powłoki. Skrypty powłoki są napisane w tekście ASCII i zawierają tekst ASCII. Są tworzone za pomocą edytora tekstu, edytora tekstu lub graficznego interfejsu użytkownika (GUI). Zawartość skryptu składa się z sekwencji poleceń napisanych w języku zrozumiałym dla powłoki. Po zakończeniu plik jest zapisywany z rozszerzeniem i w miejscu dostępnym dla powłoki.

Jakie są zastosowania skryptów powłoki?

Skrypty powłoki są łatwe i skuteczne. Wykorzystuje tę samą składnię w skrypcie, co w wierszu poleceń powłoki, eliminując wszelkie niejasności. Skrypt powłoki jest przydatny w przypadku powtarzających się czynności, których wykonanie zajęłoby zbyt dużo czasu przy wprowadzaniu jednej linii na raz. Użytkownicy mogą używać skryptów powłoki do różnych celów, takich jak automatyzacja procesu kompilacji kodu, uruchamianie programu lub tworzenie środowiska programistycznego, uzupełnianie wsadu i manipulowanie plikami, a także łączenie istniejących programów, wykonywanie rutynowych kopii zapasowych i monitorowanie systemów.

Czy skrypty powłoki to dobry zawód?

Skrypty powłoki są używane w różnych dziedzinach, takich jak automatyzacja, programowanie, zadania związane z administracją systemu, automatyzacja aplikacji, konfiguracja pakietów, automatyzacja walidacji, tworzenie kopii zapasowych i przywracanie danych w systemie itp. Tak więc skrypty powłoki są istotną częścią działu IT każdej firmy . Jest również pomocny w całej karierze IT danej osoby. Ze średnią pensją 6,39 000 jenów rocznie, skrypty Shell to dobry zawód, z wieloma perspektywami dla swoich uczniów. Większość specjalistów IT używa go na co dzień do skromnych, zautomatyzowanych zadań, ponieważ pozwala zaoszczędzić dużo czasu.