Разница между BUFSIZ из stdio.h и размером блока из blockdev?

По умолчанию используется клавиша ssh.ssh/id_rsa.pub.

ssh -i ~/.ssh/local_key.pub user@myremoteserverдолжно работать в вашем случае.

Вы можете настроить .ssh/config, чтобы ssh использовал определенный ключ для определенного сервера.

См. мой ответ на аналогичный вопрос для фрагмента, чтобы сделать все необходимые шаги сразу.

1
08.11.2020, 06:47
1 ответ

Я не уверен, что на самом деле означает абзац из Среда программирования Unix , но я не думаю, что BUFSIZсвязан с размером блока диска --, это было бы невозможно, BUFSIZявляется константой, и вы можете иметь разные размеры блоков на разных дисках (некоторые устройства, такие как NVMe и NVDIMM, даже поддерживают изменение размера блока ).

Мне нравится это определение из документации glibc еще:

The value of this macro is an integer constant expression that is good to use for the size argument to setvbuf. This value is guaranteed to be at least 256. The value of BUFSIZ is chosen on each system so as to make stream I/O efficient. So it is a good idea to use BUFSIZ as the size for the buffer when you call setvbuf.

Но в stdio.hBUFSIZ— это просто константа, установленная в 8192, чтобы я не был уверен, почему в документации сказано, что она выбирается для каждой системы.

blockdevиспользует BLKBSZGETioctl для получения размера блока для указанного устройства, поэтому это фактический размер блока диска.

1
18.03.2021, 22:51

Теги

Похожие вопросы