Как упоминал @dirkt, таблица маршрутизации по умолчанию хранится в виде текста в /proc/net/route
в любой современной системе Linux, но, к сожалению, IP-адреса хранятся в (в обратном )шестнадцатеричном формате. С помощью небольшого взлома bash и помощи от awk
и sed
мы можем превратить это в удобочитаемый IP-адрес :
for i in $(echo "$(< /proc/net/route | head -2 | tail -1 | awk '{print $3}')" | sed -E 's/(..)(..)(..)(..)/\4 \3 \2 \1/' ) ; do printf "%d." $((16#$i)); done | sed 's/.$//'
Вот та же идея в более читаемой (и многострочной -строчной )версии:
#!/usr/bin/env bash
get-default-gateway() {
default_route_ip="$(< /proc/net/route | head -2 | tail -1 | awk '{print $3}')"
hex-ip-to-dec-ip "$default_route_ip"
}
hex-ip-to-dec-ip() {
local hex_ip="$1"
for i in $(echo "$hex_ip" | sed -E 's/(..)(..)(..)(..)/\4 \3 \2 \1/' ) ; do
printf "%d." $((16#$i));
done | sed 's/.$//'
}
get-default-gateway
it creates a tar file that, when extracted, makes the modified dates of Folder1, Folder2, and Folder3 equal to the time when they were extracted.
Ваш tar
работает странно, или, может быть, вы что-то упускаете из виду (, например. вы сразу добавляете новые файлы в распакованные каталоги ), потому что tar
по умолчанию восстанавливает даты изменения каталогов. Я только что дважды проверил это, используя tar версии 1.32 в Fedora 32.
Is there a method in 7z that is just as fast as tar without compression? Thanks!
Вам не нужен 7z, но вы всегда можете использовать метод сжатия хранилища в 7z, например.
7za a -mx=0 -ms=off -mhc=off archive.7z <files>