
Открытые системы / shell-print
.pdf
|
|
|
Храмцова |
П.Б. ,курс4 |
1 |
|
|
|
Ответыназачётныйтестпокурсу |
Антон Тамеев, anton@tameev.com, ICQ 107666 |
|
||
Тестированона |
Mac OS X 10.5 |
|
|
|
||
Оболочка Bash 3.2 |
|
|
|
|||
Дляспрнместеавбкивать |
|
man имя_команды |
|
|
|
|
1.Определиоднойкомандой:имяхота, еОСип,датусборкисистемы. uname –a
2.Опредимпоенал,ьзователейитекоторыеработаютсистеменаданныймомент. who
3. Определитесистемноеимяваш го |
терминала. |
||
|
tty |
|
|
4.Добавьтеприглашениекоманднойстро:текущуюдату, системымя,путьтекущему
каталогу,имяпользователя.
PS1=‘\d \h:\W \u\$ ‘
5.Определипроцесписокидентификасов,запущсвашеготернных.миналаов ps -a
6.Определитечи слопроцессположительнымитрицательныэффективноговзначен ями
приоритета,исполняющихсявданныймоментвсистеме.
ps ax -o ni | grep -v '[0|NI]' | wc -l
7. |
Получитесписоквсехпроцессов, оторыеданмоментнахыйвсостояниидятся |
WAIT |
8. Получитесписоквсехпроцессов, оторыеданмоментнахыйвсостояниидятся |
RUN |
9.Определитесписоквсехпроц, оторыессовпользовалинамоментзапускаскриптаболее5
минутвремениЦП.
10. Определитесписоквсехпроц, оторыессовпользовалина |
моментзапускаскриптаменее5 |
минутвремениЦП. |
|
11.Получитесписоквсехобычныхфайловтекущегоаталвладельцем, которыхгаявляется
пользователь web,датасозданияпозжепозавчерионислаявляютсяисполняемымишнего длягруппы web.
find . -type f -newerct '2 days ago' -user web -group web -perm -g=x -print
12. |
Получите списоквсехфайловрасширением |
txt, расположенныхвподкаталотекущегахо |
||
|
каталогасглубинойвложения2. |
|
|
|
|
|
find . –type f -name '*.txt' –depth 2 -print |
|
|
13. |
Напишискрип,котприотстанрыйесистемыдопроверитьлженналичие,при |
|
|
|
|
необходимозавепрсименемоцессшитьти |
ECHO. Гдеэтотскриптдолженбытьрасположен? |
||
14. |
Напишискрип,которыйприсистемыартедолженпроверитьналичие,при |
|
|
|
|
необходимостизапроцессу именемтить |
ECHO. Гдеэтотскриптдолженбытьрасположен? |
||
15. |
Подсчитайтечислостр,содержащихкслово |
mail вовсехфайлахвсехподкаталотекущегахо |
||
|
каталога. |
|
|
find . -exec grep mail {} \; | wc -l

|
|
|
|
|
|
|
|
Ответыназачётныйтестпокурсу |
|
Антон Тамеев, anton@tameev.com, ICQ 107666 |
2 |
||
|
|
|
|
|
|
|
|
Храмцова |
П.Б. |
,курс4 |
|||
|
|
|
|
|
|
|
|
|
|||||
16. НайдитесамыйсвежийÒ Óфайл |
|
|
|
|
текущегоатал. га |
|
|
|
|
|
|||
|
ls -lt | tail -n 1 |
|
|
|
|
|
|
|
|||||
17. НайдитесамыйстарыйÒ Óфайлтекущегоатал. га |
|
|
|
|
|
|
|
|
|
||||
|
ls -lrt | tail -n 1 |
|
|
|
|
|
|
||||||
18. Напишискрипте |
killall, которыйзавсеершитпроцессы,запущенныепользователем |
|
|
|
gandy |
|
|||||||
|
#!/bin/sh |
|
|
|
|
|
|
|
|
|
|
||
|
for n in |
`ps -u gandy -o pid | grep –v PID` |
|
|
|
|
|||||||
|
do |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
kill -s 9 |
$n |
|
|
|
|
|
|
||||
|
done |
|
|
|
|
|
|
|
|
|
|
|
|
19. Переимвсефайлытекнуйтеущегоаталсименгами |
|
|
|
|
date-<yesterday>.txt в date- |
|
|
||||||
<today>.txt. Форматдаты |
|
YYYYMMDD. |
|
|
|
|
|
||||||
|
mv date-`date -v -1d '+%Y%m%d'`.txt date-`date '+%Y%m%d'`.txt |
|
|
|
|||||||||
20. Определимяпроце,которыйитессапользовалбольше |
|
|
|
|
всехдругихпроцврЦПезамяссов |
|
|
|
|||||
последнююминуту. |
|
|
|
|
|
|
|
|
|
|
|||
21. Определитетиптерминалапользователя |
|
|
|
tom. |
|
|
|
|
|
22. Определитетипвашеготерминала.
echo $TERM
23.Перенаправьтеотокшибоккомандыстандарпотоквывода, андартныйпоток выводанаустройство /dev/null
somecommand 2>&1 1> /dev/null
24. |
Напишитеконвеер,котоспособенподсчитатьыйчислостркомандывотчёте |
ls –al и |
||||||
|
число словэтжем |
|
тчёте. |
|
||||
|
|
ls –al | wc -lw |
|
|
|
|
||
25. |
Распеnчатайтервые |
|
строквсехфайловтекущегоатсрасширениемлга |
root. |
||||
|
|
head -n 5 *.root |
|
|
|
|||
26. |
Распечатайте |
оследние nстроквсехфайловтекущегоатсрасширениемлга |
root. |
|||||
|
|
tail -n 5 *.root |
|
|
|
|||
27. |
Определитедатупоследнего |
|
|
|
измененияфайла. |
|
||
|
|
ls –lt somefile.ext |
|
|
||||
28. |
Определитедатупоследнегообращениякфайлу. |
|
||||||
|
|
ls –lu somefile.ext |
|
|
||||
29. |
Подсчитчислолокальныхпеременныхйтеокружения. |
|
||||||
|
|
set | wc -l |
|
|
30. Подсчитайтечислоглобальныхпеременныхокружения.
env | wc -l
31. Получите самоедлинноезначениеизвсзначенийхпеременныхокружения.
выдаетдлинукаждойпеременной
#!/bin/sh
set | sed -e 's/.*=//' | awk '{print length}'
|
|
Ответыназачётныйтестпокурсу |
Антон Тамеев, anton@tameev.com, ICQ 107666 |
3 |
|
|
|
Храмцова |
П.Б. ,курс4 |
||
|
|
|
|||
32. |
Получитесамоекороткоезначениеизвсехзначенийпеременныхокружения. |
|
|
|
|
33. |
Получсамуюдлитенную |
команднуюстрокудляпроцессов,исполдамоментяемыхныйв |
|
|
|
|
системе. |
|
|
|
|
|
выдаетдлинукаждойпеременной |
|
|
|
|
|
#!/bin/sh |
|
|
|
|
|
ps ax -o command | grep –v COMMAND | awk '{print length}' |
|
|
||
34. |
Получитесамуюкор ткуюманднуюстрокудляпроцессов,исполданяемыхный |
|
моментв |
|
|
|
системе. |
|
|
|
|