Принятие это - основанный на строке файл, grep
должно быть довольно эффективным. Использовать -f keyfile
и -F
для фиксированных строк:
grep -F -f keys textfile
Примечание: учтите предупреждение о ложных положительных сторонах PeterO в комментариях ниже.
Я зарегистрирован как корень по SSH... Это - удаленное выполнение машины Debian.
Это - на самом деле удаленная машина или справедливое удаленная система? Если это будет частью VPS где-нибудь, (по крайней мере некоторые формы), то виртуализация ОС (например, openVZ) не разрешит это из контейнера. Вы не выполняете машину, Вы просто выполняете свою часть.
Это - нормальное поведение при виртуализации уровня ОС. Это может только быть выполнено кем-то с корневым доступом к аппаратному узлу.
С, например, OpenVZ Вы не получаете свой собственный экземпляр ядра и как таковой, ограничиваются в выполнении команд как это.
Весь совместно используют тот же кэш страницы, таким образом, для отбрасывания кэшей только экземпляра ядро должно проверить, принадлежит ли страница Вам и если другие экземпляры не используют эту страницу также.
С другим методом виртуализации как KVM или Xen это могло бы работать.
sudo
должно охватывать все перенаправление, чтобы оно могло быть полностью выполнено корнем:
$ sudo sh -c "/usr/bin/echo 3 > /proc/sys/vm/drop_caches"
Вы можете использовать echo
, подключенный к sudo tee
, чтобы предоставить надлежащие разрешения, необходимые, когда вам нужно выполнить эхо как root.
echo 3 | sudo tee /proc/sys/vm/drop_caches
Используйте tee --help
, чтобы вывести дополнительные параметры.
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
Эта команда работает для меня без ответа /usr/bin/echo
в mchid. Выдавал ошибку sh: 1: /usr/bin/echo: not found
. Поэтому используется только «эхо»
У меня была такая же проблема, когда я пытался использовать sudo вот так:
sudo echo 1 > /proc/sys/vm/overcommit_memory
Я решил временно переключиться на root. Очевидно, что это разрешение должно быть включено в вашей системе :
.sudo su - #temporarily switch to root user
echo 1 > /proc/sys/vm/overcommit_memory
exit # Exit as root.
Использование аналогичных настроек виртуальной машины с OpenStack, и это работает (под управлением Debian):
sync && sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"