Comments 69
Flash drive можно и в NTFS, и в Ext форматировать. =)
0
Если получателем является Windows система, то на ней эффекта, аналогичного cat file.part* > file можно достичь командой copy file.part1+file.part2+...+file.partn file
+8
Спасибо за замечание! Windows в распоряжении нет, поэтому эта система не учитывалась — теперь буду знать! Еще раз спасибо! :)
0
Я бы сказал copy /b file.part1+file.part2 file
На всякий случай.
На всякий случай.
+3
+2
Ещё порекомендую BusyBox для windows — весь набор линуксовых примочек в 1 маленьком .exe
0
Может имеет смысл перенесто топик в Linux для всех?
0
когда-то в институте пользовался этими командами для переноса больших архивов на дискетах)))
0
эх, напомнило далекую молодость, когда у домашнего провайдера SMTP-трафик до собственного сервера был бесплатным и можно было провернуть тривиальную махинацию: на институтский сервер скачать большой файл бесплатно wget-ом, потом его за-split-ить (так как у провайдера было ограничение на размер аттачмента) и отправить на провайдерский ящик файлы mail-ом, а на домашнем компьютере консольным почтовым клиентом собрать опять все воедино.
провайдер через пару месяцев просек фишку и стал раз за разом снижать лимит на размер приаттаченных файлов. а я всего лишь менял в скрипте параметр для split-а на кусочки соотв. размера и мне было все равно, сколько их получалось :) продолжалась наша неравная битва почти год, потом я съехал с той квартиры непобежденный :)
спасибо за заметку, split — отличнейшая штука!
провайдер через пару месяцев просек фишку и стал раз за разом снижать лимит на размер приаттаченных файлов. а я всего лишь менял в скрипте параметр для split-а на кусочки соотв. размера и мне было все равно, сколько их получалось :) продолжалась наша неравная битва почти год, потом я съехал с той квартиры непобежденный :)
спасибо за заметку, split — отличнейшая штука!
+4
А cat поможет мне соединять разбитые winrar'ом архивы?
0
черт дубль
0
Дык эта. Легко. Получишь большой такой мегархив. Одна беда — неясно чем его потом распаковывать. В принципе хорошая задачка для собеседования на позицию сисадмина: кто-то соединил winrar'овские архивы в одно большое месиво командой «cat» — как бы оттуда достать файлы. Пасиба за наводку.
+1
Никак, кроме повторного разбиения на те же кусочки и сборки уже раром. А вот по какому признаку в сырых данных вычленять кусочки — это уже вопрос не к админам, а к программерам.
0
Как раз к админам. Я посмотрел файл /usr/share/misc/magic откуда узнал что магическая последовательность для архивов RAR это «Rar!». Дальше man grep, ищу по слову offset, нахожу опцию -b. Итак: grep -b -o -a 'Rar!' file. После этого пользуясь полученным списком смещений и командой dd, достаю исходные файлы.
+5
Браво! Вполне хорошее админское решение. А то сразу «к программистам, к программистам». Конечно если внутри архива лежит файл с названием «Rar!.exe», то задача становится сложнее, но задача админа как раз и отличается от программистской тем, что нужно как правило не 100% решение, а 99% — но зато здесь и сейчас, а не через месяц работы.
+2
Давайте теперь по каждому мануальному решению создадим топик, будет здорово.
+4
Поддерживаю, будет интересно почитать об этом.
-3
Я вообще-то пошутил.
Но раз вы такой серьезный, вот вам:
find. -name '*.php' -exec php -l {} \;
найдет все файлы с расширением .php в текущей директории и проверит их синтасис :)
Но раз вы такой серьезный, вот вам:
find. -name '*.php' -exec php -l {} \;
найдет все файлы с расширением .php в текущей директории и проверит их синтасис :)
0
Кстати интересная тема, вот для меня когда-то давно было загадкой, как рекурсивно сделать chmod для отдельно для папок и для файлов. А то ведь делаешь rwrwrw, и в папки зайти не можешь ;)
0
#!/bin/bash
find ./ \( -type f -exec chmod $1 {} \; \) -o \( -type d -exec chmod $2 {} \; \);
find ./ \( -type f -exec chmod $1 {} \; \) -o \( -type d -exec chmod $2 {} \; \);
0
Имейте в виду, что -exec неэффективен, так как производит запуск программы для каждого файла. Хотя для частного случая с chmod уже написали, как его нужно запускать, но если для какого-то другого случая вам нужен будет именно find и при этом программа поддерживает список файлов в аргументах, то лучше пользоваться xargs, так как он запустит chmod не тысячу раз, а всего десяток:
find. -type f -print0 | xargs -0 chmod $1
Если у вас гарантированно нет файлов с пробелами или переносами строк, то можно чуть проще:
find. -type f | xargs chmod $1
find. -type f -print0 | xargs -0 chmod $1
Если у вас гарантированно нет файлов с пробелами или переносами строк, то можно чуть проще:
find. -type f | xargs chmod $1
0
Для вашей проблемы не нужно никакого рекурсивного chmod'а. Нужно делать
chmod +rwX -R.
Читайте man на тему разницы между «x» и «X»…
chmod +rwX -R.
Читайте man на тему разницы между «x» и «X»…
+5
Признаться, действительно, несколько колебался прежде чем опубликовать такое простое решение, ведь это не более, чем пример. В итоге решил, что уже достаточное число пользотвателей мигрирует на Linux и используют его для повседневных задач. Популяризация Ubuntu и развитие интерфейсов тому сильно помогают. Такой контингент практически не имеет опыта работы в консоли, ведь многие задачи (создание/извлечение архивов) решаются правым кликом. Однако, что делать, если понадобилось срочно дать другу на flash 8 Гбайтовый образ, а устройство форматировано в FAT32? Именно для такого dummy-случая и пользователя была размещена эта информация. Естественно, у корифеев консоли она вызовет неприятную реакцию, но для просто пользователя, надеюсь, будет практическая помощь.
+1
Спасибо за замечание! Windows в распоряжении нет, поэтому эта система не учитывалась — теперь буду знать! Еще раз спасибо! :)
0
есть замечательный ресурс для этого: linsovet.ru
0
linsovet.com/
Спасибо за ресурс — не знал о нем.
Спасибо за ресурс — не знал о нем.
0
Признаться, действительно, несколько колебался прежде чем опубликовать такое простое решение, ведь это не более, чем пример. В итоге решил, что уже достаточное число пользователей мигрирует на Linux и используют его для повседневных задач. Популяризация Ubuntu и развитие интерфейсов тому сильно помогают. Такой контингент практически не имеет опыта работы в консоли, ведь многие задачи (тот же процесс создание/извлечение архивов, например) решаются правым кликом. Однако, что делать, если понадобилось срочно дать другу на flash 8 Гбайтовый образ, а устройство форматировано в FAT32? Именно для такого dummy-случая и пользователя была размещена эта информация. Естественно, у корифеев консоли она вызовет неприятную реакцию, но для простого пользователя, надеюсь, будет практическая помощь.
0
Мощь консоли безгранична! :)
-2
для Windows split доступен в пакете GnuWin32 (Core Utils)
распаковать в папку windows/system32
распаковать в папку windows/system32
+1
Скажите, а cat * правильно соберёт файлы
part1
part2
part3
…
part9
part10
part11
или он их соберёт так?
part1
part10
part11
part2
…
part9
?
part1
part2
part3
…
part9
part10
part11
или он их соберёт так?
part1
part10
part11
part2
…
part9
?
0
Второе. Для проверки — echo *
+1
Правильно. Первый вариант.
-1
Так первый или второй? Два разных ответа получил.
0
Первый.
-1
Проверьте:
$ for ((i=1;i<=11;i++)); do echo $i > part$i; done
$ cat part* > testfile
$ cat testfile
1
10
11
2
3
4
5
6
7
8
9
Именно поэтому команда split и не будет создавать такие файлы, а грязно выругается: split: Исчерпаны суффиксы для выходных файлов… Так что галактико безопасносте…
$ for ((i=1;i<=11;i++)); do echo $i > part$i; done
$ cat part* > testfile
$ cat testfile
1
10
11
2
3
4
5
6
7
8
9
Именно поэтому команда split и не будет создавать такие файлы, а грязно выругается: split: Исчерпаны суффиксы для выходных файлов… Так что галактико безопасносте…
0
Да, простите, все верно. Действительно, дело в том, что split создает «правильные» суффиксы (т. е. 00, 01, 02, ..., 10, 11, 12, ...), поэтому cat собирает в правильном порядке. В примере указаны ключи "-a 1 -d", что значит к имени добавлять цифровой суффикс единичной длины. В случае с "-a 2 -d" было бы *.part00, *.part01 и т. д.
0
Не нужно гадать. Нужно использовать команду sort :)
0
А что если на харде нет лишних 4 гигабайт, как напрямую на флешку писать?
0
$ cd /media/USBflash
$ split… /path/to/file/sample.iso sample.iso.part
$ split… /path/to/file/sample.iso sample.iso.part
0
Писать скрипт (например) или вручную запускать кучу раз dd:
dd if=big.iso of=/flash/big.iso.part bs=1000M count=1 skip=N
каждый раз увеличивая N от нуля до тех пор, пока dd не запишет пустой файл.
Ну а на другом компьютере каждый раз делать cat /flash/big.iso.part >> /dir/big.iso, а не тратить двойной объем и время на копирование всех частей и их собирание.
dd if=big.iso of=/flash/big.iso.part bs=1000M count=1 skip=N
каждый раз увеличивая N от нуля до тех пор, пока dd не запишет пустой файл.
Ну а на другом компьютере каждый раз делать cat /flash/big.iso.part >> /dir/big.iso, а не тратить двойной объем и время на копирование всех частей и их собирание.
0
dd есть для Windows XP? Оказалось, что приведенный способ универсален для Linux/Mac OS/Windows (естественно, при наличии соответствующих программ в системе).
0
Не, способ неправильный, пользоваться им без исправлений можно только если у вас куча памяти.
Я забыл одну штуку про dd. dd сначала считывает весь блок заданного размера (в этом примере 1 гиг) в память, а потом пишет в выходной файл.
Вот так будет нормально:
dd if=big.iso of=/flash/big.iso.part bs=1M count=1000 skip=N000
то есть уменьшить блок в 1000 раз и скипать по тысяче.
Я забыл одну штуку про dd. dd сначала считывает весь блок заданного размера (в этом примере 1 гиг) в память, а потом пишет в выходной файл.
Вот так будет нормально:
dd if=big.iso of=/flash/big.iso.part bs=1M count=1000 skip=N000
то есть уменьшить блок в 1000 раз и скипать по тысяче.
0
варианты для сплита
1.
cd.
split -b1024M --prefix /destination/part longfile
2.
cd /destination
split -b1024M /source/longfile
1.
cd.
split -b1024M --prefix /destination/part longfile
2.
cd /destination
split -b1024M /source/longfile
0
1.
cd /source
cd /source
0
У меня даже мысли не возникло, что вопрос Mr Floppy может быть настолько простым. Как-то сомневаюсь, что он действительно таким был.
Я вижу ситуацию совсем по-другому:
1) файл размером 10 гиг на жёстком диске
2) места на жёстком диске, допустим, 2 гига
3) флешка размером 1 гиг
4) компьютер с кучей места, куда нужно перенести файл из пункта 1.
Я вижу ситуацию совсем по-другому:
1) файл размером 10 гиг на жёстком диске
2) места на жёстком диске, допустим, 2 гига
3) флешка размером 1 гиг
4) компьютер с кучей места, куда нужно перенести файл из пункта 1.
0
Вот только сегодня собирал cat`ом разбитый в tcmd файл. Причём под WinXP. UnixUtils — сила!
0
Ну вот как-то незаметно появилось поколение юниксоидов, не читающих ман, и не понимающих фразу RTFM…
0
4000M != 4Gb
а вообще спасибо, не знал про эту тулзу
а вообще спасибо, не знал про эту тулзу
0
Обычно, когда получателем являлся неискушенный пользователь виндоуз, я использовал некомпрессированные zip архивы разбитые на тома.(Не компрессировал, когда надо было разбить уже сжатые файлы, например длинную мп3 дорожку) Файлы умеют соединять некоторые командеры, также про copy in1 + in2 out уже написали до меня. А вообще эта проблема уже уходит на второй план.
0
пардон
стандартный зип тома поддерживает?
тогда уж winrar
а закладываться что у пользователя стоит тотал или 7z не стоит
стандартный зип тома поддерживает?
тогда уж winrar
а закладываться что у пользователя стоит тотал или 7z не стоит
0
Я имел ввиду не настолько неискушенного, чтобы у него не стояло архиватора вообще. Таким наверное надо тащить богомерзкие самораспаковывающиеся архивы. А поддержка рара есть реже чем зип томов (по крайней мере на моем опыте, у вас мог быть другой). У меня на компьютере вообще рара не стоит. Честно говоря, я могу прочитать его лицензию, чтобы поставить, но я лучше в это время пойду побегать в парк или поучу язык. Ну или, на худой конец, почитаю (откоментирую) что нибудь такое же бесполезное, как чтение раровской лицензии, но гораздо более интересное.
ЗЫ а вообще Вы, наверное, правы — видимо пользование разбитых на тома зипов видимо тоже моветон.
ЗЫ а вообще Вы, наверное, правы — видимо пользование разбитых на тома зипов видимо тоже моветон.
0
чем выполняется поддержка томов в zip на Ваших компах?
я, честно говоря, кроме 7z и TC других прог не знаю
7z рекомендовал к пользованию всем своим коллегам
разбитие на тома — это правильно!
не люблю когда выкладывают файлик на несколько гиг
а потом при скачивании оказывается, что гдето чтото поломалось и давай по новой
а вот нарезанное по 100-500М — вполне приемлемый вариант
наши заказчики в свое время признавали только zip
последнее время успешно пользуют rar и 7z. особенно когда нужны многотомные архивы
я, честно говоря, кроме 7z и TC других прог не знаю
7z рекомендовал к пользованию всем своим коллегам
разбитие на тома — это правильно!
не люблю когда выкладывают файлик на несколько гиг
а потом при скачивании оказывается, что гдето чтото поломалось и давай по новой
а вот нарезанное по 100-500М — вполне приемлемый вариант
наши заказчики в свое время признавали только zip
последнее время успешно пользуют rar и 7z. особенно когда нужны многотомные архивы
0
Sign up to leave a comment.
Простой способ переноса больших файлов по частям