2

Как мне сделать .tar из текущего дерева каталогов в Win10? Попытка tar -c Archive.tar * и получение tar: Failed to open '\\.\tape0' .

C:\>tar -h
tar(bsdtar): manipulate archive files
First option must be a mode specifier:
  -c Create  -r Add/Replace  -t List  -u Update  -x Extract
Common Options:
  -b #  Use # 512-byte records per I/O block
  -f <filename>  Location of archive (default \\.\tape0)
  -v    Verbose
  -w    Interactive
Create: tar -c [options] [<file> | <dir> | @<archive> | -C <dir> ]
  <file>, <dir>  add these items to archive
  -z, -j, -J, --lzma  Compress archive with gzip/bzip2/xz/lzma
  --format {ustar|pax|cpio|shar}  Select archive format
  --exclude <pattern>  Skip files that match pattern
  -C <dir>  Change to <dir> before processing remaining files
  @<archive>  Add entries from <archive> to output
List: tar -t [options] [<patterns>]
  <patterns>  If specified, list only entries that match
Extract: tar -x [options] [<patterns>]
  <patterns>  If specified, extract only entries that match
  -k    Keep (don't overwrite) existing files
  -m    Don't restore modification times
  -O    Write entries to stdout, don't restore to disk
  -p    Restore permissions (including ACLs, owner, file flags)
bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.5.f-ipp

1 ответ1

1
-f <filename>  Location of archive (default \\.\tape0)

Вы пропустили -f поэтому tar использовал местоположение по умолчанию (рассматривая Archive.tar как файл, который нужно заархивировать). Ваша команда должна быть похожа

tar -cf Archive.tar *

хотя я не знаю правила использования PowerShell * . Вы можете попытаться пропустить -- раз перед тем, как * сделать так, чтобы tar прекратил разбирать параметры, я надеюсь, что ваш tar понимает это. Это в случае, если * возвращает что-то, чья начальная часть выглядит как опции для tar

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .