Unix(под торговой маркой UNIX )представляет собой семейство многозадачных многопользовательских компьютерных операционных систем, происходящих от оригинальной Unix AT&T. Разработка началась в 1969 году и была объявлена за пределами Bell Abs в октябре 1973 года.
Linuxпредставляет собой Unix -подобную компьютерную операционную систему, созданную по модели разработки и распространения бесплатного программного обеспечения с открытым -исходным кодом. Определяющим компонентом Linux является ядро Linux, ядро операционной системы, впервые выпущенное 17 сентября 1991 года Линусом Торвальдсом.
Linux поставляется в форме, известной как дистрибутив Linux (или сокращенно дистрибутив ), предназначенный как для настольных компьютеров, так и для серверов. Одними из самых популярных и основных дистрибутивов Linux являются Arch Linux, CentOS, Debian , Fedora, Gentoo Linux, Linux Mint, Mageia, openSUSE и Ubuntu, а также коммерческие дистрибутивы, такие как Red Hat Enterprise Linux
.
GNU— операционная система и обширный набор компьютерного программного обеспечения. GNU полностью состоит из свободного программного обеспечения, большая часть которого распространяется под собственной лицензией GPL проекта GNU. GNU — это рекурсивная аббревиатура от «GNU's Not Unix!», выбранная потому, что дизайн GNU похож на Unix -, но отличается от Unix тем, что является свободным программным обеспечением и не содержит кода Unix. Разработка операционной системы GNU была инициирована Ричардом Столлманом, когда он работал в Массачусетском технологическом институте (Массачусетского технологического института )Лаборатории искусственного интеллекта в 1983 году.
Это вернет информацию о файле, которую вы можете получить из заголовка:
curl --head http://speedtest.newark.linode.com/100MB-newark.bin
Он вернется:
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 28 Sep 2019 12:47:03 GMT
Content-Type: application/octet-stream
Content-Length: 104857600
Last-Modified: Thu, 01 Aug 2019 16:35:25 GMT
Connection: keep-alive
ETag: "5d4314cd-6400000"
Accept-Ranges: bytes
Если это то, что вам нужно, вы можете написать сценарий bash для создания файла таблицы/html с этой информацией.
Вы можете использовать это в таком скрипте:
#!/bin/sh
cat << EOF
<table>
<thead>
<tr>
<th>ver</th>
<th>link</th>
<th>modified</th>
<th>size</th>
</tr>
</thead>
<tbody>
EOF
$i=1
cat urls.list | while read url
do
file_info=$(curl -s --head "$url")
last_modified=$(echo "$file_info" | grep Last-Modified | cut -c16- | tr -d '\r\n')
content_length=$(echo "$file_info" | grep Content-Length | cut -c17- | tr -d '\r\n')
cat << EOF
<tr>
<td>1.0.$i</td>
<td><a href="$url">download</a></td>
<td>$last_modified</td>
<td>$content_length</td>
</tr>
EOF
let "i++"
done
cat << EOF
</tbody>
</table>
EOF
Вам необходимо создать файл с именем urls.list
, который должен содержать по одному URL-адресу в каждой строке. Вот так:
http://speedtest.newark.linode.com/100MB-newark.bin
http://speedtest.tokyo2.linode.com/100MB-tokyo2.bin
Запуск сценария приведет к такому результату:
<table>
<thead>
<tr>
<th>ver</th>
<th>link</th>
<th>modified</th>
<th>size</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.0.1</td>
<td><a href="http://speedtest.newark.linode.com/100MB-newark.bin">download</a></td>
<td>Thu, 01 Aug 2019 16:35:25 GMT</td>
<td>104857600</td>
</tr>
</tbody>
</table>
Если вам нужно конкретное имя версии, вы можете сохранить его в файле списка с разделителем (, например.:version name|url
). И нужно будет немного изменить код. Теперь он просто следует порядку списка URL-адресов.