Почему CP не имеет индикатора выполнения как wget?

Это помогает предотвратить распространение вирусов в Windows


Помните, что Linux используется во многих отношениях, такие как файловые и почтовые серверы.

Файлы в этих серверах (Файлы MS Office, сообщения перспективы, программы EXE) могут храниться с заражением.

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

Мне самому установили его для того, когда друг просит, чтобы я проверил, почему их машина Windows не работает, или на то, когда я включаю свой перьевой диск на машине Windows.

58
26.06.2011, 20:07
3 ответа

Традиция в инструментах Unix состоит в том, чтобы отобразить сообщения, только если что-то идет не так, как надо. Я думаю, что это и для дизайна и для практических причин. Дизайн предназначается для создания этого очевидным, когда что-то идет не так, как надо: Вы получаете сообщение об ошибке, и оно не утоплено в сообщениях not-actually-informative. Практическая причина состоит в том, что в еще начальном этапе Unix, все еще было телепринтерами; то есть, вывод из программ был бы распечатан на бумаге, и Вы не хотите печатать индикаторы выполнения.

Безотносительно причины традиция только отображения полезных сообщений всунула мир Unix. Современные инструменты иногда представляли индикаторы выполнения; в случае rsync основная мотивация - то, что rsync часто выполняется по сети, и сети намного более облуплены, чем локальные диски, таким образом, индикатор выполнения более полезен. То же обоснование относится к wget.

60
27.01.2020, 19:33
  • 1
    Это. И cp возвращается к началу 1970-х: это - поединок, столь традиционный, как можно добраться. –  dmckee --- ex-moderator kitten 27.06.2011, 07:54
  • 2
    @dmckee Затем, почему может dd дать операторы прогресса? dd возвращается к 1966 (ОС/360). Инструменты Unix могут быть подробными, если пользователь хочет, чтобы они были подробными, но к сожалению Вы не можете сказать, как подробное CP должно быть (существует только один дополнительный уровень многословия: -v). –  taffer 25.01.2012, 21:33
  • 3
    @taffer dd является странным во многих отношениях (наиболее очевидно, его синтаксис опции), потому что это не от Unix, это - клон инструмента IBM. Кроме того, это главным образом использовалось для долгих задач на лентах, таким образом, его сообщения сказали Вам возвращаться из своего повреждения, в отличие от этого, cp где в большинстве случаев Вы просто мигнули бы и вернули бы свою подсказку. –  Gilles 'SO- stop being evil' 25.01.2012, 23:53

В мире Unix каждый инструмент разработан, чтобы сделать одно задание и сделать это хорошо. Почему был бы cp беспокойство о выводе прогресса, когда другой инструмент как pv он уже? В том же духе, почему столько программ выводит материал на экран без какого-либо разбиения на страницы? Поскольку уже существуют инструменты для того задания такой как more (или less). Почему делают большинство программ, которые требуют, чтобы редактирование файлов НЕ представило Вас редактор и вместо этого произвело на стороне к $EDITOR вместо этого? Поскольку это оставляет всех делающие одну задачу, они были разработаны, чтобы сделать, и пользователь, использующий их любимого редактора для всех задач.

Мимоходом, большинство программных оболочек разработано, чтобы передать их вывод по каналу в другие программные оболочки. Единственный вывод, который они, вероятно, дадут, является вещами, которые были бы полезны для парсинга в следующей команде в цепочке. Программы как cp используются в сценариях, а также вручную от терминала, таким образом, его вывод фокусируется вокруг кода выхода и списков файлов, которые перестали работать, или успешно выполниться.

Всегда ожидайте комбинировать инструменты для выполнения желаемого эффекта.

16
27.01.2020, 19:33
  • 1
    Сделал pv существуйте когда cp был записан? Это - положительная сторона, но у меня есть чувство это в этом случае, cp был первоначально сознательно записан без вывода прогресса, ничто, чтобы сделать с другими инструментами, просто другие причины, которые Вы и Gilles цитируете. –  Cascabel 27.06.2011, 03:18
  • 2
    @Jefromi: я не уверен, что это имеет значение. Это не исторический вопрос о почему cp был один путь, когда он был сначала кодирован. Вопрос состоит в том, почему это - тот путь теперь. Это было много лет, и кто-то, возможно, добавил функциональность, но ясно решил не к. Я уверен доступность других факторов инструментов в то решение. –  Caleb 27.06.2011, 12:16

Это одна из тех предельных вещей, где есть аргументы для и Против добавления параметра прогресса на CP. Основной аргумент против, состоит в том, что вы можете не знать заранее, что вы хотите знать прогресс. Ctrl-T / SIGINFO доступен на BSD для этой цели, и если это будет доступно на платформах GNU / Linux, то может быть больше причин для того чтобы получить логику логики прогресса в CP. Тем временем более общее решение состоит в том, чтобы использовать отдельный инструмент, такой как просмотр прогресса ( (, ранее знает как CV ) Чтобы отобразить состояние любого процесса в системе.

3
27.01.2020, 19:33

Теги

Похожие вопросы