Интерпретаторы командной строки, страница 6

       д)

       Команда uniq выводит информацию о повторяющихся строках файла. Сравниваются только соседние строки. Выведем повторяющиеся размеры файлов в нашей директории. Для этого нам потребуются команды ls - для получения списка файлов, cut - для того, чтобы оставить из списка только размеры, sort - чтобы отсортировать их в порядке возрастания (или убывания) и uniq, чтобы найти одинаковые размеры. Команда выглядит следующим образом:

       ls -l | cut -c 30-43 | sort | uniq -c. Флаг команды uniq выводит перед строкой число, соответствующее числу повторов данной строки.

# ls -l |cut -c 30-43|sort|uniq -c

   1

   1             37

   1             91

   1            288

   8           4096

   2           4746

   1           4754

   1           5015

   1          10240

   1          18651

   1         218448

   1        1816686

       е)

       Команда cmp производит сравнение двух файлов и прекращает работу при первом несовпадении. Сравним файлы наших программ my_open и file_name: cmp my_open.c file_name.c. Появилось сообщение о различиях во второй строке с указанием номера различающихся символов.

   # cmp prog2.c prog.c

prog2.c prog.c differ: char 20, line 2

       ж)

       Команда diff выявляет различия между файлами. Сравним опять же два файла программ на С. diffmy_open.cfile_name.c > eqv. В файле eqv появилась информация о различиях в этих    файлах.         То есть в отличие от команды cmp diff просканировал оба файла полностью и вывел информациюо различиях в каждой строке каждого файла. Причём строка первого файла помечена символом "<", а второго - ">".

# diff prog2.c prog.c

2,4c2,3

< main ( argc, argv )

< int argc;

< char *argv [];

---

> //#include <iostream>

> main()

6,10c5,6

< if (argc > 1) {

<    if (fopen(argv[1],"r") == NULL) {

< printf("%s:neydacha pri popitke otkrit file %s",argv[0],argv[1]);}

<   else

< printf("%s:file %sotkrit",argv[0],argv[1]);

---

> printf("prog.c\n");

> //return "prog.c";

12,14d7

< else

<      printf("otkrivaemii file ne ykazan");

< }

\ No newline at end of file

9. Описание установки QNX 6.4.2

Я установил данную версию операционной системы на ноутбук Acer Aspire 5100. Жесткий диск был        поделен на 3 раздела: один – 10Гб – зарезервированный раздел, на котором хранятся установо- чные файлы операционной системы windows vista. 2 других раздела – по 50 Гб – это собственно    раздел с операционной системой windows vista и свободный раздел. С помощью программы для   работы с жестким диском (acronis) я выделил свободное пространство от не занятого ОС раздела (3 Гб). Установщик QNX определил это пространство, но при попытке установить на него ОС происходила ошибка. В итоге, как оказалось, нужно было свободное пространство «откусывать» от системного раздела, на котором установлена Windows vista. После этого установка прошла успешно. Также установился загрузчик QNX и при включении ноутбука появлялось предложение выбрать 1 из 4х разделов для загрузки ОС. Через некоторое время я решил установить на незанятый ОС раздел новую windows7. Установка прошла успешно, но затёрся загрузчик QNX, и теперь загружалась только windows7, без возможности выбрать QNX или Vista. Проблема решилась путём установки из-под windows7 загрузчика Easy BCD. Он позволяет настроить выбор загружаемой ОС при включении компьютера.