Это приглашение библиотеки readline при вводе числового аргумента. Набрав AltShift@ на клавиатуре, вы, по-видимому, вводите Alt2 , что соответствует M-2
, которое работает digit-argument
в readline по умолчанию и начинает вводить числовой аргумент. Если вы затем нажмете Alt3 (, что AltShift#отображается в вашем случае ), вы увидите, что подсказка изменится на (arg: 23)
; вы можете продолжить с любой комбинацией цифр Alt -.
Эти аргументы используются для некоторых функций readline, например yank-nth-arg
. Чтобы увидеть это в действии, запустите
echo Hello my friend
, затем нажмите Alt2 , затем CtrlAltY ; вы увидите приглашение (arg: 2)
, которое появится, затем исчезнет, а второй аргумент предыдущей команды («мой» )будет добавлен к вашей текущей командной строке.
Подробности см. в связанной документации выше.Bash использует readline для обработки ввода; другие оболочки не будут демонстрировать такое же поведение.
Некоторые эмуляторы терминала используют некоторые из этих комбинаций клавиш в своих целях; например, в терминале GNOME цифра Alt-переключает на вкладку n th. Вам нужно будет отключить эти комбинации, чтобы использовать функции чтения.
В вашем случае веб-эмулятор терминала Codecademy -, похоже, не очень хорошо обрабатывает комбинации AltShift . Если вам не нужны ярлыки числовых аргументов, вы можете переназначить их, запустив
bind Meta-3:insert-comment
Теоретически вы должны иметь возможность сохранить это постоянно, добавив
Meta-3: insert-comment
в файл ~/.inputrc
, но я не смог заставить это работать на Codecademy.
В Lustre 2.12 и более поздних версиях можно указать максимальный размер файла для каждого файла -, каталога -или файловой системы -, указав макет PFL с фиксированным -] конец компонента размера и отсутствие компонента "до максимального размера файла", например:
$ lfs setstripe -E 1G -c 1 /path/to/<file|directory>
Файлы, созданные в directory
, будут ограничены размером 1 ГБ (, например. в каталоге журнала ), и если directory
является корневым каталогом, он применяется ко всем новым файлам в файловой системе, если не указано иное. Тем не менее, вы вероятно не захотите настраивать Luster для собственного использования, если только вашему серверу Samba не требуется много масштабирования емкости/производительности.
Также было бы несложно добавить такое ограничение в ext4. Ему уже приходится иметь дело с разными значениями maxbytes
в зависимости от того, является ли файл блочным (старым стилем, ограничением 4 ТБ )или экстентным отображением (нового стиля, ограничением 16 ТБ ). Установка значений s_maxbytes
и s_bitmap_maxbytes
с помощью параметра /sys/fs/ext4/<dev>/maxbytes
была бы довольно простой и, вероятно, будет принята восходящим потоком (тем временем вы можете исправить ядро вашего сервера ).
Единственная сложность заключается в том, что значение sysfs следует использовать как более низкий предел по сравнению с существующими ограничениями. Не должно быть возможности установить максимальное количество байтов выше существующих пределов.В обработчике sysfs потребуется некоторый код для сброса s_maxbytes
и/или s_bitmap_maxbytes
до старых пределов, если параметр maxbytes
установлен выше. Кодировать было бы проще, если бы s_sysfs_maxbytes
хранился как отдельный параметр в суперблоке, но тогда его нужно было бы проверять при каждом использовании, что немного медленнее, и очень маловероятно, что эти значения изменятся во время выполнения. Также потребуется заменить все обращения к s_*_maxbytes
в коде помощником, например:
loff_t ext4_inode_get_maxbytes(struct inode *inode)
{
loff_t maxbytes;
if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))
maxbytes = inode->i_sb->s_maxbytes;
else
maxbytes = EXT4_SB(inode->i_sb)->s_bitmap_maxbytes;
if (maxbytes > EXT4_SB(inode->i_sb)->s_sysfs_maxbytes)
maxbytes = EXT4_SB(inode->i_sb)->s_sysfs_maxbytes;
return maxbytes;
}
Даже с относительно базовыми навыками кодирования это может сделать новичок в ядре, в основном с поиском -, вырезанием -и -заменой.