По умолчанию удар (оболочка) не расширяется, имя файла, начинающееся с точки (рассмотрел скрытый файл), если точка явно не указана. С тех пор [.]
шаблон, а не буквенный символ, он не инициировал дисплей скрытых файлов и так ls -d [.][!.]?*
ничему не соответствует.
Можно изменить это поведение по умолчанию путем выполнения shopt -s dotglob
, который устанавливает опцию на, всегда включает скрытые файлы при расширении шаблонов имени файла (известный как "globbing").
Пример (знак доллара в начале строки указывает на приглашение оболочки; не вводите его):
$ touch .foo
$ ls -d .[!.]?*
.foo
$ ls -d [.][!.]?*
ls: cannot access [.][!.]?*: No such file or directory
$ shopt -s dotglob
$ ls -d [.][!.]?*
.foo
Проблема с echo [D]
то расширение, не происходит, если никакое имя файла не подобрано. Так как Вам не назвали файл D
когда Вы попробовали его, echo
был дан и отражен, что Вы буквально ввели.
Пример расширения пути, только происходящего, когда имя файла соответствует:
$ touch apple
$ echo a*
apple
$ rm apple
$ echo a*
a*
Если Вы удаляете все файлы, которые соответствуют [D]*
, затем echo [D]*
даст Вам [D]*
.
limits.conf
, например, через
(который устанавливает как жёсткий, так и мягкий лимит для процессов, запускаемых под пользовательской debian-трансляцией на 8192)
Если демон уже запущен, он должен быть перезапущен так, чтобы был поднят новый лимит. В случае, если демон запускается вручную с пользовательского сеанса, пользователь должен перезапуститься, чтобы получить новый лимит.
В качестве альтернативы, вы также можете указать дополнительные лимиты непосредственно в [116603]/etc/security/limits.conf[116604], конечно, - но я предпочитаю [116605]. d[116606] для лучшей поддержки.
Для введения различных мягких/жестких лимитов используйте две записи, например
(логическое обоснование: мягкое значение устанавливается после входа пользователя в систему, но пользовательскому процессу разрешается увеличивать лимит до жесткого)
Ограничения [116607]. conf[116608]/[116609]limits.d[116610] configuration используется [116611]pam_limits.so[116612], который включен по умолчанию на текущих дистрибутивах Linux.
Псевдофайл
предоставляет больше информации, например,количество выделенных обработчиков файлов (т.е, количество открытых в настоящее время файлов); количество свободных дескрипторов файлов; и максимальное количество файловых обработчиков
Таким образом, с одной стороны, вам, возможно, придется скорректировать общесистемный лимит [116621]file-max[116622], в случае, если он очень мал и/или система уже очень загружена. С другой стороны, простого увеличения [116623]file-max[116624] недостаточно, так как оно не влияет на мягкие/жесткие ограничения, налагаемые механизмом pam_limits.
Изменить [116625]file-max[116626] в командной строке (перезагрузка не требуется):
$ ln -s ~/dotfiles/bashrc ~/.bashrc
Для постоянных изменений добавьте [116627]fs. file-max=786046[116628] в [116629]/etc/sysctl.conf[116630] или [116631]/etc/sysctl.d[116632].
Верхний предел для [116633]fs.file-max[116634] записан в
fs.nr_open
. Например, (опять же) на Ubuntu 10.04:
$ grep /dev/pts /proc/mounts
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0
(что составляет 1024*1024)
# mount devpts /dev/pts -t devpts -o mode=620
Этот sysctl также настраиваемый.[116258].