Kirjoittaja Aihe: lspci | grep Eth*  (Luettu 1620 kertaa)

Pendeli

  • Käyttäjä
  • Viestejä: 858
    • Profiili
lspci | grep Eth*
« : 21.09.14 - klo:13.27 »
Kuinka otsikon komentoa pitäisi käyttää  ja tarkoitan nimenomaan jos  tuo pystyviiva on mukana? Jos kopioin tuollaisenaan sen terminaaliin, niin ei tapahdu mitään käytinpä sudoa tai en.

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: lspci | grep Eth*
« Vastaus #1 : 21.09.14 - klo:13.48 »
Käytät komentoa ihan oikein, ja se toimii oikein. Komento lspci tulostaa luettelon, a komento grep poimii siitä rivit joilla on merkkijonoa "Eth*". Kun tulostuksessa ei ole yhtään riviä joilla tuo merkkijono esiintyyy. tuloksena on tyhjä listaus, ja näyttää siltä kuin mitään ei olisi tapahtunut.

Jätä "*" pois komennosta, niin se saattaa näyttää rivin jolla esiintyy merkkijono "Eth". Jos sellaista riviä ei vieläkään löydy, niin sitä ei sitten ole komennon lspci tulostuksessa.

welmar

  • Käyttäjä
  • Viestejä: 1582
    • Profiili
Vs: lspci | grep Eth*
« Vastaus #2 : 21.09.14 - klo:14.23 »
Pystyviivan tarkoitus on putkittaa ensimmäisen käskyn tulostus seuraavalle käskylle. Eli tässä tapauksessa pelkkä lspci antaisi pitkän tuloksen joten olisi helpompaa rajata tulostuksesta vain ne rivit joilla on merkitystä. Esim minun koneella lspci komento tulostaa
Koodia: [Valitse]
welmar@laptop:~$ lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)
00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b4)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b4)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 04)
01:00.0 System peripheral: Ricoh Co Ltd PCIe SDXC/MMC Host Controller (rev 07)
02:00.0 Network controller: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
03:00.0 USB controller: NEC Corporation uPD72[code]
0200 USB 3.0 Host Controller (rev 04)
[/code] Koska en kitenkaan halua etsiä pitkästä listasta ethernet viittaavia tietoja kaikkien muiden seasta niin rajaan hakua grep komennolla putkittamalla sen lspci tulostukseen pystyviivalla
Koodia: [Valitse]
lspci|grep Eth ja tulostus on paljon mukavampi
Koodia: [Valitse]
welmar@laptop:~$ lspci|grep Eth
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 04)
* on jokerimerkki joka tarkoittaa että sen tilalla voi olla mitä tahansa mutta grepin kanssa sitä ei tarvitse käyttää sillä grep ei huomioi kuitenkaan kuin ainoastaan sen että haettavat merkit löytyy tietyltä riviltä. Grepin kanssa kannattaa käyttää -i vipusta jos ei ole varma onko mukana isoja ja pieniä kirjaimia.
Koodia: [Valitse]
welmar@laptop:~$ lspci|grep eth
welmar@laptop:~$ lspci|grep -i eth
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 04)