команда базового витягу cpio, еквівалент 'tar xzvf'?


12

Я отримав програмне забезпечення Unix як стислий файл cpio. Яка найкраща команда для вилучення файлів?


Коли ти робив man cpioте, що бачив?

5
Я бачу: -i -o -p -t -B -c -C -f -F -H -M -n -v -V -W -b -r -s -S -E -A -O -l - 0 -a -I -L -R -d -m -u -? --extract --create - прохідний - список --block-size = --io-size = --force-local --notchching --file = --format = --message = --numeric- uid-gid --quiet --rsh-command = --verbose --dot --warning = --swap --перейменування - swap-bytes - swap-halfwords --to-stdout --pattern-file = - -only-verify-crc --append --link --absolute-filename --no-absol-finamemes --null - reset-access-time --dereference --owner = --make-каталоги --preserve- час модифікації - власник-консерватор
Марк Гаррісон

Відповіді:


11
gzip -cd foo.cpio.gz | cpio -idmv
  • i: витяг (введення)
  • d: створювати каталоги
  • m: зберегти mtime
  • v: багатослівний

3
mkdir archive
cd archive
zcat ../archive.cpio.gz | cpio -idmv --no-absolute-filenames

Хоча це старе питання, воно відображається високо в Google, тому я подумав, що можу оновити його. Я погоджуюсь із прийнятою відповіддю загалом, але вам слід додати "--no-absol-file-files", якщо ви не збираєтесь перезаписати важливі системні файли на своїй машині. Також особисто я віддаю перевагу "zcat" над "gzip -cd" або "gunzip -c".

Нарешті, зауважте, що вам потрібно запустити cpio як root (наприклад, sudo), якщо ви виймаєте кореневу файлову систему, що містить вузли пристроїв.



0

Наприклад, витягнути архівний вміст / etc / httpd / у поточний каталог, створивши підкаталоги ./etc/httpd/

mkdir restored-etc-httpd
cd restored-etc-httpd    
zcat archive.cpio.gz | cpio -idmv --no-absolute-filenames "*etc/httpd/*"

Прийнята відповідь і Метт були мені корисними, але мене на деякий час затупили через три деталі:

  1. Відповідна модель повинна бути цитується, щоб вона працювала як візерунок: P
  2. Параметр --no-absolute-filenamesповинен передувати шаблону в командному рядку
  3. Оскільки ця опція видаляє ведучі /з імен файлів, відповідна схема також повинна опускати ведучу/
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.