архитектура средств вычислительной техники - лаб1. AVSS1 — копия. Лабораторная работа 1 по предмету архитектура вычислительных систем и сетей Оценка характеристик персонального компьютера факультет автф
Скачать 205.28 Kb.
|
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ ЛАБОРАТОРНАЯ РАБОТА №1 ПО ПРЕДМЕТУ «АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ И СЕТЕЙ» Оценка характеристик персонального компьютера ФАКУЛЬТЕТ: АВТФ ГРУППА: АВТ- СТУДЕНТ: ПРЕПОДАВАТЕЛЬ: Перышкова Е. Н. НОВОСИБИРСК 202* Цель работыОценить характеристики персонального компьютера. ЗаданиеНаписать bash-скрипт, который выводит на экран характеристики ПК в следующем формате: Ход работыИнформация о дате и имени учетной записи получена из соответствующих переменных окружения. Для форматирования и вывода информации в соответствии с шаблоном использовались команды echo, sed и awk. Поиск строки осуществлялся командой grep. Информация о процессоре получена анализом результата вывода команды lscpu, об оперативной памяти – команды free, о жестком жиске – команды df. Информация о сетевых интерфейсах получена командой ip. Тестирование скорости соединения выполнялось при помощи утилиты speedtest. Формирование данных таблицы выполнялось с помощью временных файлов, выравнивание колонок – командой column. Результат работы скрипта приведен на рисунке 1. Рисунок 1. Скриншот терминала ВыводыВ ходе выполнения лабораторной работы написали bash-скрипт, который выводит на экран характеристики ПК в заданном формате и оценили их. ПриложениеBash-скрипт#!/bin/bash echo -n 'Дата: ' && date | awk '{print $2,$3}' echo -e "Имя учетной записи: $USER" echo -n 'Доменное имя ПК: ' && cat /etc/hostname echo 'Процессор:' echo -e -n ' \t • ' && lscpu | grep 'Model name' | sed 's/Model name:/Имя модели - /' | awk '{print $1,$2,$3,$4,$5,$6}' echo -e -n ' \t • ' && lscpu | grep 'Architecture' | sed 's/Architecture:/Архитектура - /' | awk '{print $1,$2,$3}' echo -e -n ' \t • ' && echo -n 'Тактовая частота - ' && lscpu | grep '@' | awk '{print $NF}' echo -e -n ' \t • ' && echo -n 'Количество ядер - ' && lscpu | grep 'Core(s) per socket' | awk '{print $NF}' echo -e -n ' \t • ' && echo -n 'Количество потоков на одно ядро - ' && lscpu | grep 'Thread(s) per core' | awk '{print $NF}' echo 'Оперативная память:' echo -e -n ' \t • ' && echo -n 'Всего - ' && free | grep 'Mem' | awk '{print $2}' echo -e -n ' \t • ' && echo -n 'Доступно - ' && free | grep 'Mem' | awk '{print $4}' echo 'Жесткий диск:' echo -e -n ' \t • ' && echo -n 'Всего - ' && df | grep '/cow' | awk '{print $2}' echo -e -n ' \t • ' && echo -n 'Доступно - ' && df | grep '/cow' | awk '{print $4}' echo -e -n ' \t • ' && echo -n 'Смонтировано в корневую систему - ' && df | grep '/cow' | awk '{print $NF}' echo -e -n ' \t • ' && echo -n 'SWAP всего - ' && free | grep 'Swap' | awk '{print $2}' echo -e -n ' \t • ' && echo -n 'SWAP доступно - ' && free | grep 'Swap' | awk '{print $4}' echo 'Сетевые интерфейсы:' count=`ls /sys/class/net | wc -l` echo -e -n ' \t • ' && echo -e "Количество сетевых интерфейсов - $count \n" touch temp ip -o link show | awk '{print $2}' | sed 's/://' » temp ip a | grep 'link/' | awk '{print $2}' » temp ip a | grep 'inet ' | awk '{print $2}' » temp #cat temp touch temp2 echo ' № | Имя интерфейса | MAC адрес | IP адрес | Скорость соединения' » temp2 echo '—— |——————————————— |————————————————— |———————————— |————————————————————' » temp2 for ((i=1;i<=$count;i++)) do name=`sed -n "${i}p" temp` mac=`sed -n "$(($i+$count))p" temp` ip=`sed -n "$(($i+$count*2))p" temp` str="$i |$name |$mac |$ip |" if [ $name != `echo "lo"` ] then speed=`speedtest-cli —source $(echo $ip | sed -r 's_/.+__') —simple | grep "Download" | awk '{print $2,$3}'` str+=$speed else str+="-" fi echo $str » temp2 done cat temp2 | column -t -s '|' -o '|' rm temp rm temp2 |