Intereting Posts
Заказ файлов, открытых программой Как импортировать новые команды Unix на моем терминале OS X? Один хост, две виртуальные машины, которые не могут пинговать друг друга. Как решить Диалоги пароля блокируют привязки клавиш Как создать нового пользователя без собственной FS, но с доступом к записи только в одну папку пользователя, которая его создает? Blueman-applet / bluetoothd / Thunar не принимает копию файла из obex: /…: «выполняется другая операция Могу ли я запретить использование пространства подкачки для определенного процесса (и его просто убить)? Установка FreeBSD вместе с Linux Изменение пользователя maildir в пользовательское местоположение при создании пользователя Мультизагрузочный USB с дополнительным первым разделом Установка базового уровня громкости на устройстве Pulseaudio Как настроить postfix smtp для каждого пользователя? Как использовать цветной вывод в команде tmux run-shell? Универсальный менеджер пакетов для установки / удаления? Предварительная настройка целевого каталога GNU Stow по умолчанию

Извлечение определенного файла из архива с использованием 7-Zip

Я запускаю Linux Live CD и мне нужно извлечь конкретный файл из архива wim, который находится на диске Я знаю полный путь к файлу в архиве:

xubuntu@xubuntu:~$ 7z l winRE.wim | grep -i bootrec.exe 2009-08-28 15:02:29 ....A 299008 134388 Windows/System32/BootRec.exe 

У меня мало места на диске и я не могу распаковать весь архив.

Как я могу извлечь этот конкретный файл из архива?

Я попробовал опцию -i , но это не сработало:

 xubuntu@xubuntu:~$ 7z x -i Windows/System32/BootRec.exe winRE.wim Error: Incorrect command line 

На странице man 7z написано:

  -i[r[-|0]]{@listfile|!wildcard} Include filenames 

Вам нужно явно указать ! перед именем файла и защитите коммутатор от расширения bash одинарными кавычками: 7z x '-i!Windows/System32/BootRec.exe' winRE.wim

 xubuntu@xubuntu:~$ 7z x '-i!Windows/System32/BootRec.exe' winRE.wim 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs) Processing archive: winRE.wim Extracting Windows/System32/BootRec.exe Everything is Ok Size: 299008 Compressed: 227817568 

(Вы можете избежать сохранения полного пути, используя букву функции e : 7z e '-i!Windows/System32/BootRec.exe' winRE.wim .)

Кстати, если вы не защищаете опцию -i одинарными кавычками или не защищаете ее двойными кавычками, вы получаете сообщение об ошибке:

 xubuntu@xubuntu:~$ 7z x "-i!Windows/System32/BootRec.exe" winRE.wim bash: !Windows/System32/BootRec.exe: event not found 
 7z e [archive name] -o[direction] [filename] -r 

например:

 7z e 'Movies.rar' -o/root/Downloads/ 'Rush.mp4' -r 

Эта команда работала для меня, я попробовал это на сервере Ubuntu 16.04.