50 parhaan komentosarjan komentosarjahaastattelukysymystä & Vastaukset

Anonim

Lataa PDF

1: Mikä on kuori?

Shell on käyttöliittymä käyttäjän ja ytimen välillä. Vaikka ydintä voi olla vain yksi; järjestelmässä voi olla useita kuoria samanaikaisesti. Joten aina kun käyttäjä syöttää komennon näppäimistön kautta, kuori kommunikoi ytimen kanssa sen suorittamiseksi ja näyttää sitten ulostulon käyttäjälle.

2: Mitkä ovat tyypillisesti käytetyn kuoren tyypit tyypillisessä Linux-järjestelmässä?

csh, ksh, bash, Bourne. Nykyisin yleisimmin käytetty ja edistyksellinen kuori on "Bash".

3: Mikä vastaa tiedoston pikakuvaketta, jolla on ikkuna Linux-järjestelmässä?

Pikanäppäimet luodaan "linkkien" avulla Linuxissa. On olemassa kahden tyyppisiä linkkejä, joita voidaan käyttää: "pehmeä linkki" ja "kova linkki".

4: Mikä on ero pehmeiden ja kovien linkkien välillä?

Pehmeät linkit ovat linkkejä tiedostonimiin ja voivat sijaita myös eri tiedostotiedoissa; kovat linkit ovat kuitenkin linkkejä tiedoston inodiin ja niiden on oltava samassa tiedostotiedostossa kuin tiedoston. Alkuperäisen tiedoston poistaminen tekee pehmeästä linkistä passiivisen (rikkinäinen linkki), mutta ei vaikuta kovaan linkkiin (Kova linkki käyttää edelleen tiedoston kopiota)

5: Kuinka välität argumentteja Linux-komentosarjaan ja miten niihin pääsee?

Argumentit voidaan välittää seuraavasti:

scriptName "Arg1" "Arg2"

…. "Argn" ja sitä voi käyttää komentosarjan sisällä nimellä $ 1, $ 2 ... $ n

6: Mikä on $ #: n merkitys?

$ # näyttää komentosarjalle lähetettyjen argumenttien määrän.

7: Mikä on ero $ *: n ja $ @: n välillä?

$ @ käsittelee jokaista lainattua argumenttia erillisinä argumentteina, mutta $ * pitää koko sijaintiparametrien joukkoa yhtenä merkkijonona.

8: Käytä sed-komentoa korvaamaan tiedoston sisältö (jäljitellä tac-komentoa)

Esimerkiksi:

if cat filleABCDEFGH

Sitten O / p: n pitäisi olla

EFGHABCD

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

Tässä G-komento liittyy kuviotilaan,

h-komento kopioi kuvapuskurin puskurin pitämiseksi

ja d-komento poistaa nykyisen kuviotilan.

9: Annettu tiedosto korvaa sanan "ABC" esiintyminen sanalla "DEF" viidennestä rivistä loppuun vain niillä riveillä, jotka sisältävät sanan "MNO"

sed -n '5,$p' file1|sed '/MNO/s/ABC/DEF/'

10: Kun olet antanut tiedoston, kirjoita komentosarja kunkin sanan määrän löytämiseksi.

tr -s "(backslash)040" 

"(taaksepäin viiva) 011" on oktaaliekvivalentti "sarkainmerkkiin" ja

"(Backslash) 012" on oktaalivastaava uuden rivin merkistä.

11: Miten löydät 99 : nnen rivin tiedoston vain hännän ja pään komento?

pyrstö +99 tiedosto1 | pää -1

12: Tulosta 10 : nnen linjan ilman häntää ja päätä komento.

sed -n '10p' file1

13: Haluan bash-kuoressani, että kehotukseni on muodossa '$ "Present working directory": "hostname"> ja ladaan tiedosto, joka sisältää luettelon käyttäjän määrittelemistä toiminnoista heti, kun kirjaudun sisään, kuinka automatisoit tämän ?

Bash shellissä voimme luoda ".profile" -tiedoston, joka käynnistetään automaattisesti heti, kun kirjaudun sisään ja kirjoitan siihen seuraavan syntaksin.

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

Tässä File1 on tiedosto, joka sisältää käyttäjän määrittelemät toiminnot ja "". kutsuu tämän tiedoston nykyiseen kuoreen.

14: Selitä tiedoston "s" -oikeusbitistä?

"s" bittiä kutsutaan "set user id" (SUID) bitiksi.

Tiedoston "s" -bitti saa prosessin saamaan tiedoston omistajan oikeudet ohjelman esiintymän aikana.

Esimerkiksi "passwd" -komennon suorittaminen nykyisen salasanan vaihtamiseksi saa käyttäjän kirjoittamaan uuden salasanansa varjotiedostoon, vaikka sen omistajana on "root".

15: Haluan luoda hakemiston siten, että kuka tahansa ryhmästä voi luoda tiedoston ja käyttää kenenkään siinä olevaa tiedostoa, mutta kenenkään ei pitäisi voida poistaa muuta kuin itse luomaa tiedostoa.

Voimme luoda hakemiston, joka antaa luku- ja suoritusoikeudet kaikille ryhmän jäsenille ja asettaa sen tahmean bitin "t" päälle seuraavasti:

mkdir direc1chmod g+wx direc1chmod +t direc1

16: Kuinka voit selvittää, kuinka kauan järjestelmä on ollut käynnissä?

Voimme löytää tämän käyttämällä komentoa "uptime".

17: Kuinka kukaan käyttäjä voi löytää kaikki tietyn käyttäjän tiedot, kuten oletuskuoren, tosielämän nimen, oletushakemiston, milloin ja kuinka kauan hän on käyttänyt järjestelmää?

finger "loginName"

… Missä loginName on

käyttäjä, jonka tietoja odotetaan.

18: Mitä eroa on $$: lla ja $: lla !?

$$ antaa parhaillaan suoritettavan prosessin prosessitunnuksen, kun taas $! Näyttää äskettäin taustalle menneen prosessin prosessitunnuksen.

19: Mitä ovat zombi-prosessit?

Nämä ovat prosesseja, jotka ovat kuolleet, mutta joiden poistumistilaa ei vieläkään valita pääprosessi. Näillä prosesseilla, vaikka ne eivät olekaan toimivia, on kuitenkin prosessitunnuksensa prosessitaulukossa.

20: Kuinka kopioit tiedoston koneelta toiselle?

Voimme käyttää apuohjelmia, kuten "ftp", "scp" tai "rsync" kopioidaksesi tiedoston koneelta toiselle.

Esim. Ftp: n käyttö:

FTP-isäntänimi

> laita tiedosto 1

> hei

Kopioiden yläpuolella tiedosto file1 paikallisesta järjestelmästä kohdejärjestelmään, jonka isäntänimi on määritetty.

21: Haluan seurata jatkuvasti päivittyvää lokitiedostoa, mitä komentoa voidaan käyttää tämän saavuttamiseksi tehokkaimmin?

Voimme käyttää tail -f-tiedostonimeä. Tämä aiheuttaa vain viimeisten 10 viimeisen rivin näyttämisen standardissa o / p, joka näyttää jatkuvasti tiedoston päivitettävän osan.

22: Haluan muodostaa yhteyden etäpalvelimeen ja suorittaa joitain komentoja, miten voin saavuttaa tämän?

Voimme käyttää ssh: tä tähän:

ssh käyttäjänimi @ serverIP -p sshport

Esimerkki

ssh Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset JavaScriptin käyttääksesi sitä. -p 22

Kun yllä oleva komento on suoritettu, sinua pyydetään antamaan salasana

23: Minulla on 2 tiedostoa ja haluan tulostaa molemmille yhteiset tietueet.

Voimme käyttää komentoa "comm" seuraavasti:

comm -12 file1 file2… 12 tukahduttaa sisällön, joka on

ainutlaatuinen 1 st ja 2 nd tiedosto vastaavasti.

24: Kirjoita käsikirjoitus Fibonacci-sarjan 10 ensimmäisen osan tulostamiseksi.

#!/bin/sha=1b=1echo $aecho $bfor I in 1 2 3 4 5 6 7 8doc=ab=$ab=$(($a+$c))echo $bdone

25: Kuinka muodostat yhteyden tietokantapalvelimeen Linuxista?

Voimme käyttää avoimen asiakasohjaimen mukana toimitettua isql-apuohjelmaa seuraavasti:

isql -S palvelimenNimi -U käyttäjänimi -P salasana

26: Mitkä ovat 3 standardivirtaa Linuxissa?

0 - vakiotulo1 - vakiolähtö2 - vakiovirhe

27: Haluan lukea kaikki komennon syötteet tiedostosta1, ohjata kaikki lähdöt tiedostoon 2 ja virhe tiedostoon 3, miten voin saavuttaa tämän?

komento tiedosto2 2> tiedosto3

28: Mitä tapahtuu nykyiselle prosessilleni, kun suoritan komennon käyttämällä execiä?

"exec" peittää uuden haarautuneen prosessin nykyiseen prosessiin; Joten kun suoritan komennon käyttämällä exec-komentoa, komento suoritetaan nykyisessä kuoressa luomatta uusia prosesseja.

Esim. "Exec ls" : n suorittaminen komentokehotteessa suorittaa ls: n ja kun ls poistuu, prosessi sammuu

29: Kuinka jäljität wc -l: ää awk: n avulla?

awk 'END {tulosta NR} tiedostonimi'

30: Kun tiedosto on löytynyt, etsi sanojen "ABC" sisältävien rivien määrä.

grep -c "ABC" -tiedosto1

31: Mitä eroa on grepillä ja egrepillä?

egrep on laajennettu grep, joka tukee lisättyjä grep-ominaisuuksia, kuten "+" (vähintään yksi edellisen merkin esiintymä), "?" (edellisen merkin 0 tai 1 esiintyminen) ja "|" (vaihtoehtoinen haku)

32: Kuinka tulostat järjestelmän kaikkien käyttäjien kirjautumisnimet?

/ etc / shadow-tiedostossa on kaikki käyttäjät.

awk -F ':' '{print $1}' /etc/shadow|uniq -u

33: Kuinka asettaa taulukko Linuxiin?

Syntaksi ksh: ssä:

Set -A arrayname= (element1 element2… element)In bashA=(element1 element2 element3… . elementn)

34: Kirjoita "for" -silmukan syntakse

Syntaksi:

for iterator in (elements)doexecute commandsdone

35: Kuinka löydät tietyn käyttäjän käyttämän levytilan kokonaismäärän?

du -s / home / user1…. missä user1 on käyttäjä, jolle koko levytila ​​on löydettävä.

36: Kirjoitetaanko "if" -ehtojen syntaksit Linuxiin?

Syntaksi

If condition is successfulthenexecute commandselseexecute commandsfi

37: Mikä on dollarin merkitys?

Komento $? antaa viimeisen suoritetun komennon poistumistilan.

38: Kuinka poistamme kaikki tyhjät rivit tiedostosta?

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

missä (taaksepäin viiva) 011 on oktaaliekvivalentti tilaa ja

(taaksepäin viiva) 040 on välilehden oktaalivastaava

39: Miten voin asettaa linja "ABCDEF" jokaisella 100 : nnen rivin tiedoston?

sed '100i \ ABCDEF' -tiedosto1

40: Kirjoita komentosarja löytääksesi kaikki alle 2 päivässä muokatut tiedostot ja tulosta niiden tietueiden määrä.

löytö . -mtime -2 -exec wc -l {} \;

41: Kuinka voin asettaa oletusarvoisen rwx-oikeuden kaikille käyttäjille jokaiselle tiedostolle, joka luodaan nykyiseen kuoreen?

Voimme käyttää:

umask 777

Tämä asettaa oletusarvoisen rwx-oikeuden jokaiselle käyttäjälle luotavalle tiedostolle.

42: Kuinka voimme löytää prosessin nimen sen prosessitunnuksesta?

Voimme käyttää "ps -p ProcessId"

43: Mitkä ovat jokaisen Linux-tiedostojärjestelmän neljä peruskomponenttia?

Bootblock, super block, inode block ja Datablock löytyvät kaikkien Linux-tiedostojärjestelmien perustekijöistä.

44: Mikä on käynnistyslohko?

Tämä lohko sisältää pienen ohjelman nimeltä "Master Boot record" (MBR), joka lataa ytimen järjestelmän käynnistyksen yhteydessä.

45: Mikä on superlohko?

Superlohko sisältää kaikki tiedostojärjestelmää koskevat tiedot, kuten tiedostojärjestelmän koon, sen ilmaisten datalohkojen lukumäärän käyttämän lohkokoon sekä luettelon ilmaisista inodeista ja datalohkoista.

46: Mikä on inodilohko?

Tämä lohko sisältää jokaisen tiedostojärjestelmän tiedoston inodin ja kaikki tiedostomääritteet paitsi sen nimen.

47: Kuinka voin lähettää sähköpostin, jonka liitteenä on pakattu tiedosto?

zip file1.zip file1 | mailx -s "aihe" Vastaanottajien sähköpostiosoite

Sähköpostin sisältö

EOF

48: Kuinka luomme komento aliaksia kuoressa?

alias Aliasname = "Komento, jonka alias on luotava".

49: Mitkä ovat tiedoston c- ja b-käyttöoikeuskentät?

"c" - ja "b" -käyttöoikeuskentät liitetään yleensä laitetiedostoon. Se määrittää, onko tiedosto erikoismerkkitiedosto vai lohkon erikoistiedosto.

50: Mitä hyötyä on shebang-viivasta?

Jokaisen komentosarjan yläosassa oleva Shebang-viiva määrittää sen moottorin sijainnin, jota käytetään komentosarjan suorittamiseen.