Linux:Átirányítások, szűrők
Á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]
- 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