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

Где-то должен быть список, но я не могу понять, где что-то подобное будет.

он настроен довольно стандартно. Чтобы перечислить всех выпускников / старшекурсников с учетной записью, я могу просто зайти в / home / старшекурсник или / home / выпускник, но я не знаю, как узнать, у кого есть веб-страница там.

Я бы использовал locate, чтобы найти все каталоги www, но это работает только для всемирно читаемых каталогов. Кто-нибудь знает, по крайней мере, какое имя файла я должен искать?

1 ответ1

0

Персональные веб-страницы обычно находятся в каталоге public_html в /home. Это было бы мое предположение по крайней мере.

Вы можете использовать find, чтобы найти их в /home

find /home 2>/dev/null -type d -name public_html
  • /home - каталог для поиска
  • 2>/dev/null скрывает все сообщения об ошибках
  • -type d говорит найти для поиска каталогов
  • -name - это имя каталога для поиска.

Это даст вам список всех каталогов с именем public_html. Вы также можете искать индексные файлы вместо

find /home 2>/dev/null -type f -name index.*

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

Если это работает, но вам нужен только список имен, вы можете передать результаты команды find в awk следующим образом:

find /home 2>/dev/null -type f -name index.* | awk -F/ '{print $3}' 
  • -F/ говорит awk разделить строку на части после /.
  • {print $ 1} - это то, что предшествует первому /
  • {print $ 2} - это то, что предшествует второму /
  • {print $ 3} - это то, что предшествует третьему /

Таким образом, приведенная выше команда выдаст результаты только внутри /home /. Названия домашних каталогов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .