spamsink: (lenin)
[personal profile] spamsink

rm: cannot remove `file_name': No space left on device


Но как, Холмс?

Date: 2014-05-02 01:54 pm (UTC)
From: [identity profile] codedot.livejournal.com
Кстати, это можно заменить одной командой:

find ... -exec rm -fr {} +
Edited Date: 2014-05-02 02:04 pm (UTC)

Date: 2014-05-02 02:54 pm (UTC)
From: [identity profile] spamsink.livejournal.com
Я это, разумеется, знаю. Но через xargs быстрее: во-первых, параллельное выполнение; во-вторых, меньше процессов запускается.

Date: 2014-05-02 04:24 pm (UTC)
From: [identity profile] dvv.livejournal.com
Про параллельное — эт вряд ли (хотя от линуксоидов я вполне могу такого ожидать). А что гораздо быстрее — это да.

upd: Ха. Так и есть — линуксоиды отличились…
Edited Date: 2014-05-02 04:27 pm (UTC)

Date: 2014-05-02 04:28 pm (UTC)
From: [identity profile] spamsink.livejournal.com
Если find выдает тыщи строк, то xargs успевает запустить как минимум один желаемый процесс до того, как find завершится.

Date: 2014-05-02 04:31 pm (UTC)
From: [identity profile] dvv.livejournal.com
Ну да — как только забьёт максимум длины командной строки, так и запускает. Но чтобы действительно в параллель, надо явно параллелизм задавать. Надо сказать, что в BSD это тоже присутствует…

Date: 2014-05-02 06:59 pm (UTC)
From: [identity profile] spamsink.livejournal.com
Я имел в виду в первую очередь в параллель с find. :)

Date: 2014-05-03 12:07 pm (UTC)
From: [identity profile] belezbar.livejournal.com
А почему "+", а не "find ... -exec rm -fr {} \;" ?

Date: 2014-05-03 04:25 pm (UTC)
From: [identity profile] codedot.livejournal.com
Точка с запятой приводит к одной команде на каждый файл. Со знаком плюса rm -fr запускается, когда забьется максимум длины командной строки, как и в случае с xargs(1). Таким образом рождается меньше процессов. Пример:
alexo@kuha:~/.ssh$ find . -exec echo {} \;
.
./id_rsa
./id_rsa.pub
./authorized_keys
./config
./known_hosts
alexo@kuha:~/.ssh$ find . -exec echo {} +
. ./id_rsa ./id_rsa.pub ./authorized_keys ./config ./known_hosts
alexo@kuha:~/.ssh$ 
Edited Date: 2014-05-03 04:34 pm (UTC)

Date: 2014-05-03 04:56 pm (UTC)
From: [identity profile] belezbar.livejournal.com
Ага. Не знал, спасибо.

Profile

spamsink: (Default)
spamsink

June 2025

S M T W T F S
1 2 34567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 10th, 2025 12:51 pm
Powered by Dreamwidth Studios
OSZAR »