Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.16 KB | None | 0 0
  1. # One-linery
  2.  
  3. ## pliki
  4.  
  5. ### /etc
  6.  
  7. 0. Ile jest osób w `/etc/passwd` o nazwisku Nowak?
  8.  
  9. ```bash
  10. cat /etc/passwd | awk -F: '{print $5}' | grep -i 'nowak' | wc -l
  11. ```
  12.  
  13. 0. Jaki jest najmniejszy numer grupy w systemie
  14.  
  15. ```bash
  16. cat /etc/group | awk -F: '{print $3}' | sort -n | head -1
  17. ```
  18.  
  19. 0. Jaki jest największy numer grupy w systemie
  20.  
  21. ```bash
  22. cat /etc/group | awk -F: '{print $3}' | sort -nr | head -1
  23. ```
  24.  
  25. 0. Podać ilość użytkowników o UID < 1000
  26.  
  27. ```bash
  28. cat /etc/passwd | awk -F: '{if($3 < 1000) print "cokolwiek"}' | wc -l
  29. ```
  30.  
  31. 0. Ile jest w systemie grup, które są grupą podstawową dla co najmniej jednego użytkownika?
  32.  
  33. ```bash
  34. cat /etc/passwd | awk -F: '{print $4}' | sort | uniq | wc -l
  35. ```
  36.  
  37. 0. Ile jest w systemie grup, które nie są grupą podstawową dla co najmniej jednego użytkownika?
  38.  
  39. ```bash
  40. echo $((`cat /etc/group | wc -l` - `cat /etc/passwd | awk -F: '{print $4}' | sort -n | uniq | wc -l`))
  41. ```
  42.  
  43. 0. Ile grup w systemie nie jest grupami dodatkowymi dla żadnego użytkownika?
  44.  
  45. ```bash
  46. cat /etc/group | awk -F : '{print $4}' | grep ^$ | wc -l
  47. ```
  48.  
  49. 0. Numer grupy podstawowej największej liczby użytkowników
  50.  
  51. ```bash
  52. cat /etc/passwd | awk -F: '{ print $4 }' | sort -n | uniq -c | sort -nr | head -1 | awk '{ print $2 }'
  53. ```
  54.  
  55. 0. Użytkownik o największym UID (wypisać to UID)
  56.  
  57. ```bash
  58. cat /etc/passwd | awk -F: '{ print $3 }' | sort -nr | head -
  59. ```
  60.  
  61. 0. Użytkownicy, których nazwa składa się z dokładnie 8 znaków.
  62.  
  63. ```bash
  64. grep -cE -e '^[^:]{8}:' /etc/passwd
  65. ```
  66.  
  67. 0. Zakładając, że w odpowiedniej kolumnie odpowiedniego pliku jest zdefiniowane imię i nazwisko użytkownika, znajdź ile jest osób o nazwisku Kowalski.
  68.  
  69. ```bash
  70. cat /etc/passwd | awk -F: '{print $5}' | grep -i kowalski | wc -l
  71. ```
  72.  
  73. 0. Podaj liczbę lokalnych użytkowników którzy nie mogą się zalogować (/sbin/nologin jako shell)
  74.  
  75. ```bash
  76. cat /etc/passwd | awk -F: '{if($7=="/usr/sbin/nologin") print $7}' | wc -l
  77. ```
  78.  
  79. 0. Podaj liczbę grup w systemie
  80.  
  81. ```bash
  82. cat /etc/group | awk -F '{print $3}' | wc -l
  83. ```
  84.  
  85. 0. Podać grupę o najwyższym numerze, która jest grupą podstawową dla przynajmniej jednego użytkownika
  86.  
  87. ```bash
  88. cat /etc/passwd | awk -F '{print $3}' | sort -n | uniq | sort -nr | head -1
  89. ```
  90.  
  91. ### inne
  92.  
  93. 0. Podaj nazwę pliku w katalogu domowym o największym rozmiarze
  94.  
  95. ```bash
  96. ls -al ~ | grep '^-' | awk '{print $5,$9}' | sort -n | tail -n1 | awk '{print $2}'
  97. ```
  98.  
  99. 0. Podaj nazwę pliku w katalogu domowym o największej ilości bloków
  100.  
  101. ```bash
  102. ls -als ~ | awk '{print $2,$1,$10}' | grep "^-" | awk '{print $2,$3}' | sort -nr | head -1 | awk '{print $2}'
  103. ```
  104.  
  105. 0. Podaj ilość katalogów w podanym katalogu (bez katalogów) których nazwa zaczyna się na s
  106.  
  107. ```bash
  108. ls -la $KATALOG | grep '^d' | awk '{print $9}' | grep '^s' | wc -l
  109. ```
  110.  
  111. 0. Podaj polecenie, ktorym zmieni się uprawnienia katalogu `katalog` z `drwsr-xr-x` na `dr-xr-xr-t`
  112.  
  113. ```bash
  114. chmod u-ws,o+t katalog # nie próbujcie cwaniakować z octalem, w niektórych implementacjach chmod nie resetuje SUID
  115. ```
  116.  
  117. 0. Znajdź plik w swoim katalogu domowym, który był najdawniej modyfikowany.
  118.  
  119. ```bash
  120. ls -lt ~ | grep '^\-' | tail -1 | awk '{print $9}'
  121. ```
  122.  
  123. 0. Ile katalogów znajduje się w /usr/include?
  124.  
  125. ```bash
  126. find /usr/include -type d | wc -l
  127. ```
  128.  
  129. 0. Jaki jest inode (iwęzeł) katalogu domowego?
  130.  
  131. ```bash
  132. ls -id ~ | awk '{print $1}'
  133. ```
  134.  
  135. 0. Ile jest plików w /usr/include, wraz z podkatalogami, które mają w nazwie td i których nazwy kończą się na .h?
  136.  
  137. ```bash
  138. find /usr/include -type f -name "*td*.h" | wc -l
  139. ```
  140.  
  141. 0. Ile jest plików w /usr/include (bez podkatalogów), których nazwa składa się z 6 liter, zaczyna się na "m" i kończy na ".h"?
  142.  
  143. ```bash
  144. find /usr/include/* -prune -name "m???.h" | wc -l
  145. ```
  146.  
  147. 0. Ile plików regularnych jest w twoim katalogu domowym (wraz z podkatalogami)?
  148.  
  149. ```bash
  150. find ~ -type f | wc -l
  151. ```
  152.  
  153. 0. Ile jest plików w /usr/include, bez podkatalogów, które zaczynają się na `st` i których nazwy kończą się na `.h`?
  154.  
  155. ```bash
  156. find /usr/include -maxdepth 1 -type f | awk -F/ '{print $4}' | grep '^st' | grep '.h$' | wc -l
  157. ```
  158.  
  159. 0. Ile jest plików w /usr/include, bez podkatalogów, które mają w nazwie td i których nazwy kończą się na .h?
  160.  
  161. ```bash
  162. find /usr/include -type f -maxdepth 1 -name "*td*.h" | wc -l
  163. ```
  164.  
  165. 0. Podaj ile jest plików regularnych w katalogu /usr/include (do końca drzewa, czyli bierzmy pod uwagę pliki w podkatalogach), które mają rozmiar większy niż 12000B.
  166.  
  167. ```bash
  168. find /usr/include -type f -exec ls -l {} \; | awk '{ if ($5>12000) print $0}' | wc -l
  169. ```
  170.  
  171. 0. Znajdź liczbę plików regularnych w /usr/include (bez podkatalogów) które zaczynają sią na m i kończą na .h oraz których rozmiar nie przekracza 12KB.
  172.  
  173. ```bash
  174. find /usr/include -maxdepth 1 -type f -name ”m*.h” -execls -l {} \ ; | awk '{if($5<12000) print $9}' | wc -l
  175. ```
  176.  
  177. 0. Wypisać rozmiar największego pliku z $HOME (łącznie z podkatalogami i plikami ukrytymi).
  178.  
  179. ```bash
  180. find ~ -type f -printf "%s \ n" | sort -nr | head -1
  181. ```
  182.  
  183. 0. Podaj numer i-węzła opisującego /tmp
  184.  
  185. ```bash
  186. ls -id /tmp | cut -d" " -f1
  187. ```
  188.  
  189. 0. Podaj numer i-węzła katalogu domowego
  190.  
  191. ```bash
  192. ls -id ~ | cut -d" " -f1
  193. ```
  194.  
  195. 0. Podać liczbę plików w /usr/bin o wielkości do 1MB
  196.  
  197. ```bash
  198. find /usr/bin -size -1M | wc -l
  199. ```
  200.  
  201. ## procesy
  202.  
  203.  
  204. 0. Pidaj PID procesu zastopowanego, który zużywa najwięcej pamięci wirtualnej
  205.  
  206. ```bash
  207. ps -eo s= -o vsz= -o pid= | grep "^[Tt]" | awk '{print $2,$3}' | sort -nr | head -1 | awk '{print $2}'
  208. ```
  209.  
  210. 0. Podać nazwę użytkownika, który ma najwięcej procesów z zerowym NICE
  211.  
  212. ```bash
  213. ps -eo %n%U | awk '{if($1=="0") print $1 " " $2}' | sort | uniq -c | sort -nr | head -1 | awk '{print $3}'
  214. ```
  215.  
  216. 0. Podać ilość procesów, których rodzicem jest proces o numerze 1
  217.  
  218. ```bash
  219. ps -eo %P | sort | awk '{if($1=="1") print $1}' | wc -l
  220. ```
  221.  
  222. 0. Podać PIDy trzech procesów, które mają najwięcej pamięci wirtualnej
  223.  
  224. ```bash
  225. ps -eo %z%p | sort -nr | head -3 | awk '{print $2}'
  226. ```
  227.  
  228. 0. Napisać, ile razy od początku root zalogowal się do innych terminali (treść niepewna)
  229.  
  230. ```bash
  231. last root | head -n-2 | wc -l
  232. ```
  233.  
  234. 0. Ile jest procesów, których ojcem jest proces o PID 1?
  235.  
  236. ```bash
  237. ps -el | awk '{print $5}' | grep ^1$ | wc -l
  238. ```
  239.  
  240. 0. Znajdź użyszkodnika w systemie, który ma urchomioną największą liczbę procesów
  241.  
  242. ```bash
  243. ps aux | tail -n+2 | awk '{print $1}' | sort | uniq -c | sort -nr | head -1 | awk '{print $2}'
  244. ```
  245.  
  246. 0. Ile procesów w systemie ma parametr NICE większy od zera?
  247.  
  248. ```bash
  249. ps -le | tail -n+2 | awk '{if ($8>0) print $0}' | wc -l
  250. ```
  251.  
  252. 0. Ile jest procesów, które posiadają terminal?
  253.  
  254. ```bash
  255. ps aux | tail -n+2 | awk '{if ($7!="?") print $0}' | wc -l
  256. ```
  257.  
  258. 0. Ile procesów w całym systemie ma ujemną wartość parametru NICE? (W innych latach trafiała się wersja z dodatnią)
  259.  
  260. ```bash
  261. ps -eo %n | awk '{if ($1<0) print $1}' | wc -l
  262. ```
  263.  
  264. 0. Ile procesów potomnych ma bieżący interpreter poleceo? PID bieżącego interpretera poleceo: echo $$.
  265.  
  266. ```bash
  267. ps -le | awk '{print $5}' | grep ^$$$ | wc -l
  268. ```
  269.  
  270. 0. Liczba uśpionych procesów
  271.  
  272. ```bash
  273. ps -el | tail -n +2 | awk '$2 == "S" { print $2; } ' | wc – l
  274. ```
  275.  
  276. 0. PID procesu zajmującego najwięcej pamięci wirtualnej (VSZ)
  277.  
  278. ```bash
  279. ps aux | tail -n +2 | awk '{ print $5" "$2 }' | sort -nr | head -1 | awk '{ print $2 }'
  280. ```
  281.  
  282. 0. PID procesu zajmującego najwięcej pamięci rezydentnej
  283.  
  284. ```bash
  285. ps aux | awk '{print $5 " " $2}' | sort -nr | head -1 | awk '{print $2}'
  286. ```
  287.  
  288. 0. PID procesu użytkownika root zajmującego najwięcej pamięci rezydentnej i nie ma terminala
  289.  
  290. ```bash
  291. ps aux | awk '{if($1=="root") print $6 " " $7}' | awk '{if($2=="?") print $1}' | sort -nr | head -1
  292. ```
  293.  
  294. 0. Znajdź proces, który zużył najwięcej czasu procesora
  295.  
  296. ```bash
  297. ps -le | tail -n+2 | awk '{print $13” ”$14}' | awk -F : '{print 3600*$1+60*$2+$3” ”$4}' | sort -nr | head -n+1 | awk '{print $2}'
  298. ```
  299.  
  300. 0. Znajdź proces, który został włączony najwcześniej
  301.  
  302. ```bash
  303. ps -eo %x%c | sort | tail -2 | head -1 | awk '{print $2}'
  304. ```
  305.  
  306. 0. Ile procesów potomnych ma bieżący terminal (ID bieżącego terminala jest przechowywana w zmiennej systemowej $$) (Ta komenda policzy też procesy uruchomione właśnie w celu liczenia - tj. 'ps' i 'wc')
  307.  
  308. ```bash
  309. ps --ppid=$$ --no -headers | wc – l
  310. ```
  311.  
  312. 0. Ile procesów potomnych procesu o PID 1 ma bieżący terminal?
  313.  
  314. ```bash
  315. ps T o ppid= | awk '{if($1 == 1) print "cokolwiek"}' | wc -l
  316. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement