rilpoint_mw113

Linux:Átirányítások, szűrők

(Változatok közti eltérés)
(Szűrők)
27. sor: 27. sor:
* Jelenítse meg a /etc/passwd tartalmát oldalakra bontva! Hogyan lehet a következő oldalara lapozni, az előző oldalra ugrani, soronként fel- illetve továbblépni, szövegrészt keresni, illetve kilépni a pagerből?
* Jelenítse meg a /etc/passwd tartalmát oldalakra bontva! Hogyan lehet a következő oldalara lapozni, az előző oldalra ugrani, soronként fel- illetve továbblépni, szövegrészt keresni, illetve kilépni a pagerből?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | more
 +
feri@aries:~$ cat /etc/passwd | less
</code>
</code>
-
* A /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyek:
+
* Az /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyek tartalmazzák az sh karakterláncot!
-
# tartalmazzák az sh karakterláncot.
+
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | grep sh
</code>
</code>
-
# nem tartalmazzák az sh karakterláncot.
+
Az /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyek nem tartalmazzák az sh karakterláncot.
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | grep -v sh
</code>
</code>
-
# r betűvel kezdődnek.
+
Az /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyek r betűvel kezdődnek.
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | grep ^r
</code>
</code>
-
# false-ra végződnek.
+
Az /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyek false-ra végződnek.
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | grep false$
</code>
</code>
-
# akiknek a login neve f-fel kezdődik?
+
Az /etc/passwd fájlból jelenítse meg azokat a sorokat, akiknek a login neve f-fel kezdődik?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | grep ^f
</code>
</code>
-
# akiknek a login nevében szerepel a tom szó.
+
Az /etc/passwd fájlból jelenítse meg azokat a felhasználó neveket, akiknek a login nevében szerepel a tom szó.
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | cut -d: -f1 | grep tom
</code>
</code>
-
# akinek a login neve pontosan root.
+
Az /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyben a login név pontosan root.
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | grep ^root:
</code>
</code>
-
# akinek a login neve magánhangzóval kezdődik?
+
Hány olyan felhasználó van a rendszerben, akinek a login neve magánhangzóval kezdődik?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | grep ^[aeiou]
</code>
</code>
# akinek a shellje nem /bin/bash?
# akinek a shellje nem /bin/bash?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | grep -v /bin/bash$
</code>
</code>
* Hány blokkos eszközfájl van a /dev könyvtárban? Hány karakteres eszközfájl van ugyanebben a könyvtárban?
* Hány blokkos eszközfájl van a /dev könyvtárban? Hány karakteres eszközfájl van ugyanebben a könyvtárban?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ ls -l /dev | grep ^b
</code>
</code>
* Jelenítse meg az /etc/bashrc fájl azon nem üres sorait, amelyek nem megjegyzések (azaz nem #-tel kezdődnek)!
* Jelenítse meg az /etc/bashrc fájl azon nem üres sorait, amelyek nem megjegyzések (azaz nem #-tel kezdődnek)!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/bashrc | grep -v ^$ | grep -v ^#
</code>
</code>
* Az előző feladatot oldja meg úgy, hogy ezeket a sorokat a home könyvtárába, egy bash.txt nevű fájlba írja ki!
* Az előző feladatot oldja meg úgy, hogy ezeket a sorokat a home könyvtárába, egy bash.txt nevű fájlba írja ki!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/bashrc | grep -v ^$ | grep -v ^# >bash.txt
</code>
</code>
-
* Hány olyan könyvtár van az etc-ben, melynek csoportjogai: r-x?
+
* Hány olyan könyvtár van a /etc könyvtárban, melynek csoportjogai: r-x?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ ls -l /etc | cut -c 5-7 | grep r-x | wc -l
</code>
</code>
-
* Jelenítse meg a root felhasználó bejelentkezéseinek történetét!
+
* Jelenítse meg a root felhasználó aktuális havi bejelentkezéseinek történetét!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ last | grep root
</code>
</code>
* Be van most jelentkezve a root nevű felhasználó? Ha igen, mit futtat most?
* Be van most jelentkezve a root nevű felhasználó? Ha igen, mit futtat most?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ w | grep ^root
</code>
</code>
* Hány különféle shell létezik a passwd fájlban?
* Hány különféle shell létezik a passwd fájlban?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | cut -d: -f7 | sort | uniq
</code>
</code>
* Írassa ki a bejelentkezettek listáját! Gondoskodjon arról, hogy ha valaki több példányban jelentkezett be, akkor is  
* Írassa ki a bejelentkezettek listáját! Gondoskodjon arról, hogy ha valaki több példányban jelentkezett be, akkor is  
csak egyszer jelenjen meg a neve!
csak egyszer jelenjen meg a neve!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ w -h | cut -d' ' -f1 | sort | uniq
</code>
</code>
* Kik azok a felhasználók, akik ebben a hónapban bejelentkeztek a szerverre (a reboot felhasználó nem érdekel bennünket)?
* Kik azok a felhasználók, akik ebben a hónapban bejelentkeztek a szerverre (a reboot felhasználó nem érdekel bennünket)?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ last | grep -v ^$ | grep -v 'wtmp begins' | cut -d' ' -f1 | sort | uniq |grep -v reboot
</code>
</code>
* Írassa ki a felhasználók neveit ábécé sorrendben!
* Írassa ki a felhasználók neveit ábécé sorrendben!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | cut -d: -f1 | sort
</code>
</code>
* A /etc/passwd file-ban hány sor kezdődik f-fel?
* A /etc/passwd file-ban hány sor kezdődik f-fel?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | grep ^f | wc -l
</code>
</code>
* Jelenítse meg a /etc/passwd első három sorát!
* Jelenítse meg a /etc/passwd első három sorát!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | head -3
</code>
</code>
* Jelenítse meg a /etc/passwd utolsó hét sorát!
* Jelenítse meg a /etc/passwd utolsó hét sorát!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | tail -7
</code>
</code>
* Jelenítse meg a felhasználók névsorából az első, majd az utolsó 12 nevet! Meg tudja oldani ezt egy sor begépelésével is?
* Jelenítse meg a felhasználók névsorából az első, majd az utolsó 12 nevet! Meg tudja oldani ezt egy sor begépelésével is?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | head -1 ; cat /etc/passwd | tail -12
</code>
</code>
* Melyik felhasználó jelentkezett be először ebbe a hónapban?
* Melyik felhasználó jelentkezett be először ebbe a hónapban?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ last | tail -3 | head -1
</code>
</code>
* Hány sora van a /etc/passwd file-nak?
* Hány sora van a /etc/passwd file-nak?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | wc -l
</code>
</code>
* Hány karakter van ugyenezen file utolsó 8 sorában?
* Hány karakter van ugyenezen file utolsó 8 sorában?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | tail -8 | wc -c
</code>
</code>
-
* Hány karakter van a /etc könyvtár tartalomjegyzékében?
+
* Hány karakter van az /etc könyvtár tartalomjegyzékében?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ ls /etc | wc -c
</code>
</code>
* Hány alkalommal jelentkezett be a root felhasználó ebben a hónapban?
* Hány alkalommal jelentkezett be a root felhasználó ebben a hónapban?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ last | grep ^root | wc -l
</code>
</code>
* Jelenítse meg a /etc/passwd tartalmát rendezve!
* Jelenítse meg a /etc/passwd tartalmát rendezve!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | sort
</code>
</code>
-
* Jelenítse meg a passwd fájlból kinyert UID-eket!
+
* Jelenítse meg visszafelé rendezve a passwd fájlból kinyert UID-eket!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | cut -d: -f3 | sort -r -n
 +
</code>
 +
* Melyik a legnagyobb UID a /etc/passwd fájlban?
 +
<code lang="bash">
 +
feri@aries:~$ cat /etc/passwd | cut -d: -f3 | sort | head -1
</code>
</code>
* Jelenítse meg az ábécébe rendezett passwd file tartalmának első 15 sorát!
* Jelenítse meg az ábécébe rendezett passwd file tartalmának első 15 sorát!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | sort | head -15
</code>
</code>
* Hány sorból és karakterből áll az előző parancs kimenete?
* Hány sorból és karakterből áll az előző parancs kimenete?
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | sort | head -15 | wc -l -c
</code>
</code>
* Írassa ki a felhasználók nevét úgy, hogy minden ékezetes karaktert cseréljen ékezet nélkülire, a szóköz karaktert pedig helyettesítse _ karakterrel!
* Írassa ki a felhasználók nevét úgy, hogy minden ékezetes karaktert cseréljen ékezet nélkülire, a szóköz karaktert pedig helyettesítse _ karakterrel!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | cut -d: -f5 | tr 'áéíóöőúüű ' 'aeiooouu_'
</code>
</code>
* A felhasználók listájában törölje az összes j karaktert!
* A felhasználók listájában törölje az összes j karaktert!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ cat /etc/passwd | tr -d 'j'
</code>
</code>
* Írassa ki a /etc/passwd tartalmát visszafelé!
* Írassa ki a /etc/passwd tartalmát visszafelé!
<code lang="bash">
<code lang="bash">
-
feri@aries:~$  
+
feri@aries:~$ tac /etc/passwd
</code>
</code>

A lap 2010. március 28., 20:10-kori változata

Átirányítások

Parancsok: grep, cut, wc, head, tail, tr, sort, uniq, tee, more (less, most)

  • Az ls parancs kimenetét irányítsa át a /tmp/lista-<username>.txt fájlba, ahol az <username> helyére az Ön bejelentkezési nevét helyettesítse be!
feri@aries:~$ ls >/tmp/lista-feri.txt
  • Az /etc könyvtár conf-ra végződő fájljainak tartalmát másolja össze egyetlen fájlba, a /tmp/lista-<username>.txt-be! Mi történt annak korábbi tartalmával?
feri@aries:~$ cat /etc/*.conf >/tmp/lista-feri.txt
  • A /tmp/lista-<username>.txt fájlhoz fűzze hozzá az aktuális dátumot és időt!
feri@aries:~$ date >>/tmp/lista-feri.txt
  • Hozza létre a /tmp könyvtárat! Az esetleges hibaüzeneteket irányítsa át a hiba.txt fájlba!
feri@aries:~$ mkdir /tmp 2>hiba.txt
  • Hozza létre a /tmp könyvtárat! Az esetleges hibaüzeneteket ne jelenítse meg!
feri@aries:~$ mkdir /tmp 2>/dev/null
  • [TODO: Bemenet átirányítása]

Szűrők

  • Jelenítse meg a /etc/passwd tartalmát oldalakra bontva! Hogyan lehet a következő oldalara lapozni, az előző oldalra ugrani, soronként fel- illetve továbblépni, szövegrészt keresni, illetve kilépni a pagerből?
feri@aries:~$ cat /etc/passwd | more
feri@aries:~$ cat /etc/passwd | less
  • Az /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyek tartalmazzák az sh karakterláncot!
feri@aries:~$ cat /etc/passwd | grep sh

Az /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyek nem tartalmazzák az sh karakterláncot.

feri@aries:~$ cat /etc/passwd | grep -v sh

Az /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyek r betűvel kezdődnek.

feri@aries:~$ cat /etc/passwd | grep ^r

Az /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyek false-ra végződnek.

feri@aries:~$ cat /etc/passwd | grep false$

Az /etc/passwd fájlból jelenítse meg azokat a sorokat, akiknek a login neve f-fel kezdődik?

feri@aries:~$ cat /etc/passwd | grep ^f

Az /etc/passwd fájlból jelenítse meg azokat a felhasználó neveket, akiknek a login nevében szerepel a tom szó.

feri@aries:~$ cat /etc/passwd | cut -d: -f1 | grep tom

Az /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyben a login név pontosan root.

feri@aries:~$ cat /etc/passwd | grep ^root:

Hány olyan felhasználó van a rendszerben, akinek a login neve magánhangzóval kezdődik?

feri@aries:~$ cat /etc/passwd | grep ^[aeiou]
  1. akinek a shellje nem /bin/bash?
feri@aries:~$ cat /etc/passwd | grep -v /bin/bash$
  • Hány blokkos eszközfájl van a /dev könyvtárban? Hány karakteres eszközfájl van ugyanebben a könyvtárban?
feri@aries:~$ ls -l /dev | grep ^b
  • Jelenítse meg az /etc/bashrc fájl azon nem üres sorait, amelyek nem megjegyzések (azaz nem #-tel kezdődnek)!
feri@aries:~$ cat /etc/bashrc | grep -v ^$ | grep -v ^#
  • Az előző feladatot oldja meg úgy, hogy ezeket a sorokat a home könyvtárába, egy bash.txt nevű fájlba írja ki!
feri@aries:~$ cat /etc/bashrc | grep -v ^$ | grep -v ^# >bash.txt
  • Hány olyan könyvtár van a /etc könyvtárban, melynek csoportjogai: r-x?
feri@aries:~$ ls -l /etc | cut -c 5-7 | grep r-x | wc -l
  • Jelenítse meg a root felhasználó aktuális havi bejelentkezéseinek történetét!
feri@aries:~$ last | grep root
  • Be van most jelentkezve a root nevű felhasználó? Ha igen, mit futtat most?
feri@aries:~$ w | grep ^root
  • Hány különféle shell létezik a passwd fájlban?
feri@aries:~$ cat /etc/passwd | cut -d: -f7 | sort | uniq
  • Írassa ki a bejelentkezettek listáját! Gondoskodjon arról, hogy ha valaki több példányban jelentkezett be, akkor is

csak egyszer jelenjen meg a neve!

feri@aries:~$ w -h | cut -d' ' -f1 | sort | uniq
  • Kik azok a felhasználók, akik ebben a hónapban bejelentkeztek a szerverre (a reboot felhasználó nem érdekel bennünket)?
feri@aries:~$ last | grep -v ^$ | grep -v 'wtmp begins' | cut -d' ' -f1 | sort | uniq |grep -v reboot
  • Írassa ki a felhasználók neveit ábécé sorrendben!
feri@aries:~$ cat /etc/passwd | cut -d: -f1 | sort
  • A /etc/passwd file-ban hány sor kezdődik f-fel?
feri@aries:~$ cat /etc/passwd | grep ^f | wc -l
  • Jelenítse meg a /etc/passwd első három sorát!
feri@aries:~$ cat /etc/passwd | head -3
  • Jelenítse meg a /etc/passwd utolsó hét sorát!
feri@aries:~$ cat /etc/passwd | tail -7
  • Jelenítse meg a felhasználók névsorából az első, majd az utolsó 12 nevet! Meg tudja oldani ezt egy sor begépelésével is?
feri@aries:~$ cat /etc/passwd | head -1 ; cat /etc/passwd | tail -12
  • Melyik felhasználó jelentkezett be először ebbe a hónapban?
feri@aries:~$ last | tail -3 | head -1
  • Hány sora van a /etc/passwd file-nak?
feri@aries:~$ cat /etc/passwd | wc -l
  • Hány karakter van ugyenezen file utolsó 8 sorában?
feri@aries:~$ cat /etc/passwd | tail -8 | wc -c
  • Hány karakter van az /etc könyvtár tartalomjegyzékében?
feri@aries:~$ ls /etc | wc -c
  • Hány alkalommal jelentkezett be a root felhasználó ebben a hónapban?
feri@aries:~$ last | grep ^root | wc -l
  • Jelenítse meg a /etc/passwd tartalmát rendezve!
feri@aries:~$ cat /etc/passwd | sort
  • Jelenítse meg visszafelé rendezve a passwd fájlból kinyert UID-eket!
feri@aries:~$ cat /etc/passwd | cut -d: -f3 | sort -r -n
  • Melyik a legnagyobb UID a /etc/passwd fájlban?
feri@aries:~$ cat /etc/passwd | cut -d: -f3 | sort | head -1
  • Jelenítse meg az ábécébe rendezett passwd file tartalmának első 15 sorát!
feri@aries:~$ cat /etc/passwd | sort | head -15
  • Hány sorból és karakterből áll az előző parancs kimenete?
feri@aries:~$ cat /etc/passwd | sort | head -15 | wc -l -c
  • Írassa ki a felhasználók nevét úgy, hogy minden ékezetes karaktert cseréljen ékezet nélkülire, a szóköz karaktert pedig helyettesítse _ karakterrel!
feri@aries:~$ cat /etc/passwd | cut -d: -f5 | tr 'áéíóöőúüű ' 'aeiooouu_'
  • A felhasználók listájában törölje az összes j karaktert!
feri@aries:~$ cat /etc/passwd | tr -d 'j'
  • Írassa ki a /etc/passwd tartalmát visszafelé!
feri@aries:~$ tac /etc/passwd
Skin by RIL Partner