5.9 — Задания 1-8

Пожалуйста, выполните следующие задачи как «пользователь»

  1. Скопируйте содержимое файла /etc/passwd в файл ~/myfile.txt.
  2. Выведите на стандартный вывод только имена пользователей в файле, в первом столбце.
  3. Подсчитайте количество строк/пользователей, находящихся в файле, в первой колонке.
  4. Подсчитайте количество слов в файле.
  5. Используйте команду split, чтобы сгенерировать файлы с разделением в 256 байт ~/myfile.txt.
  6. Отобразите различия в первых двух файлах, с помощью соответствующей команды.

 

  1. Замените все слова «root» в файле myfile.txt на «linuxroot», используя потоковый редактор sed
  2. Используйте grep для всех слов, начинающихся с r, далее два подстановочных символа, и заканчивающихся буквой t.
  3. Выведите с помощью grep строки от 5 до 9.

Вы должны войти в систему как ROOT, чтобы выполнить эти упражнения (или как пользователь SUDO, добавляя «sudo» перед каждой командой).

  1. Используя соответствующую команду, отобразите количество файлов и каталогов в файловой системе /var (только число).
  2. Выведите содержимое /var/log/dmesg (или syslog, в зависимости от вашего дистрибутива) и используя соответствующую команду, подсчитайте количество строк в файле. Повторите команду, показывая только количество символов в файле.
  3. Создайте в корневом каталоге каталог с именем ‘tmp’. Перейдите в этот каталог и скопируйте в него файл /etc/fstab. Используя соответствующую команду, узнайте, есть ли какие-либо различия между этим файлом и оригиналом. Отредактируйте файл, добавьте текст в конец и повторите команду, перечисляя различия между файлом в этом каталоге и исходным файлом.
  4. Добавьте ряд новых строк в файл в каталоге ~/tmp, созданный на шаге 3. Запустите команду, чтобы отобразить различия в исходном файле и его копии, и далее, подсчитайте количество измененных строк, используя вертикальную черту и соответствующую команду.
  5. Используя файл журнала из шага 2, создайте новые файлы из этого файла, каждый размером 100 байт, и их имена начинаются со слова «bytes». Наконец, создайте новые файлы из файла журнала на шаге 2, каждый из которых содержит 100 строк, и имя файлов начинается со слова «lines».

Вы должны войти в систему как ROOT, чтобы выполнить эти упражнения (или как пользователь SUDO, добавляя «sudo» перед каждой командой).

  1. Создайте файл с именем test.txt в /root/tmp, содержащий по крайней мере пять предложений различной длины, каждое предложение в своей собственной строке.
  2. Используя команду ‘cut’, отобразите только буквы во втором столбце созданного файла.
  3. При помощи соответствующих опций отобразите от 3 до 6 символов каждой строки (диапазона).
  4. Извлеките и отобразите ТОЛЬКО первые восемь символов с начала каждой строки.
  5. Используя файл ‘/etc/passwd’, отобразите только первое значение поля (имя пользователя) каждой строки, указав, какой столбец вырезать и указывая разделитель поля в файле.

Вы должны войти в систему как ROOT, чтобы выполнить эти упражнения (или как пользователь SUDO, добавляя «sudo» перед каждой командой).

  1. Создайте каталог в корневом каталоге с именем «tmp». Перейдите в этот каталог. Отобразите содержимое каталога /etc на стандартном выводе, и одновременно с этим, той же командой, создайте файл с именем ‘sysdirs’.
  2. Используя команду ‘tee’, выведите список содержимого каталога ‘/var’ и убедитесь, что они добавлены в файл ‘sysdirs’ из шага №1.
  3. Выведите содержимое каталога ‘/var/log’ и убедитесь, что команда «tee» используется для создания трех его копий с именем «copy1», «copy2» и «copy3».
  4. Отобразите все файлы, которые мы только что создали, в ‘tmp’, и используйте ‘tee’, чтобы записать эти данные в файл с именем ‘final.exercise’ используя одну команду.
  1. Создайте новый каталог в домашнем каталоге пользователя, с именем «redirection». Перейдите в этот каталог. Выполните команду ls для каталога /etc и перенаправьте её вывод в файл с именем «etc.list» таким образом, чтобы содержимое файла было перезаписано, если оно существовало.
  2. Выполните команду отображения ВСЕХ файлов (со всеми атрибутами файла и каталога) для каталога /etc. Перенаправьте вывод в файл с именем «etc.full», который будет добавлять содержимое, если оно существует. Выполните еще одну команду, чтобы отобразить содержимое каталога /etc/ssh, перенаправив его в тот же файл. Убедитесь, что содержимое добавлено и не перезаписано.

Упражнения предполагают, что вы вошли в систему под именем «user», и этот пользователь использует «sudo» доступ.

  1. В домашнем каталоге пользователя создайте каталог с названием «exercises». Перейдите в этот каталог. Используя любую из команд видеокурса по этому вопросу, создайте два файла с нулевым размером, и назовите их «test1.txt» и «test2.txt». Вызовите список файлов текущего каталога со всеми атрибутами.
  2. Используя перенаправление, выведите список содержимого текущего каталога и перенаправьте его в файл test1.txt.
  3. Используя перенаправление, добавьте сообщение «Hello World» в файл «test2.txt».
  4. Объедините содержимое файлов test1.txt и test2.txt в один файл под названием «test3.txt».
  5. Снова отобразите содержимое каталога и добавьте его в файл test3.txt.
  1. Используя любой метод создания, создайте текстовый файл с именем test.txt в /home/user со следующим содержимым:

Now is the time for all good men to come to the aid of their country
1
11
111
11
1
World at war
World peace
World domination

  1. Используя одну из команд видеоуроков, отобразите содержимое этого файла так, чтобы числа в середине отображались в порядке от самого наименьшего к наибольшему числу.
  2. Используя ту же команду, из шага 2, добавьте дополнительную команду, которая обработает вывод и удалит все повторяющиеся строки.
  3. Выведите содержимое файла test.txt на консоль, но замените все слова «World» словом «Global».
  4. Манипулируйте содержимым файла test.txt, чтобы все первые буквы «o» (только первые встреченные в строке) были заглавными. Используя перенаправление, перенаправьте результат этой команды в новый файл с именем «mytest.txt». Вызовите содержимое этого файла и проверьте изменения по отношению к регистру букв.
  1. Войдите в систему как пользователь, получите полный список всех процессов, запущенных в системе, и отфильтруйте результаты, чтобы в вывод были включены только процессы, содержащие ключевое слово «ssh».
  2. Заметив, что фактический запуск команды для отображения этих процессов является одним из результатов, повторите команду из шага 1, но направьте ее на другую команду, чтобы отфильтровать саму команду grep.
  3. Запустите команду, чтобы отобразить список всех процессов, фильтруя результаты, отображая только процессы с символом ‘[‘ (открытая квадратная скобка). Убедитесь, что вы не используете регулярное выражение.
  4. Еще раз запустите команду со списком всех процессов, но используйте команду, которая позволяет с использованием расширенных регулярных выражений отображать все запущенные процессы, которые содержат два символа подряд.
  5. Попробуйте другие методы получения тех же результатов, что и на шаге 4.
#main-content .dfd-content-wrap {margin: 0px;} #main-content .dfd-content-wrap > article {padding: 0px;}@media only screen and (min-width: 1101px) {#layout.dfd-portfolio-loop > .row.full-width > .blog-section.no-sidebars,#layout.dfd-gallery-loop > .row.full-width > .blog-section.no-sidebars {padding: 0 0px;}#layout.dfd-portfolio-loop > .row.full-width > .blog-section.no-sidebars > #main-content > .dfd-content-wrap:first-child,#layout.dfd-gallery-loop > .row.full-width > .blog-section.no-sidebars > #main-content > .dfd-content-wrap:first-child {border-top: 0px solid transparent; border-bottom: 0px solid transparent;}#layout.dfd-portfolio-loop > .row.full-width #right-sidebar,#layout.dfd-gallery-loop > .row.full-width #right-sidebar {padding-top: 0px;padding-bottom: 0px;}#layout.dfd-portfolio-loop > .row.full-width > .blog-section.no-sidebars .sort-panel,#layout.dfd-gallery-loop > .row.full-width > .blog-section.no-sidebars .sort-panel {margin-left: -0px;margin-right: -0px;}}#layout .dfd-content-wrap.layout-side-image,#layout > .row.full-width .dfd-content-wrap.layout-side-image {margin-left: 0;margin-right: 0;}