корневые файлы, показываемые в доме

Некоторые мои корневые файлы как .cache, .config, .ipython, .xsession-ошибки, .bashrc, .bash_history, и т.д. являются dislayed в моем корневом каталоге. bash_history файл продолжает обновлять себя, когда я ввожу что-либо в своем терминале. Также, когда я пытался удалить эти файлы, мои катастрофические отказы человечности, и я должен перезапустить свой ноутбук, после которого файлы снова появляются в моем корневом каталоге. Когда я пытаюсь переместить их в корень, он показывает, что файлы aldready существуют в корне и не могут быть перемещены. Я очень смущен тем, что сделать. Это не вызывает ошибки, хотя, но я думаю, что этого не должно происходить.

0
задан 10 April 2018 в 13:00

3 ответа

Вы уверены , что эти файлы принадлежат пользователю root? Сделайте

cd ~
ls -la

, чтобы проверить. Эти файлы, которые вы упомянули, будут сгенерированы при запуске пользовательских приложений для сохранения метаданных и настроек, сделанных пользователем (например, вами). Итак, я предполагаю, что вы обнаружите, что эти файлы (.cache, .config, ...) принадлежат вам, пользователю. Они должны быть там, и все хорошо.

1
ответ дан 30 October 2019 в 02:58

Эти файлы не являются корневыми. Это обычные файлы конфигурации или состояния для вашей учетной записи. Часто, если программа не находит свой файл конфигурации при запуске, она генерирует файл с уникальным именем. Традиционно это файл в домашнем каталоге, начинающийся с . и каким-то образом включающий название программы. В настоящее время все больше и больше программ помещают свою конфигурацию в подкаталог .config.

Вероятно, вас смущает тот факт, что root является обычным пользователем в этом отношении. Таким образом, он имеет свой собственный набор файлов конфигурации в /root/, которые выглядят так же, как файлы в вашем домашнем каталоге.

Обычный . перед этими именами файлов делает его скрытым, поэтому он не отображается в обычных списках каталогов.

Вы не должны удалять их при нормальной работе. Вместо этого, если они вас смущают, попробуйте прочитать справочные страницы соответствующих программ и документацию (например, страницу справочника bash) для получения дополнительной информации о том, что делают эти файлы и как их изменить полезным способом.

3
ответ дан 30 October 2019 в 02:58

Это - каталоги/файлы конфигурации для Вашей учетной записи пользователя. Они должны принадлежать Вам (Ваш идентификатор пользователя). Проверьте на первом уровне с

cd
ls -la

и глубже в деревьях каталогов с

find ~ -ls | grep " root "

или ограничьте поиск скрытыми каталогами

find ~/.[^.]* -ls | grep " root "

Если некоторые из этих файлов принадлежат root, можно получить проблемы. Это может работать для возврата владения к идентификатору пользователя с chown команда. Возможно, лучше удалить конфигурационный файл (файлы) и позволить программе создать новый конфигурационный файл для Вас.


Если Вы запускаете программу с графическим интерфейсом пользователя, GUI, с поднятыми полномочиями, с sudo, Ваша собственная конфигурация для той программы может быть перезаписана с файлом, принадлежавшим root, и программа может (быть, вероятно) сбой, когда Вы пытаетесь выполнить его с нормальными полномочиями (как Ваш идентификатор пользователя).

Для выполнения с поднятыми полномочиями, можно использовать

sudo -H GUI-program

например, для редактирования системного файла, который принадлежит root

sudo -H gedit filename

который заставляет систему сохранить конфигурацию в корректном месте для пользователя root.

Это - хорошая идея выполнить задачи с поднятыми полномочиями с инструментами текстового режима (без графического интерфейса пользователя), например, с редактором nano

sudo nano filename

При выполнении Уэйленда (вместо Xorg), вещи более сложны. См. эту ссылку,

Почему не делают gksu/gksudo или запуск графического приложения с sudo работают с Уэйлендом?

0
ответ дан 30 October 2019 в 02:58

Другие вопросы по тегам:

Похожие вопросы: