Если вы хотите узнать подробности, то исходный код - это то, что вам нужно.
Как правило, процесс с привязкой к вычислениям будет использовать весь свой временной интервал чаще, чем процесс с привязкой к вводу-выводу. Считается, что процессы, которые недавно завершились без использования всего своего распределения, с большей вероятностью сделают то же самое в ближайшем будущем и могут быть запланированы соответствующим образом.
Важно помнить, что процессы могут изменять поведение по мере их выполнения; как долго разлагаться память прошлых временных интервалов - одна из важных настроек большинства планировщиков.
Настоящие планировщики должны учитывать больше, чем просто историческое использование квантов времени: «хорошее» значение и блокировки, которые блокируют другие процессы, - это всего лишь два примера другой информации, которая может быть использована.
Последние эмуляторы терминала поддерживают гиперссылки в ограниченной степени. При условии, что он «знает», какую программу использовать для открытия документа, вам просто нужно вывести имя файла на stdout
в окне терминала с правильным протоколом впереди. Поскольку мы имеем дело с локальными файлами, это означает изменение
/path/to/file/this.doc
-
file:///path/to/file/this.doc
То же, что и гиперссылка, но без доменного имени. Если ваша оболочка знает, как открыть тип файла, она это сделает.
for i in $(ls); do echo "file://$(pwd)/$i"; done
ctrl
+click
РЕДАКТИРОВАТЬ
Внести отличное улучшение @tripleee из комментариев в ответы...
printf "file://$(pwd)/%s\n" *
КОНЕЦ РЕДАКТИРОВАНИЯ
Это не будет работать для файлов с пробелами в именах файлов. потому что расширение $(ls)
создает список имен файлов, разделенных пробелами. Пробел внутри имени файла заставит оболочку думать, что на самом деле это два имени файла, разделенные пробелом.
my file.pdf
становится
my
file.pdf
Если в ваших именах файлов есть пробелы, попробуйте это, пока не найдете более элегантное решение, так как я только что взломал его в ожидании следующего вопроса...... ;-)
for f in $(find. -type f -maxdepth 1 -iname "*" | sed 's/ /%20/g'); do echo "file://$(pwd)/${f#*/}"; done
Просто используйте find
обычным способом, чтобы вернуть нужные файлы.