OS 2013-2014

ФТ-101

calc
Арифметическое выражение передается как параметры командной строки или (в случае отсутствия параметров) вводится с клавиатуры.

Примеры запуска:
>calc /?
usage: calc.cmd [expression]
=============================
>calc 1 - 2
-1
=============================
>calc
Type your expression here:

helpgen
Сохранить в отдельные файлы справку по использованию команд, выводимых командой help.

sleep
Реализовать cmd-скрипт, который в качестве параметра принимает количество секунд и завершает работу через это количество секунд. Подразумевается использование функциональности получения текущего времени.

Пример запуска:
>sleep.cmd 3600

which
Написать программу, показывающую, какой файл выполнится, если набрать команду, переданную в параметрах.

Должны поддерживаться как команды с расширением, так и без (т.е. calc и calc.exe)

Пример запуска:
>which.cmd calc
C:\Windows\system32\calc.exe

assocx
Вывести сведения о зарегистрированных действиях для заданного расширения файла и программах, выполняющих эти действия. Нельзя использовать assoc

Пример запуска:
> accocx.cmd txt
open: C:\WINDOWS\system32\NOTEPAD.EXE %1
print: C:\WINDOWS\system32\NOTEPAD.EXE /p %1
printto: C:\WINDOWS\system32\notepad.exe /pt "%1" "%2" "%3" "%4"

>assocx.cmd *
...

getip
Вывести на экран все ip-адреса компьютера.
(использовать команду ipconfig)

tempfile
Создать в заданной директории (по умолчанию, в текущей) файл с уникальным именем. Вывести имя созданного файла.

Примеры запуска:
> tempfile.cmd
123213213433.tmp

>tempfile.cmd C:\Windows\Temp
dasdf4er012f.tmp

!sizesum_u
sizesum.sh [dir]

Без использования du подсчитать суммарный размер файлов в заданном каталоге и во всех вложенных. Если параметр не задан, то рассматриваем текущий каталог.

Примеры запуска:
$./sizesum.sh /bin
$./sizesum
$./sizesum.sh --help

which_u
which

Утилита, определяющая, какой исполняемый файл отработает, если в текущей директории написать

Примеры запуска:
$./which bash
/bin/bash

$./which --help
which
Which returns the pathname of the file which would be executed in the current environment...

_usergroups_u
ugroups.sh

Вывести группы, в которых состоит пользователь .
(Использовать /etc/group)

_rename_u
rename.sh [dir] -r

Переименовать файлы в каталоге dir (по умолчанию в текущем) и во всех вложенных (если задан ключ -r) по следующему принципу:
1) если файл elf, то добавить к нему расширение .elf
2) если файл bash, то добавить расширение .sh
3) если не elf и не bash, то оставить файл в покое

tempfile_u
tempfile.sh [dir]

Создать в каталоге dir (если не задан, то в текущем) временный файл с уникальным именем для данного каталога. Вывести на экран имя созданного файла

_hexdump_u
Написать аналог утилиты xxd на bash.

Hint: научиться пользоваться read.

$ xxd Master_Foo_and_the_Ten_Thousand_Lines.txt 
0000000: 4d61 7374 6572 2046 6f6f 206f 6e63 6520 Master Foo once
0000010: 7361 6964 2074 6f20 6120 7669 7369 7469 said to a visiti
0000020: 6e67 2070 726f 6772 616d 6d65 723a 20e2 ng programmer: .
0000030: 809c 5468 6572 6520 6973 206d 6f72 6520 ..There is more
0000040: 556e 6978 2d6e 6174 7572 6520 696e 206f Unix-nature in o
0000050: 6e65 206c 696e 6520 6f66 2073 6865 6c6c ne line of shell
0000060: 2073 6372 6970 7420 7468 616e 2074 6865 script than the
0000070: 7265 2069 7320 696e 2074 656e 2074 686f re is in ten tho
0000080: 7573 616e 6420 6c69 6e65 7320 6f66 2043 usand lines of C
0000090: 2ee2 809d 0a0a 5468 6520 7072 6f67 7261 ......The progra
00000a0: 6d6d 6572 2c20 7768 6f20 7761 7320 7665 mmer, who was ve
00000b0: 7279 2070 726f 7564 206f 6620 6869 7320 ry proud of his
00000c0: 6d61 7374 6572 7920 6f66 2043 2c20 7361 mastery of C, sa
00000d0: 6964 3a20 e280 9c48 6f77 2063 616e 2074 id: ...How can t
00000e0: 6869 7320 6265 3f20 4320 6973 2074 6865 his be? C is the
00000f0: 206c 616e 6775 6167 6520 696e 2077 6869 language in whi
0000100: 6368 2074 6865 2076 6572 7920 6b65 726e ch the very kern
0000110: 656c 206f 6620 556e 6978 2069 7320 696d el of Unix is im
0000120: 706c 656d 656e 7465 6421 e280 9d0a 0a4d plemented!.....M
0000130: 6173 7465 7220 466f 6f20 7265 706c 6965 aster Foo replie
0000140: 643a 20e2 809c 5468 6174 2069 7320 736f d: ...That is so
0000150: 2e20 4e65 7665 7274 6865 6c65 7373 2c20 . Nevertheless,
0000160: 7468 6572 6520 6973 206d 6f72 6520 556e there is more Un
0000170: 6978 2d6e 6174 7572 6520 696e 206f 6e65 ix-nature in one
0000180: 206c 696e 6520 6f66 2073 6865 6c6c 2073 line of shell s
0000190: 6372 6970 7420 7468 616e 2074 6865 7265 cript than there
00001a0: 2069 7320 696e 2074 656e 2074 686f 7573 is in ten thous
00001b0: 616e 6420 6c69 6e65 7320 6f66 2043 2ee2 and lines of C..
00001c0: 809d 0a0a 5468 6520 7072 6f67 7261 6d6d ....The programm
00001d0: 6572 2067 7265 7720 6469 7374 7265 7373 er grew distress
00001e0: 6564 2e20 e280 9c42 7574 2074 6872 6f75 ed. ...But throu
00001f0: 6768 2074 6865 2043 206c 616e 6775 6167 gh the C languag
0000200: 6520 7765 2065 7870 6572 6965 6e63 6520 e we experience
0000210: 7468 6520 656e 6c69 6768 7465 6e6d 656e the enlightenmen
0000220: 7420 6f66 2074 6865 2050 6174 7269 6172 t of the Patriar
0000230: 6368 2052 6974 6368 6965 2120 5765 2062 ch Ritchie! We b
0000240: 6563 6f6d 6520 6173 206f 6e65 2077 6974 ecome as one wit
0000250: 6820 7468 6520 6f70 6572 6174 696e 6720 h the operating
0000260: 7379 7374 656d 2061 6e64 2074 6865 206d system and the m
0000270: 6163 6869 6e65 2c20 7265 6170 696e 6720 achine, reaping
0000280: 6d61 7463 686c 6573 7320 7065 7266 6f72 matchless perfor
0000290: 6d61 6e63 6521 e280 9d0a 0a4d 6173 7465 mance!.....Maste
00002a0: 7220 466f 6f20 7265 706c 6965 643a 20e2 r Foo replied: .
00002b0: 809c 416c 6c20 7468 6174 2079 6f75 2073 ..All that you s
00002c0: 6179 2069 7320 7472 7565 2e20 4275 7420 ay is true. But
00002d0: 7468 6572 6520 6973 2073 7469 6c6c 206d there is still m
00002e0: 6f72 6520 556e 6978 2d6e 6174 7572 6520 ore Unix-nature
00002f0: 696e 206f 6e65 206c 696e 6520 6f66 2073 in one line of s
0000300: 6865 6c6c 2073 6372 6970 7420 7468 616e hell script than
0000310: 2074 6865 7265 2069 7320 696e 2074 656e there is in ten
0000320: 2074 686f 7573 616e 6420 6c69 6e65 7320 thousand lines
0000330: 6f66 2043 2ee2 809d 0a0a 5468 6520 7072 of C......The pr
0000340: 6f67 7261 6d6d 6572 2073 636f 6666 6564 ogrammer scoffed
0000350: 2061 7420 4d61 7374 6572 2046 6f6f 2061 at Master Foo a
0000360: 6e64 2072 6f73 6520 746f 2064 6570 6172 nd rose to depar
0000370: 742e 2042 7574 204d 6173 7465 7220 466f t. But Master Fo
0000380: 6f20 6e6f 6464 6564 2074 6f20 6869 7320 o nodded to his
0000390: 7374 7564 656e 7420 4e75 6269 2c20 7768 student Nubi, wh
00003a0: 6f20 7772 6f74 6520 6120 6c69 6e65 206f o wrote a line o
00003b0: 6620 7368 656c 6c20 7363 7269 7074 206f f shell script o
00003c0: 6e20 6120 6e65 6172 6279 2077 6869 7465 n a nearby white
00003d0: 626f 6172 642c 2061 6e64 2073 6169 643a board, and said:
00003e0: 20e2 809c 4d61 7374 6572 2070 726f 6772 ...Master progr
00003f0: 616d 6d65 722c 2063 6f6e 7369 6465 7220 ammer, consider
0000400: 7468 6973 2070 6970 656c 696e 652e 2049 this pipeline. I
0000410: 6d70 6c65 6d65 6e74 6564 2069 6e20 7075 mplemented in pu
0000420: 7265 2043 2c20 776f 756c 6420 6974 206e re C, would it n
0000430: 6f74 2073 7061 6e20 7465 6e20 7468 6f75 ot span ten thou
0000440: 7361 6e64 206c 696e 6573 3fe2 809d 0a0a sand lines?.....
0000450: 5468 6520 7072 6f67 7261 6d6d 6572 206d The programmer m
0000460: 7574 7465 7265 6420 7468 726f 7567 6820 uttered through
0000470: 6869 7320 6265 6172 642c 2063 6f6e 7465 his beard, conte
0000480: 6d70 6c61 7469 6e67 2077 6861 7420 4e75 mplating what Nu
0000490: 6269 2068 6164 2077 7269 7474 656e 2e20 bi had written.
00004a0: 4669 6e61 6c6c 7920 6865 2061 6772 6565 Finally he agree
00004b0: 6420 7468 6174 2069 7420 7761 7320 736f d that it was so
00004c0: 2e0a 0ae2 809c 416e 6420 686f 7720 6d61 ......And how ma
00004d0: 6e79 2068 6f75 7273 2077 6f75 6c64 2079 ny hours would y
00004e0: 6f75 2072 6571 7569 7265 2074 6f20 696d ou require to im
00004f0: 706c 656d 656e 7420 616e 6420 6465 6275 plement and debu
0000500: 6720 7468 6174 2043 2070 726f 6772 616d g that C program
0000510: 3fe2 809d 2061 736b 6564 204e 7562 692e ?... asked Nubi.
0000520: 0a0a e280 9c4d 616e 792c e280 9d20 6164 .....Many,... ad
0000530: 6d69 7474 6564 2074 6865 2076 6973 6974 mitted the visit
0000540: 696e 6720 7072 6f67 7261 6d6d 6572 2e20 ing programmer.
0000550: e280 9c42 7574 206f 6e6c 7920 6120 666f ...But only a fo
0000560: 6f6c 2077 6f75 6c64 2073 7065 6e64 2074 ol would spend t
0000570: 6865 2074 696d 6520 746f 2064 6f20 7468 he time to do th
0000580: 6174 2077 6865 6e20 736f 206d 616e 7920 at when so many
0000590: 6d6f 7265 2077 6f72 7468 7920 7461 736b more worthy task
00005a0: 7320 6177 6169 7420 6869 6d2e e280 9d0a s await him.....
00005b0: 0ae2 809c 416e 6420 7768 6f20 6265 7474 ....And who bett
00005c0: 6572 2075 6e64 6572 7374 616e 6473 2074 er understands t
00005d0: 6865 2055 6e69 782d 6e61 7475 7265 3fe2 he Unix-nature?.
00005e0: 809d 204d 6173 7465 7220 466f 6f20 6173 .. Master Foo as
00005f0: 6b65 642e 20e2 809c 4973 2069 7420 6865 ked. ...Is it he
0000600: 2077 686f 2077 7269 7465 7320 7468 6520 who writes the
0000610: 7465 6e20 7468 6f75 7361 6e64 206c 696e ten thousand lin
0000620: 6573 2c20 6f72 2068 6520 7768 6f2c 2070 es, or he who, p
0000630: 6572 6365 6976 696e 6720 7468 6520 656d erceiving the em
0000640: 7074 696e 6573 7320 6f66 2074 6865 2074 ptiness of the t
0000650: 6173 6b2c 2067 6169 6e73 206d 6572 6974 ask, gains merit
0000660: 2062 7920 6e6f 7420 636f 6469 6e67 3fe2 by not coding?.
0000670: 809d 0a0a 5570 6f6e 2068 6561 7269 6e67 ....Upon hearing
0000680: 2074 6869 732c 2074 6865 2070 726f 6772 this, the progr
0000690: 616d 6d65 7220 7761 7320 656e 6c69 6768 ammer was enligh
00006a0: 7465 6e65 642e 0a tened..

5ки + пары
Сумма баллов по пятиминуткам - 15 + активность на парах

КБ-101

calc

helpgen

getip

sleeptime

which

assocx

getup_unix

rename_unix

which_unix

hexdump_unix

colorize