Эта команда покажет вам причину ошибки:
apachectl -t
apache2ctl -t
Обычно это может быть очень незначительная ошибка (s ), исправьте ошибку, перезапустите веб-сервер apache и наслаждайтесь.
Удачного кодирования.
Похоже, вы хотите искать flatpak
только в имени файла (, а не в других компонентах пути ), поэтому вы можете использовать опцию -b
/ --basename
:
Так:
locate -ib flatpak
Другим подходом может быть использование опции -r
/ --regex
и запись:
locate -ir 'flapak[^/]*$'
То есть за flatpak
следует любое количество символов, кроме /
, за которым следует конец пути к файлу.
Однако это может привести к пропуску имен файлов, содержащих не -символы (в текущей локали )после flatpak
.
Вы можете использовать sed
для удаления всего после шаблона flatpak
, затем вы можете отсортировать вывод и печатать только уникальные строки:
locate -i flatpak | sed -E -e 's/(flatpak\/?).*/\1/i' -e 's/\/$//' | sort | uniq
Использовать find
для просмотра всей файловой системы в поисках имен файлов, содержащих строку flatpack
в своих именах:
find / -name '*flatpack*'
Если ваша реализация find
имеет -iname
, вы можете использовать ее вместо -name
для поиска без учета регистра. Если вы хотите искать только обычные файлы, то также используйте-type f
(ваш пример включает в себя поиск файлов любого типа, поэтому вам, вероятно, следует пропустить это):
find / -type f -iname '*flatpack*'
Это, скорее всего, приведет к ряду ошибок «Отказано в доступе», поскольку find
пытается спуститься в каталоги, к которым у вас нет доступа. Чтобы избежать этого, вы могли бы использовать GNU find
вот так:
find / ! -readable -prune -o -iname '*flatpack*' -print
Это было бы медленнее, чем использование locate -ib flatpack
, но всегда приводило бы к результатам от -до -. Данные, которые использует locate
, собираются ежедневно или еженедельно и не включают в себя пути, которые не могут быть прочитаны всеми пользователями.