Как вы можете обрезать файлы с помощью командной строки?

Что такое консольный эквивалент следующего кода Python:

target = file("disk", "w") # create a file target.seek(2*1024*1024*1024) # skip to 2 GB target.write("\0") target.close() 

Может быть, какое-то заклинание dd? Идея заключается в создании файла с видимым размером 2 ГБ для использования, например, в виртуализации.

 kvm disk -cd whatever.iso #Only allocate space as necessary 

  • Самый эффективный способ развертывания ОС на нескольких компьютерах?
  • dd для резервного копирования и восстановления полной системы
  • Что означает dd?
  • Как проверить, что dvd-rw стерта?
  • В чем разница между `dd`,` cp` и `rsync`?
  • Как мне форматировать USB до написания ISO?
  • «Dd» Utillity Скопировано больше, чем ожидалось
  • Почему у этих дублированных SD-карт есть разные sha1sums для их контента?
  • 3 Solutions collect form web for “Как вы можете обрезать файлы с помощью командной строки?”

    Вообще говоря, просто используйте dd , но, как вы упомянули об использовании виртуализации KVM, вы можете рассмотреть возможность использования qemu-img :

     qemu-img create -f raw disk 2G 

    Он делает то же самое, что и команда dd в ответ Криса Дауна.

    Независимо от того, какую команду вы используете для использования в виртуализации, я настоятельно рекомендую использовать fallocate для предварительного выделения блоков, чтобы предотвратить фрагментацию и повысить производительность.

     fallocate -l 2G disk 

    Тем не менее, он недоступен на всех платформах и файловых системах. Это не будет записывать нули, но просто назначает блоки файлу, а не делает это по требованию позже, каждый раз, когда он должен расширять файл.

    Вы можете создать разреженный файл, например, с помощью dd :

     dd of=file bs=1 seek=2G count=0 
     $ du file 0 disk $ du --apparent-size file 2097152 disk 

    См. Также команду обрезания GNU:

     truncate -s 2G some-file 
    Interesting Posts

    включить и отключить сеть виртуального удаленного сервера

    Сколько текста grep / egrep потребляет каждый раз?

    Почему оболочка рыбы должна начать процесс демона?

    Fedora 20 загружается в аварийном режиме

    Использование find и sed для копирования 20-й строки многих файлов в один файл

    Как создать локальную копию полного раздела веб-сайта из OSX с помощью curl?

    Невозможно отредактировать / proc / sys / net / core / wmem_max

    Как глобально включить все дополнения Gahto's bash сразу?

    Проблемы с загрузкой с Kubuntu 13.04 / Windows 7 Двойная загрузка

    Проблема с прежними настройками жесткого диска RAID в Linux Mint 17

    Использование оператора bash «&» с разделителем «;»?

    Initramfs в chroot debootstrap полностью зашифрованной системы

    Компиляция модуля ядра с некоторыми параметрами

    Как загрузить несколько файлов на сервер и сохранить их структуру каталогов с помощью scp?

    Emacs простая арифметика в запросе заменить

    Linux и Unix - лучшая ОС в мире.