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> | ||
- | * | + | * Az /etc/passwd fájlból jelenítse meg azokat a sorokat, amelyek tartalmazzák az sh karakterláncot! |
- | + | ||
<code lang="bash"> | <code lang="bash"> | ||
- | feri@aries:~$ | + | feri@aries:~$ cat /etc/passwd | grep sh |
</code> | </code> | ||
- | + | 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> | ||
- | + | 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> | ||
- | + | 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> | ||
- | + | 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> | ||
- | + | 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> | ||
- | + | 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> | ||
- | + | 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 | + | * 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 | + | * 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]
- 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