Ubuntu не могу редактировать файл

Обновлено: 05.07.2024

Я совершенно новый пользователь, поэтому я еще не уверен, как обойти систему. Я хочу изменить имя моего компьютера, поэтому я попытался изменить имя в /etc/hostname , но это файл только для чтения. Добавление ! персонаж не помог. я использую vim редактировать файл.

Изменение системных настроек требует прав суперпользователя. Из терминала сделай

где может быть vim, nano или любая другая команда редактора, и это та, которую вам нужно отредактировать.

Вы также можете использовать gksudo gedit <filename> ,

В любом случае вам будет предложено ввести пароль пользователя с правами суперпользователя - в обычной установке Ubuntu это будет первый пользователь, созданный во время установки.

Если вы редактируете файл без sudo и вам нужно sudo чтобы сохранить, просто используйте команду vim:

Благодарим доктора Беко. Обратите внимание, что vim заметит изменение файла и спросит вас, хотите ли вы (L) внести изменения, нажмите L.

Очень короткий ответ:

Вы можете изменить файл (даже если он доступен только для чтения), если вы им владеете.

Короткий ответ:

Даже если пользователь, который вы вошли как (в этом случае navid ) имеет права администратора, вы не сможете изменить /etc/hostname , поскольку root Пользователь владеет этим файлом. Следовательно, вы должны войти в систему как пользователь root.

Длинный ответ

Предполагая, что вы хотите изменить имя вашего компьютера с navid-Satellite-C50-D в navid-Satellite-C50-E Вот шаги, которые вы должны выполнить:

Войдите в систему как пользователь root:

Открыть имя хоста:

Ты увидишь navid-Satellite-C50-D , Нажмите i, чтобы перейти в режим вставки, затем измените его на navid-Satellite-C50-E , Затем нажмите Esc + : + w + q + Enter, чтобы сохранить и выйти.

Верхние 2 строки выглядят так:

Аналогично тому, что вы сделали на шаге 3, измените имя компьютера с navid-Satellite-C50-D в navid-Satellite-C50-E , Затем сохраните и выйдите.

Выйдите из корневого пользователя:

Сохраните все ваши несохраненные работы и перезагрузите компьютер:

Откройте свой терминал, и вы увидите, что имя вашего компьютера было успешно изменено!:-)

Примечание. Хотя вы можете достичь желаемого, пропустив шаги 4 и 5, я настоятельно рекомендую также выполнить их, чтобы избежать потенциальных ошибок в будущем.

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

Да, для многого придуман графический интерфейс, и уже почти все можно сделать в нем, но ручной способ все еще остается мощным и очень гибким путем настройки системы. В этой статье мы рассмотрим как редактировать файлы в Ubuntu. Мы будем рассматривать именно этот дистрибутив, потому что он самый популярный среди начинающих.

Как редактировать файлы в Ubuntu

Новичкам намного проще редактирование файлов ubuntu в графическом интерфейсе и для этого в этой системе по умолчанию поставляется программа Gedit. Это очень простой, но достаточно функциональный текстовый редактор, который позволяет делать все что нужно.

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

Открыть файл тоже можно с помощью проводника, текстовый редактор Gedit по умолчанию назначен для работы с текстовыми файлами, поэтому достаточно выполнить двойной клик по нужному файлу.


Также вы можете запустить Gedit через терминал. Для этого откройте терминал с помощью сочетания клавиш Ctrl+Alt+T, и выполните:


Но проблемы появляются, если вы попытаетесь открыть с помощью Nautilus конфигурационный файл, расположенный выше вашей домашней папки, он принадлежит пользователю root и только он может его редактировать. Поэтому открыть такой файл прямо из файлового менеджера не получится. Он откроется, но сохранить вы его не сможете.

Обычно права установлены таким образом, что открыть то вы его сможете, а вот сохранить изменения уже нет. Запустите терминал и выполните:

gksu gedit /путь/к/папке/с_файлом/файл

После этого программа запросит пароль и запустит текстовый редактор от имени администратора. Дальше вы сможете успешно выполнить редактирование файлов в Ubutnu и сохранить изменения в файле.

Есть еще одной обходной способ, вы можете, добавить пункт открыть от имени администратора в контекстное меню Nautilus. Для этого нужно выполнить несколько команд в терминале. Сначала обновите списки пакетов из репозиториев:

sudo apt update

Установите пакет nautilus-admin:

sudo apt install -y nautilus-admin

Затем выполните такую команду чтобы полностью закрыть Nautilus:

Теперь загрузите Nautilus, и в меню появится пункт Редактировать как администратор:


После нажатия на этот пункт система запросит пароль и вы получите возможность работать с файлом от имени администратора. Но не все любят запускать графические программы, более опытным пользователям нравится выполнять редактирование файла в терминале Ubuntu через терминал, именно такой способ работы с файлами используется везде у нас на сайте. Дальше мы рассмотрим с помощью каких программ это можно сделать.

Редактирование файлов в Ubuntu через терминал

Очень часто среди опытных пользователей принято работать с текстовыми файлами через терминал, для этого применяются две программы. Одна из них более простая и рассчитана на новичков - nano, а вторая более сложная, но очень эффективная - vim. Для редактирования файла с помощью nano используйте соответствующую команду:

Если файл нужно открыть от имени администратора:

sudo nano /путь/к/файлу/имя_файла

Редактор nano очень прост, для перемещения по файлу используйте кнопки со стрелками, после того, как закончите редактировать файл ubuntu, нажмите чтобы сохранить Ctrl+O, а для выхода Ctrl+X. Еще поддерживается поиск и замена, но все на очень примитивном уровне, и этого явно недостаточно для того чтобы работать эффективно.

Другой редактор ориентирован на профессионалов - это редактор vim. Он очень гибкий, может работать в двух режимах - командном и обычном режиме набора текста. Чтобы открыть с помощью него файл выполните:

Или для редактирования файла с правами суперпользователя:

sudo vi /путь/к/файлу/имя_файла

В командном режиме вы можете выполнять поиск, быстро перемещаться по строкам и символам с помощью клавиш набора, а также много других действий. Мы подробно рассматривали как работать с vim в отдельной статье.

Выводы

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

Практически все настройки практически всех приложений в Ubuntu, включая системные компоненты, хранятся в виде обычных текстовых файлов различного формата, называемых конфигурационными файлами или просто «конфигами». Это очень удобно, поскольку позволяет просто читать и менять их не только из конкретного приложения. Нормальные программы обычно содержат встроенный редактор параметров, основные настройки системы так же можно легко изменить с помощью графических утилит, доступных из меню «Система». Однако некоторые операции требуют редактирования системных файлов конфигурации, к которым нет доступа из графического окружения.

Редактирование конфигурационных файлов

Большинство конфигурационных файлов, которые приходится редактировать вручную, к тому же доступны для изменения только пользователю с привилегиями root. Если вам неоходимо отредактировать подобный файл, то вы можете поступить несколькими способами:

Самый простой путь: вызвать диалог запуска программ (по умолчанию - Alt + F2 ) и запустить обычный текстовый редактор с правами суперпользователя командой:

Пользователи Kubuntu должны подставить вместо gedit текстовый редактор KDE kate . У вас попросят ввести ваш пароль и, если вы являетесь администратором компьютера, откроется для редактирования нужный файл.

То же самое можно сделать из терминала, запустив редактор командой

В этом случае вместо графического окна с запросом пароля у вас появится запрос непосредственно в терминале.

При введении пароля в терминале на экране ничего не отображается, ни звёздочек, ни чёрточек, ни каких-либо других символов, это нормально и так и должно быть, просто вводите пароль и нажимайте Enter

Ну и наконец можно отредактировать текстовый файл непосредственно из терминала, не открывая графических приложений вообще. Существует масса текстовых редакторов для терминала, самыми популярными в среде линуксойдов являются vi и emacs , однако ни первым, ни вторым новичку пользовать в принципе нереально, поэтому лучше всего использовать простой в освоении редактор nano , доступный по умолчанию в любой версии Ubuntu. Для открытия текстового файла с правами суперпользователя в nano просто наберите в терминале

Для редактирование некоторых конфигурационных файлов права администратора не требуются и поэтому являются излишними, в этом случае достаточно просто убрать sudo или gksu из начала команды и всё делать так же, как уже описано.

Критические системные файлы

Существует несколько критических конфигурационных файлов, от содержимого которых зависит в системе очень многое, классическим примером является файл /etc/sudoers . Для редактирования конкретно этого файла существует специально адаптированная версия редактора vi , которую можно вызвать командой

Будьте предельно внимательны при изменении подобных файлов, неправильная информация в /etc/sudoers может крайне просто привести к невозможности выполнить что-либо в системе.

Какие текстовые редакторы по умолчанию (GUI и CLI) в разных вариантах Ubuntu. какие команды мы должны использовать для редактирования файлов с ними?


Я попробовал Kubuntu и хочу попробовать больше вкусов Ubuntu и других дистрибутивов, но когда я был в Kubuntu, я так старался бежать gksu gedit /path/file.txt что не сработает, потому что gedit не является текстовым редактором по умолчанию в Kubuntu, это kate. я рад nano был доступен. но если я хочу попробовать больше вариантов, я должен знать, какие текстовые редакторы по умолчанию используются в различных вариантах Ubuntu

4 ответа

Я думаю, что Ответы Музаффара и Терранса отвечают вашим потребностям. Стоит отметить, что вы можете установить любой из этих текстовых редакторов в любом формате.

GUI текстовые редакторы

Gedit, безусловно, самый известный текстовый редактор в мире Ubuntu. Gedit также доступен для Windows и MacOS. Чтобы установить Gedit на любой вкус Ubuntu, используйте следующую команду:

Чтобы открыть файл с помощью gedit:

это также доступно для Windows. Как и многие приложения KDE, он имеет множество функций. Чтобы установить, запустите:

Если вам нужна последняя версия Kate, вам нужно добавить PPA:

Чтобы открыть файл с помощью kate:

В отличие от Кейт, Leafpad делает упор на простоте и легкости, что является основной целью проекта LXDE. Он поставляется предварительно установленным на Lubuntu. Установить:

Чтобы открыть файл с помощью leafpad:

В философии Mousepad очень похож на Leafpad. Установить:

Чтобы открыть файл с помощью коврика для мыши:

Pluma - это форк Gedit, который предустановлен в Ubuntu Mate. Установить:

Чтобы открыть файл с помощью pluma:

* Примечание: если вы хотите редактировать файлы с правами root, добавьте gksu перед командой, вот так:

Текстовые редакторы CLI

Я не знаю, установлен ли Nano на все версии Ubuntu, но, насколько мне известно, он установлен на Ubuntu Unity, Ubuntu Gnome и Kubuntu. Чтобы открыть файл с помощью nano, используйте следующую команду:

Чтобы открыть файл с помощью Vim, введите любую из этих двух команд:

Vim (или, по крайней мере, vi) установлен по умолчанию во всех версиях Ubuntu (или любого другого Linux). Если вы начинаете любить Vim и хотите, чтобы у него был пользовательский интерфейс, попробуйте Gvim. Также обратите внимание, что в некоторых системах vi связан с vim так что обе команды делают одинаковые вещи. (который запускает vim)

Для получения дополнительных сведений о vim см . Руководство для начинающих по Vim или выполните команду vimtutor в терминале.

Имейте в виду, что приложения QT не выглядят хорошо на рабочем столе на основе Gtk и наоборот. но если вы хотите, чтобы они чувствовали себя как дома, попробуйте ответить на этот вопрос. Как сделать приложения KDE естественными в GNOME?

Ароматы Ubuntu могут меняться все время, как и редакторы графического интерфейса по умолчанию. Вместо того, чтобы пытаться запомнить все стандартные графические редакторы каждого дистрибутива, пока xdg-utils установлены, вы можете запустить простую команду xdg-open так что вы знаете, что такое редактор по умолчанию, и можете запустить его, редактируя текстовый файл:

Для командной строки vi/vim & nano кажется наиболее распространенным во всех разновидностях Ubuntu как устанавливаемые по умолчанию редакторы. vi/vim должно быть во всех разновидностях Linux.

Вы можете изменить редактор командной строки по умолчанию с помощью следующей команды, затем вы можете выбрать, какой из них вы хотите использовать по умолчанию:

Тогда, так как команда /usr/bin/editor должен быть на вашем пути, чтобы отредактировать файл, вы можете просто запустить следующее для редактирования вашего файла:

Или если вам нужно повышенное:

Надеюсь это поможет!

Xubuntu - коврик для мыши

Убунту Гном - Гедит

Ubuntu MATE - pluma

Ubuntu Budgie -gedit

Убунту Килин - Гедит

Ubuntu Studio - коврик для мыши

является надежным, если только вы НЕ ОПРЕДЕЛЯЕТЕ "по умолчанию" как то, что они вызывают, а это не тот смысл, в котором это обычно используется.

Например, в моих системах xenial:

У меня не определена глобальная переменная EDITOR:

Так $EDITOR some_file полностью не работает ни в графическом окружении (x & openbox, в lxterminal), ни в tty.

В графическом окружении xdg-open some_file открывает файл в vi. В простой tty, он пытается сделать то же самое, но не удается. Но vi не мой редактор по умолчанию в том смысле, в котором это слово используется чаще всего. Все установленные мной файловые менеджеры согласны с тем, что мой редактор по умолчанию ed (нет, не ТО ed - если бы я был таким мазохистом, я бы использовал vi мой ed это сценарий, который я написал).

Может быть оправдание для определения "default" в терминах одной или другой из этих команд, но при общем использовании подавляющего большинства пользователей "default" - это прилагательное, применяемое к любой программе, открывающей файл, когда вы удваиваете или один щелчок по нему в браузере файлов графического интерфейса (например, Nautilus, Pcmanfm, Thunar и т. д.) (двойной или одиночный в зависимости от настроек в этом браузере файлов PARTICULAR). Или, альтернативно, любая программа открывает файл, когда вы выделяете его и нажимаете ввод в обычном файловом браузере, таком как Midnight Commander.

Таким образом, при наиболее распространенном использовании "по умолчанию" вы можете иметь разные значения по умолчанию для каждого файлового браузера, и когда вы говорите о дефолте без квалификации, это означает, что по умолчанию используется в файловом браузере по умолчанию. И файловый браузер по умолчанию в графической среде будет открываться, если дважды щелкнуть каталог (или "папка") или символическую ссылку на каталог на рабочем столе, или если вы не используете метафору рабочего стола, возможно, один из самых популярных в меню. Насколько я знаю, в этом смысле, который является нормальным использованием в реальном мире, ответ Сумит Дешмукх является абсолютно правильным и полностью полным. Это может быть и в более абстрактных смыслах.

В неграфической среде, за пределами обычного файлового менеджера, здравый смысл слова "default" применительно к редактору не имеет нормального применения. Никто из работающих в tty не вызывает редактора с xdg-open some_file или же $EDITOR some_file если они не работают на чужой машине, не хотят ничего устанавливать и отчаялись. Они открывают редактор, напрямую вызывая того, кого хотят открыть, ПО ИМЯ. Если они получают bash: gedit: command not found они пробуют второго фаворита и т. д. То, что по умолчанию, не имеет значения. Все, что имеет значение, это их предпочтения и то, что установлено или может быть установлено.

Основной момент:

. gksu gedit /path/file.txt, который не будет работать, потому что gedit не является текстовым редактором по умолчанию.

Неправильно. И именно поэтому я написал, чтобы объяснить, почему это утверждение неверно и почему эта команда не выполнена. Что такое редактор по умолчанию, как бы вы его ни определяли, не имеет значения.

Чтобы эта команда работала, вам нужно 2 вещи:

Обе программы, gksu а также gedit , должен быть установлен в системе.

У вас должны быть соответствующие разрешения для файла и его наследственных каталогов. Вы должны иметь x во всех каталогах в пути, по крайней мере r в самом файле и, вероятно, по крайней мере r в родительском каталоге. Некоторые редакторы могут требовать w в файле или даже в родительском каталоге, хотя они не должны.

Но ГКСУ опасно. Используйте gksudo, если вам это нужно. Но не используйте никакие команды типа su/sudo/gksu/gksudo/pkexec, если только следующая команда не завершится без нее. И даже тогда, только если он ДОЛЖЕН потерпеть неудачу. Если это сработало, использование команды sudo-ish, чтобы СДЕЛАТЬ, что это похоже на "Если это не подходит, возьмите больший молот". Это создаст больше проблем в будущем. В этом случае исправьте разрешения и попытайтесь выяснить, почему они были ошибочны.

Ни одна из команд типа sudo не является всемогущей. Иногда вы ДОЛЖНЫ изменить разрешения, прежде чем сможете редактировать файл, даже С gksudo.

Относительно опасностей gksu послушайте Пэдди, который прокомментировал ответ Сьюмит. Он мудрый парень, который был вокруг некоторое время. Повторяя его 3 ссылки:

Читайте также: