Рейтинг:1

Почему «ls -U» для каталога, содержащего много файлов, занимает некоторое время, а выполнение «ls -U | head» возвращает ответ немедленно?

флаг cn

Если вы хотите получить образец имен файлов из каталога, содержащего много файлов, рекомендуется использовать команду «ls -U | head», поскольку в противном случае выполнение только команды «ls» может занять довольно много времени.

Однако, почему «ls -U» сама по себе не начинает возвращать выходные данные сразу после запуска?

Рейтинг:1
флаг cn

GNU ls -U означает несортированный вывод, поэтому не нужно ждать, пока все содержимое каталога начнет их печатать.

head закроет стандартный ввод и завершит работу после небольшого количества строк. Когда у писателя канала, в данном случае ls, больше нет читателей, он прекратит работу. Это сбрасывает весь задействованный ввод-вывод после небольшого количества строк, что делает его быстрым при интерактивном использовании.

Дальнейшее чтение: Процесс не закрывается, когда стандартный ввод закрыт


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

Помимо определенного количества файлов, имеет смысл пересмотреть альтернативные макеты каталогов и базы данных. В краткосрочной перспективе поместите проблемный том на быстрые твердотельные накопители, чтобы сделать его производительность приемлемой.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.