Помимо ответов, уже предоставленных для CentOS 6.5,
CentOS 7 также имеет инструмент текстового пользовательского интерфейса для изменения имени хоста (и других сетевых настроек), часть Network Manager:
nmtui
запускает этот пользовательский интерфейс:
который имеет опцию Set system hostname
.
Текстовый пользовательский интерфейс NetworkManager установлен по умолчанию в образе CentOS-7-x86_64-DVD-1511.iso, базовая установка. Если в вашем его нет, вы можете установить его следующей командой:
yum install NetworkManager-tui
Нет ограничений (кроме доступной памяти) на количество файлов, которые могут быть расширены с помощью bash
glob.
Однако, когда эти файлы передаются в качестве аргументов команде, которая выполняется (в отличие от встроенной оболочки или функции), вы можете столкнуться с ограничением execve()
системный вызов в некоторых системах. В большинстве систем этот системный вызов имеет ограничение на совокупный размер переданных ему аргументов и среды, а в Linux также отдельное ограничение на размер отдельных аргументов.
Подробнее см.:
Чтобы обойти это ограничение, вы можете использовать (при условии, что GNU xargs
или совместимый):
printf '%s\0' foo* | xargs -r0 rm -f
Выше, поскольку printf
встроен (в bash
и большинстве Bourne-подобных оболочек), мы не достигаем предела execve()
. И xargs
разделит список аргументов на столько вызовов rm
, сколько необходимо, чтобы избежать ограничения execve()
.
С zsh
:
autoload zargs
zargs foo* -- rm -f
С ksh93
:
command -x rm -f foo*
Вы можете увидеть предел для общего размера аргументов с помощью:
getconf ARG_MAX
Обычно это определяется не оболочкой, а базовой операционной системой согласно этот ответ .