Практически все файловые системы ext4 имеют блоки размером 4 КБ?

Опция -eпринимает аргумент, строку, которая будет оцениваться как код Perl. Когда вы используете perl -lne '...'и perl -nle '...', это работает так, как предполагалось, поскольку порядок параметров не важен (в этом случае ).

Однако, когда вы используете perl -nel '...', вы говорите «вычислить строку lкак код Perl и использовать '...'как имя файла, который будет считан этим кодом», что не имеет особого смысла (вот почему вы получаете эту странную ошибку «Нет такого файла или каталога» ).

Таким образом, нет, порядок опций не важен (здесь ), но если вы перемещаете опцию -e, вы должны переместить аргумент опции -, код Perl, с так, чтобы код Perl всегда шел сразу после этой опции.

Таким образом, если вы хотите, например, поставить параметр -eпервым, используйте

perl -e '...' -ln

Порядок параметров до perlважен, если вы смешиваете такие параметры, как -pи -nв одной командной строке. Опция -pбудет переопределена более поздней опцией -nи наоборот, поэтому perl -npсовпадает с perl -p, а perl -pnсовпадает с perl -n. Это описано в руководстве perlrun(, см. man perlrunили perldoc perlrun).

0
20.11.2020, 18:33
1 ответ

Расчет кажется довольно простым :если размер блока не выбран пользователем, по умолчанию используется размер страницы (, поэтому 4096 )или размер логического сектора устройства, если он больше размера страницы (] есть еще несколько исключений, но это должно охватывать большинство случаев ).

Источник e2fsprogsдоступен здесь , а код, устанавливающий размер блока в mke2fs, — здесь .

2
18.03.2021, 22:48

Теги

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