То, что вы пытаетесь сделать, это вывести список содержимого каталога запрещеноDir
.
Если сервер не позволяет выводить список содержимого определенного каталога, вы получаете ошибку 403.14 Каталог запрещен
.
Ответ: нет, нельзя.
См. эту ссылку StackOverflow для ответа на этот вопрос на основе dtrace. Я протестировал его на FreeBSD, и он отлично работает:
capture() {
sudo dtrace -p "$1" -qn '
syscall::write*:entry
/pid == $target && arg0 == 1/ {
printf("%s", copyinstr(arg1, arg2));
}
'
}
procfs также доступен во FreeBSD, но из справочной страницы видно, что fd
не реализован. Procfs обычно используется только в FreeBSD для совместимости с Linux.
Нативной заменой procfs во FreeBSD является procstat, которую вы можете использовать с параметром -f
для получения файлового дескриптора:
procstat -a -f
Другой родной инструмент для идентификации активных файлов — fstat. Запомните -m
для файлов с отображением памяти, если это необходимо.
fstat -m
Если вам нравится работать с файловой системой, то у нас есть devfs, который предоставляет доступ к fdescfs, и вы можете получить доступ к fd любым удобным для вас способом.
ls /dev/fd
Пример:
echo -n Hello > hello.txt
echo " World!" | cat hello.txt /dev/fd/0
Если вы хотите что-то переносимое из системы на Mac, вы можете использовать инструмент lsof (LiSt Open Files), который доступен в виде пакета.
Если вас беспокоит переносимость, прочтите Переносимость ссылок файловых дескрипторов. Он охватывает все базы.