Что действительно и т.д. обозначает?

Если Вы знаете, что текущий каталог содержит по крайней мере один нескрытый файл:

set -- *; echo "$#"

Это очевидно generalizable к любому шарику.

В сценарии это имеет иногда неудачный побочный эффект перезаписи позиционных параметров. Можно работать вокруг этого при помощи подоболочки или с функцией (версия Границы/POSIX) как:

count_words () {
  eval 'shift; '"$1"'=$#'
}
count_words number_of_files *
echo "There are $number_of_files non-dot files in the current directory"

Альтернативное решение $(ls -d -- * | wc -l). Если шарик *, команда может быть сокращена к $(ls | wc -l). Парсинг вывода ls всегда делает меня обеспокоенным, но здесь это должно работать, пока Ваши имена файлов не содержат новые строки или Ваш ls выходит из них. И $(ls -d -- * 2>/dev/null | wc -l) имеет преимущество обработки случая шарика несоответствия корректно (т.е. это возвращается 0 в этом случае, тогда как set * метод требует трудного тестирования, если шарик мог бы быть пустым).

Если имена файлов могут содержать символы новой строки, альтернатива должна использовать $(ls -d ./* | grep -c /).

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

193
11.01.2011, 10:24
9 ответов

Определить - / и т.д.? имеет некоторую хорошую историю.

Можно найти ссылки на "и так далее" в старой Bell Labs руководства UNIX и так далее – в наше время она использовала только для конфигурации системы, но она раньше была, куда весь материал, который не вписывался в другие каталоги, пошел.

125
27.01.2020, 19:28
  • 1
    "старая Bell Labs руководства UNIX" wher? –  Pacerier 16.08.2017, 04:17

Это означает "и так далее". На латинском буквально "и остальных". И у меня есть доказательство.

Править: В заархивированном сообщении, датированном 4 марта 2007, Peter H. Salus заключает в кавычки электронное письмо, которое он "просто получил" от Dennis Richie, co-создателя Unix, делая очень ясным, что "и т.д." первоначально обозначало:

Я уверяю Вас, что исходное содержание / и т.д. было "и так далее", который, казалось, не соответствовал в другом месте. Другие варианты могли бы сделать свою собственную этимологию по-другому.

С уважением,
Dennis

48
27.01.2020, 19:28

Я думал, что это просто означало "и так далее" как в "и т.д...." в списке.

Этот продукт помогает домашним животным как собаки, кошки, и т.д...

3
27.01.2020, 19:28
  • 1
    я думал, что также, но он не имеет смысла мне. Почему был бы стандартная, корневая папка Linux быть названным и так далее? Но возможно который имеет место... –  David Tang 11.01.2011, 07:05
  • 2
    Только самые обедневшие системы категории испытывает недостаток в "разной" категории. Unix - много достаточно большое для необходимости в "misc" папке; они просто выбрали, другое имя - все. –  Warren Young 12.01.2011, 19:03

Я всегда предполагал, что это должно было предложить разный каталог, как, "и т.д. = все остальные мы не потрудились категоризировать далее"; я лично еще использую такую папку также на моем корневом каталоге также (не названный и т.д., но "весла" =" (что-то)").

3
27.01.2020, 19:28

В начале UNIX это было и необходимо и практично для давания кратких названий материалу. Так, все системные каталоги были сведены к 3 буквам, и они - сокращения. Эти имена все еще присутствуют в современных системах Linux. (т.е. usr-пользователь, переменная var, lib-библиотека). etc прибывает из 'и так далее', но я видел на нескольких сайтах, что бэкроним упоминается, который представил бы etcсуществующая функция: "доступная для редактирования текстовая конфигурация", но снова, это - просто современная адаптация для лучше представления то, что там.

6
27.01.2020, 19:28

Первоначально, был /bin для программ (по существу, исполняемые двоичные файлы), и очень скоро /dev для файлов устройств и /lib для дополнительного исполняемого кода, загруженного программами (библиотеки). /usr также вошел очень рано, сначала для пользовательских данных, затем как дополнительная область OS с его собственным bin и lib и затем man содержа руководство в электронной форме. Под исходным кодом также часто обеспечивали где-нибудь /usr.

И было несколько файлов в операционной системе, которая не поместилась ни в одну из существующих категорий. Это включало a passwd файл, содержащий пароли пользователей, и mtab файл, записанный mount, и init и позже rc программы выполнились во время начальной загрузки и со временем все больше программ, которые были предназначены, чтобы быть выполненными только для цели администрирования и не как часть нормального использования.

(Можно просмотреть некоторый старый исходный код Unix на Дереве Unix. Версии ранее, чем V6 очень фрагментарны. Можно также видеть V1 и руководства V6 в Библиотеке Страницы руководства.)

Сначала, не было никакой коннотации, в которой это регистрирует /etc были конфигурационные файлы. В этом еще начальном этапе, если бы Вы хотели настроить что-то, Вы перекомпилировали бы ту часть системы. Поскольку Unix стал более мощным, было все больше вещей, Вы могли обойтись без перекомпиляции. Поскольку Unix привык более широко, было все больше вещей, которые люди хотели сделать, и они нашли способы выполнения их, не проходя проблему перекомпилировать. Так /etc заполненный все большим количеством текстовых файлов, что люди могли и действительно настраивали, следовательно это постепенно становилось каталогом конфигурации.

С созданием /sbin содержать программы, предназначенные только для системного администратора, /etc законченный содержащий только текстовые файлы, многие из которых могут быть настроены системным администратором. Несколько файлов (например. /etc/mtab, иногда /etc/resolv.conf) автоматически сохраняются системными программами; существует медленная тенденция для перемещения этих файлов в /run в мире Linux.

В современных системах Unix почти все конфигурационные файлы в масштабе всей системы находятся под /etc, но не все файлы в /etc конфигурационные файлы. Типичные дистрибутивы Linux и другие варианты Unix не справляются очень хорошо с изменением многих файлов, которые прибывают из пакетов; как минимум можно закончить тем, что имели необходимость объединить локальные модификации вручную, когда система обновлена.

167
27.01.2020, 19:28
  • 1
    , проблема модификации файла медленно решается путем чтения программ несколько конфигурационных файлов из каталога. Некоторые из тех будут поставлены с пакетом и другими, предоставленными пользователями. Те, которые поставляются, могут возможно быть удалены, но не должны быть измененным пользователем. Фантастический и информативный ответ BTW. –  Omnifarious 22.11.2012, 00:10
  • 2
    В некоторых Ose UNIX Вы найдете символьные ссылки в/, и т.д. указывающем на команды в / мусорном ведре. –  DarkHeart 01.09.2016, 09:19
  • 3
    @Gilles, Где источник для "Первоначально, был..." –  Pacerier 16.08.2017, 04:18
  • 4
    @Pacerier рассмотрения исходного кода, двоичные файлы, работающие в эмуляторах, документации и научно-исследовательских работах (главным образом Thompson и Ritchie). У меня нет ссылок, не стесняйтесь разыскивать их, если Вы хотите. –  Gilles 'SO- stop being evil' 16.08.2017, 12:04

Статья Стандарта Иерархии Файловой системы Википедии предлагает объяснение на этом.

Определенные для хоста конфигурационные файлы в масштабе всей системы Там были противоречием по значению самого имени. В ранних версиях Документа Реализации UNIX из лабораторий Звонка, / и т.д. упоминается как и так далее каталог, поскольку этот каталог исторически содержал все, что не принадлежало в другом месте (однако, FHS ограничивает / и т.д. статическими конфигурационными файлами и не может содержать двоичные файлы). Начиная с публикации ранней документации имя каталога повторно определялось различными способами. Недавние интерпретации включают бэкронимы, такие как "Доступная для редактирования текстовая Конфигурация" или "Расширенный Ящик для инструментов".

Источник: http://en.wikipedia.org/wiki//etc#Directory_structure

20
27.01.2020, 19:28

Я изучаю электронику и у меня есть курс о RaspberryPi. В наших заметках сказано, что /etc означает "Редактируемая текстовая конфигурация". Я всегда предполагал, что "каталог и т.д." - это не более чем ник. В этом есть больше смысла, чем наоборот, но кто я такой...

0
27.01.2020, 19:28

Изначально он должен был быть «и так далее», но теперь это означает «редактируемые текстовые конфигурации».

3
20.08.2021, 13:38

Теги

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