Я собираюсь принять (очень опасный, я знаю), что Вы заканчиваетесь пространство на своем основном разделе и добавили новый диск.
/dev/sda1 / загружают/dev/sda2//dev/sdb1 / var
Принятие, которое Вы скопировали по / папке var на sda2 к разделу на sdb1, можно смонтировать sda2 во второй раз:
mount /dev/sda2 /root/tmp
cd /root/tmp/var
rm -rf *
Вы находитесь теперь в старом '/var' каталог, можно проверить создание файла, это не будет находиться под / var, но это будет там находиться под/root/tmp/var
Теперь можно безопасно удалить файлы onder/root/tmp/var и umount tmp.
Отказ от ответственности: Никакая гарантия, используйте на Ваш собственный риск, не доверяйте мне (или кто-либо еще в Интернете) берут резервные копии!
Можно использовать sed
читать до первой пустой строки и затем использовать cat
для чтения остальных, которые были бы самыми эффективными для больших файлов:
{ sed -n '/./!q;p'; cat; } < the-file
Это только работает с регулярными файлами хотя (не с каналами, потому что sed
считывает данные блоками и не может искать назад на строку после той где q
был назван, если вход не seekable). Как отмечено @peterph, С GNU sed
версия 4.2.2 и выше, можно добавить -u
флаг, который вызывает GNU sed
считать его вход один байт за один раз (и произвести одну строку за один раз) и удаляют проблему с каналами (хотя ухудшающаяся производительность).
-u
опция, которая должна уменьшить буферизацию.
– peterph
13.05.2013, 12:44
-u
, GNU sed все еще считает данные блоками (4k согласно strace
с sed
4.2.1, eglibc 2.13, Linux amd64), таким образом, это не поможет здесь. Я разъяснил то, что я подразумевал под буферизацией.
– Stéphane Chazelas
13.05.2013, 13:56
sed
синтаксис все же. – Stéphane Chazelas 11.05.2013, 17:11sed
альтернативы, все же. – Adrian Frühwirth 11.05.2013, 17:13