Почта
Чат
Диск
     

Лабораторная работа №3

Запустите программу "Терминал", для этого нажмите комбинацию клавиш <Ctrl+Alt+T>. Появится окно с черным фоном и мигающим курсором в командной строке. Программа ожидает ввода команд.

Создайте каталог downloads в домашнем каталоге

mkdir ~/downloads

Перейдите в появившийся каталог downloads

cd ~/downloads

Скачайте файл fc_n000.bin с сервера mcc.hydromet.ru с помощью команды wget

wget http://mcc.hydromet.ru/wmc/fc_n000.bin

Посмотрите список файлов в текущем каталоге

ls -l
Появился новый файл?

Скачайте еще файлы fc_n100.bin и fc_n200.bin выполнив последовательно команды

wget http://mcc.hydromet.ru/wmc/fc_n100.bin
wget http://mcc.hydromet.ru/wmc/fc_n200.bin

На сервере mcc.hydromet.ru находится 28 файлов прогноза погоды. Чтобы скачать эти файлы нужно выполнить 28 раз команду wget. Для автоматизации этого процесса проще записать эти команды в текстовый файл - так называемый bash-скрипт. Создайте текстовый файл hydromet.sh командой

gedit hydromet.sh
В файл запишите текст
#!/bin/bash
wget http://mcc.hydromet.ru/wmc/fc_n000.bin
wget http://mcc.hydromet.ru/wmc/fc_n100.bin
wget http://mcc.hydromet.ru/wmc/fc_n200.bin
Сохраните файл нажатием сочетания клавиш <Ctrl+C> и закройте текстовый редактор нажав <Ctrl+Q>.

Поменяйте права доступа к файлу hydromet.sh разрешив его запуск

chmod u+x hydromet.sh

Запустите скрипт комадой

./hydromet.sh
Начнется процесс загрузки трех файлов.

Посмотрите содержимое текущего каталога

ls -l
Вы видите, что появились дубликаты файлов с цифрой 1 в конце имени файла.

Для того, чтобы удалить файлы, начинающиеся с символов fc добавьте команду

rm fc*
во вторую строку скрипта
#!/bin/bash
rm fc*
wget http://mcc.hydromet.ru/wmc/fc_n000.bin
wget http://mcc.hydromet.ru/wmc/fc_n100.bin
wget http://mcc.hydromet.ru/wmc/fc_n200.bin

Запустите скрипт еще раз. Затем убедитесь, что в каталоге больше нет дубликатов файлов.

Посмотрите внимательно на текст скрипта. Команда wget повторяется три раза и отличие лишь только в одном символе (0,1,2). В системе bash есть возможность написать эту команду wget один раз и автоматически подставить символы в нужное место команды. Для этого в скрипте сначало нужно создать массив символов, а потом в цикле перебрать все элементы этого массива. В этом случае скрипт приобретает вид

#!/bin/bash
rm fc*
H="0 1 2"
for h in ${H}; do
  wget http://mcc.hydromet.ru/wmc/fc_n${h}00.bin
done
Внесите исправления в файл и убедитесь, что скрипт копирует те же три файла с сервера.

Создайте свой собственный скрипт в соответствии с индивидуальным заданием, выданным вам преподавателем.

Чтобы посмотреть содержимое файлов их необходимо преобразовать из формата GRIB в формат netCDF с помощью программы cdo, а затем просмотреть с помощью программы ncview. Для этого сначало необходимо установить эти программы на компьютер командами

sudo apt-get install cdo
sudo apt-get install ncview

Преобразуйте файл fc_n100.bin из формата GRIB в формат netCDF командой

cdo -f nc copy fc_n100.bin fc_n100.nc
Убедитесь, что в текущем каталоге появился новый файл fc_n100.nc

Напишите скрипт, который преобразует все файлы в текущем каталоге из фотмата GRIB в формат netCDF.

Посмотрите содержимое файла fc_n100.nc с помощью программы ncview выполнив команду

ncview fc_n100.nc
Что вы видите на экране?

Выключите компьютер командой

sudo shutdown -h now