sh 使用xz创建具有任意名称的文件的压缩副本,保留源文件。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 使用xz创建具有任意名称的文件的压缩副本,保留源文件。相关的知识,希望对你有一定的参考价值。

archive_file() {
  local src_file="$1"
  local dst_file="$2"
  local -i exit_status=0
  local msg_type=

  [[ ! -e $dst_file ]] || {
    printf "%s: Destination file '%s' exists.\n" \
      "$FUNCNAME" "$dst_file" >&2
    return 1
  }

  xz --stdout - <"$src_file" >"$dst_file" || {
    exit_status="$?"
    case "$exit_status" in
      2)
        msg_type="Warning"
        ;;
      1 | *)
        msg_type="Error"
        ;;
    esac
    printf "%s: %s compressing file '%s' to file '%s'.\n" \
      "$FUNCNAME" "$msg_type" "$src_file" "$dst_file" >&2
    return "$exit_status"
  }

  touch --no-create --reference="$src_file" "$dst_file" || {
    exit_status="$?"
    printf "%s: touch failed setting times on file '%s'.\n" "$FUNCNAME" \
      "$dst_file" >&2
    return "$exit_status"
  }
}

以上是关于sh 使用xz创建具有任意名称的文件的压缩副本,保留源文件。的主要内容,如果未能解决你的问题,请参考以下文章

linux压缩命令之xz命令总结

linux中 tar .gz bz2 xz 怎么用 解压

linux压缩/解压xz

.xz文件解压及linux常见压缩

tar.xz文件解压和压缩

tar.xz文件如何解压