С GNU findutils
и оболочкой с поддержкой замены процесса (ksh, zsh, bash )вы можете сделать:
xargs -r0a <(locate -0 php.ini) vi
Идея заключалась в том, чтобы передать список файлов через -a filename
, а не стандартный ввод. Использование -0
гарантирует, что он работает независимо от того, какие символы или не -символы могут содержаться в именах файлов.
С помощью zsh
можно сделать:
vi ${(0)"$(locate -0 php.ini)"}
(где 0
— флаг расширения параметра для разделения на NUL ).
Однако обратите внимание, что, в отличие от xargs -r
, по-прежнему выполняется vi
без аргументов, если файл не найден.
Если у вас есть пароль root.
Посмотрите в файле /etc/sudoers
. Вы найдете строку типа %sudo ALL=(ALL:ALL) ALL
, запишите слово после %
. Теперь добавьте себя в эту группу. Выйти. Авторизоваться. Теперь sudo должно работать на вас.
Если у вас нет пароля root, используйте живой дистрибутив, чтобы сделать то, что описано выше.