Какой метод архивации (tar, zip, 7z и т. д. )позволяет мне сохранять даты модификации папок в macOS?

Как упоминал @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
0
25.09.2020, 10:28
1 ответ

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>

2
18.03.2021, 23:02

Теги

Похожие вопросы