grep
не лучший инструмент для этой работы. Вместо этого используйте find
. Например, find
в сочетании с командой id -u
(, которая выводит ваш числовой uid ):
find ~/ ! -uid "$(id -u)"
Отображает все файлы в вашем домашнем каталоге (и всех подкаталогах ), которые вам не принадлежат.
Если вы хотите ограничить его только своим домашним каталогом (без подкаталогов):
find ~/ -maxdepth 1 ! -uid "$(id -u)"
если вы хотите получить более подробную информацию о файлах:
find ~/ -maxdepth 1 ! -uid "$(id -u)" -ls
или
find ~/ -maxdepth 1 ! -uid "$(id -u)" -exec ls -ld {} +
(параметр -d
используется здесь с ls
, чтобы предотвратить отображение содержимого любых подкаталогов, которые вам не принадлежат)
Поместите секцию [Install]
в myapp.path
. Тогда systemctl enable myapp.path
.
myapp.service
? Если поставить секцию [Install]
в myapp.service
, то служба будет запущена, как только будет поднят multi-user.target
. Вы, вероятно, не хотите этого. Вы хотите, чтобы myapp.service
запускался только тогда, когда myapp.path
запускает его.
myapp.path
? myapp.path
запускает myapp.service
. Поэтому myapp.path
необходимо запустить, если вы хотите, чтобы он что-то делал. Если вы хотите, чтобы он начал отслеживать этот путь сразу после запуска системы, то решением будет добавление раздела установки.
systemctl enable myapp
? Если вы не укажете расширение, предполагается .service
. Поэтому systemctl enable myapp
идентично systemctl enable myapp.service
. Так как в myapp.service
нет раздела [Install]
, включить его не удалось. systemctl enable myapp.path
— это правильно.