metaclass: (Default)
[personal profile] metaclass
к вопросу о власти крипто-линуксоидов.
Я так понимаю, что у тех, у кого реально есть возможность чего-нибудь накрутить в софте для госструктур, достаточно хорошая зарплата и вообще положение в обществе, чтобы их весь этот мрак, который мы тут массово обсуждаем, никак не интересовал.
Если есть ресурсы делать всякую опердень на обычных языках силами 100 человек, то нахер не нужно никакое ФП. Если есть возможность купить, впарить винды, заплатить откаты и еще при наваре остаться - нахер не нужен никакой линукс, вообще. И если есть зарплата, позволяющая все нужное покупать и еще и откладывать - нахер не нужны никакие революции, смены власти и прочее, на что дрочат все радикалы, от либералов до левых.

Date: 2009-10-09 11:48 pm (UTC)
From: [identity profile] wildman.livejournal.com
а вариант что для кого то в линухе действительно есть всё что нужно вообще не рассматривается?
хотелось бы тогда узнать список того что нужно :)
для меня в линухе нет только игрушек. но как то не так уж часто выходят игрушки в которые хочется поиграться в свободное время. благо есть и повеселее занятия. ну а если уж захочется - лицензия на винду шла с ноутом :)

Date: 2009-10-10 12:04 am (UTC)
From: [identity profile] svarttestare.livejournal.com
Может на сейчас и есть (хотя после Windows программ на их жалкие подобия в Linux смотреть тошно), а что делать потом? Потребности же растут, хочется выполнять свои задачи проще и быстрее :)

Date: 2009-10-10 12:10 am (UTC)
From: [identity profile] wildman.livejournal.com
куда им расти то? пока софт развивается быстрее чем мои потребности. а возможностей для развития лени у линуха побольше будет.
потратить полчаса на скрипт и забыть о данной проблеме навсегда... - стандартная ситуация

но опять же. как и любой программист - я не эталон пользователя. не уверен что среднестатистическим юзверям это подойдёт. набор софта у меня тоже слегка не соответствует рабочей машине. mysql, postgres + postgis, mapserver, apache, sendmail, lighthttpd, tomcat, jetty и т.д. и всё это работает и периодически дёргается. иногда по делу, иногда для фана.

Date: 2009-10-10 12:16 am (UTC)
From: [identity profile] svarttestare.livejournal.com
"как и любой программист - я не эталон пользователя"

Вот в этом ваша правда! Но нужно же быть иногда и человеком, а может быть и менеджером. Ведь именно они в конечном счете принимают решения о том, чему жить, а чему умирать (это в плане ИТ).

Date: 2009-10-10 12:21 am (UTC)
From: [identity profile] wildman.livejournal.com
:) "5 копеек. надо записать..." (с) день выборов.

расфлудились мы что-то на субботу глядя...
спасибо за дискуссию. спать... :)

Date: 2009-10-10 12:17 am (UTC)
From: [identity profile] svarttestare.livejournal.com
Кстати, пару раз сталкивался с ситуацией когда нужна мне задача решалась в обычном, стандартном cmd в Windows намного проще, чем в Linux-овых шелах :)

Date: 2009-10-10 12:21 am (UTC)
From: [identity profile] wildman.livejournal.com
вполне возможно. интересно было бы пример.
мне пришлось как то глубоко вляпаться в вынь скрип хост. ничего позитивного не получил. возможно специфика.

зы. с тех пор и поселил у себя набор unixtools(tail, cat, grep, find, awk и прочее) и на работе.

Date: 2009-10-10 12:28 am (UTC)
From: [identity profile] svarttestare.livejournal.com
Допустим, что у нас есть папка C:\Superpapka, в которой миллион файлов в миллионе подкаталогов. Нужно удалить все эти файлы не тронув файл dontdelete.me, который в виде многих копий разбросан по разным подпапкам в количестве, скажем, несколько сотен штук.
А теперь, внимание, элегантное решение в Windows! :)

forfiles /p c:\superpapka /s /c "cmd /c if not @fname==dontdelete.me del /q @file"

Вот и все А в Linux (да и вообще в никсах) без медленных комманд find, sed и ужасного синтаксиса не обойтись.

Date: 2009-10-10 12:53 am (UTC)
From: [identity profile] wildman.livejournal.com
т.к. сам с таким в голом шелле не не сталкивался обратился к коллективному бессознательному :)

получил мгновенный ответ вида "man find" :)
если подробнее:
max_posedon> кстати, forfiles в 100 раз медленнее find
max_posedon> а задача решается тупо
max_posedon> find + regexp -exec rm
max_posedon> без sed-а и без синтаксиса

насчет скорости конечно надо тестить... а в остальном... имхо не такое уж "элегантное" в Windows решение :)

Date: 2009-10-10 12:59 am (UTC)
From: [identity profile] svarttestare.livejournal.com
max_posedon> а задача решается тупо
max_posedon> find + regexp -exec rm

Где тут тупо решение задачи? :))) Мне, пожалуйста, конкретную строку, да еще такую, чтобы на UNIX тоже работала :)))

На счет скорости forfiles - он в разы быстрее, чем известные мне 2 решения. В частности, я сравнивал с RHEL и HP-UX на очень быстрых машинках :)

Date: 2009-10-10 01:06 am (UTC)
From: [identity profile] wildman.livejournal.com
$ find . -regex '.*/file.ext' -exec 'rm -f'
что то типа такого.
по скорости на "миллион в миллионе" очень не уверен что forfiles будет быстрее. но без теста утверждать не возьмусь. тут много чего влияет. и файловая система не в последнюю очередь (ну тем более что на отдельно взятых "миллион в миллионе" просто не реально создать).

Date: 2009-10-10 01:21 am (UTC)
From: [identity profile] svarttestare.livejournal.com
Не работает ваша строка в RHEL по причине:

find: missing argument to `-exec'

Разбираться нет времени и желания :) Синтаксис уже ужасен - в Windows он предельно понятен - один параметр для определенного, конкретного действия. И ничего лишнего.

Date: 2009-10-10 08:41 am (UTC)
From: [identity profile] d4s.livejournal.com
find ! -name dontdelete.me -type f -delete
на hp-ux проверить не могу - нету

Date: 2009-10-10 09:17 am (UTC)
From: [identity profile] svarttestare.livejournal.com
А если по пути встретится папка с таким же именем, как и нужный нам файл? То есть dontdelete.me? Что будет с ней?

(no subject)

From: [identity profile] d4s.livejournal.com - Date: 2009-10-10 09:32 am (UTC) - Expand

Date: 2009-10-10 08:49 am (UTC)
From: [identity profile] d4s.livejournal.com
и да! как-то ваше решение в виндовс не очень элегантно выглядит.
по крайней мере для меня, слабо разбирающегося в виндовых скриптах, интуитивно непонятны все эти /p /s и т.д.

и, кстати, ваше решение работает на всех версиях Windows ? хотя бы 32-хбитных ?
если нет, то в условии задачи вы не имеете морального права требовать работы скрипта-аналога даже на всех версиях линукса, не говоря уж о других разных *nix-системах.

PS моя позиция к фанатизму различных адептов очень близка к позиции ребе wildwildman.

Date: 2009-10-10 09:20 am (UTC)
From: [identity profile] svarttestare.livejournal.com
В случае с forfiles битность не играет роли. А сама команда, судя по описанию, появилась в далекой Windows 2000.

(no subject)

From: [identity profile] d4s.livejournal.com - Date: 2009-10-10 09:47 am (UTC) - Expand

(no subject)

From: [identity profile] svarttestare.livejournal.com - Date: 2009-10-10 09:51 am (UTC) - Expand

(no subject)

From: [identity profile] d4s.livejournal.com - Date: 2009-10-10 05:12 pm (UTC) - Expand

(no subject)

From: [identity profile] svarttestare.livejournal.com - Date: 2009-10-10 08:21 pm (UTC) - Expand

Date: 2009-10-10 01:07 am (UTC)
From: [identity profile] wildman.livejournal.com
http://www.linux.ie/newusers/beginners-linux-guide/find.php
раздел "Execute!"

Date: 2009-10-10 01:14 am (UTC)
From: [identity profile] svarttestare.livejournal.com
Это не конкретная строка, которую я жду. И то, что описано по ссылке, вряд ли будет работать в HP-UX, например, или в AIX.
И потом, find - это известный тормоз, да еще и с rm!!! На миллионе файлов в HP-UX на машине с 64 гигабайтами памяти на HP9000-ке по дереву из миллиона файлов и каталогов find "гулял" почти 20 минут. Ну не пиздец, а? :)
В то же время, на вполне тривиальном ноуте с C2D процом и всего лишь 4 гигами памяти с Windows 7 x64, приведенное мною решение с forfiles отработало менее чем за 10 минут.

Date: 2009-10-10 01:19 am (UTC)
From: [identity profile] wildman.livejournal.com
ну forfiles предположим в HP-UX тоже будет работать бесконечное время... как и в любом *nix :)

Date: 2009-10-10 01:21 am (UTC)
From: [identity profile] svarttestare.livejournal.com
forfiles не будет работать в HP-UX потому что он есть только в Windows :)

Date: 2009-10-10 01:20 am (UTC)
From: [identity profile] max-posedon.livejournal.com
>Допустим, что у нас есть папка C:\Superpapka, в которой миллион файлов в миллионе подкаталогов. Нужно удалить все эти файлы не тронув файл dontdelete.me, который в виде многих копий разбросан по разным подпапкам в количестве, скажем, несколько сотен штук.
А теперь, внимание, элегантное решение в Windows! :)

> Вот и все А в Linux (да и вообще в никсах) без медленных комманд find, sed и ужасного синтаксиса не обойтись.

Я готов решить вашу задачу в Linux быстрее чем на Windows, если мы поспорим скажем на ящик пива.

Но решить я готов её именно в Linux, а не во всех POSIX ОС или каких то ебанутых окружениях, не потому что не могу, а потому что вы заявили что именно в Linux оно не красиво и медленно.

Впрочем, вы тоже можете очень сильно улучшить своё решение прочитав man по find, в частности про -delete про -false и прочие -name* параметры.

P.S. На выходные уезжаю отдыхать, если не струсите продолжим общение в воскресенье вечером.

(no subject)

From: [identity profile] svarttestare.livejournal.com - Date: 2009-10-10 01:23 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-10-10 01:27 am (UTC) - Expand

(no subject)

From: [identity profile] svarttestare.livejournal.com - Date: 2009-10-10 01:33 am (UTC) - Expand

(no subject)

From: [identity profile] max-posedon.livejournal.com - Date: 2009-10-10 04:58 am (UTC) - Expand

(no subject)

From: [identity profile] svarttestare.livejournal.com - Date: 2009-10-10 09:15 am (UTC) - Expand

Date: 2009-10-11 01:04 pm (UTC)
From: [identity profile] nuclight.livejournal.com
Выбирайте понравившийся вариант (если ваш конкретный Unix вдруг не умеет delete):
find /superpapaka -type f \! -name dontdelete.me -delete
find /superpapaka -type f \! -name dontdelete.me -exec rm -rf {} \+

Обратить внимание на плюс вместо точки с запятой - он форкнет rm минимальное количество раз, что существенно влияет на производительность.

Ну а требование, чтобы все юниксы работали одинаково, если одинаковый интерпретатор shell - звучит бредово по меньше мере странно. Ибо кроме шелла есть еще куча утилит, не встроенных в него. И find в их числе, это "внешняя команда" в терминах DOS/Windows. И в той же Windows набор этих внешних команд и их синтаксис тоже вполне отличается от версии к версии.

Date: 2009-10-10 06:40 am (UTC)
From: [identity profile] metaclass.livejournal.com
в линуксе будет что-то вроде find с инверсией критерия по имени и запуском команды rm для каждого найденного файла. В общем, там тоже в одну строку будет.

Date: 2009-10-10 06:38 am (UTC)
From: [identity profile] metaclass.livejournal.com
Ну вот "потратить полчаса на скрипт" - это как раз занятие для 1% потенциальных пользователей. А остальные хотят прогу с кнопкой "сделайте мне ОК". И ладно бы просто юзера, с линуксом даже с эникейщиками проблема будет.
Например, я почти уверен, что приходящие к юзерам подключать байфлай мастера не смогут подключить его в линуксе, соответственно, клиент с линуксом будет послан в жопу, и будет все подключать сам. И так по множеству вопросов - пользователю линукса хочешь не хочешь нужно становиться профессиональным админом.

Date: 2009-10-10 06:33 am (UTC)
From: [identity profile] metaclass.livejournal.com
Не рассматривается. У всех этот набор "все что нужно" разный. Кому-то нужна какая-то специфическая игрушка, кому-то заказной софт производственного назначения, кому-то клиент-банк с activex в браузере, итд.
А умение линуксоидов ограничивать себя минимальным набором софта уже давно притча во языцех. "Я администрирую сервера, мне линукса хватает, значит должно хватать всем".

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 8th, 2025 04:08 pm
Powered by Dreamwidth Studios