我的终端没有重定向到文本编辑器应用程序

我的终端没有重定向到文本编辑器应用程序

我正在使用 ubuntu 20.04。

今天我重新安装了它,然后我尝试通过终端执行此命令

sudo nano /etc/fstab

当我执行它时,它会打开一个文本文件,它应该打开文本编辑器应用程序进行编辑......但它却是在终端中打开文本文件。

现在我想通过文本编辑器打开该文本文件。那么,我该怎么做呢?

答案1

系统按照您的要求执行了操作。在 中打开文件nano,这是一个可以在终端中运行的小型编辑器。它还将在文本控制台中运行,这在图形环境损坏的情况下非常有用。

Ubuntu 中图形编辑器的命令是gedit。但是,您不能只nano在命令中更改。这将以提升的权限(即以 root 身份)启动图形编辑器。在某些情况下,以提升的权限(以 root 身份)运行图形程序可能会影响您家中的文件权限,并可能导致问题。此外,出于安全原因,不鼓励以 root 身份运行图形应用程序,并且已被弃用。因此,切勿使用该sudo命令来运行图形应用程序。仅用于sudo终端命令。

目前支持使用图形编辑器编辑系统文件的方式是使用admin://URI。因此,/etc/fstab使用以下命令打开系统文件,以安全的方式使用 root 权限进行编辑:

gedit admin:///etc/fstab

出现一个图形对话框,您需要在其中提交用户密码。在会话中第一次输入密码时,系统会连续询问您两次。

通过此机制,您将以普通用户身份编辑系统文件的临时副本。一旦您点击保存,系统文件就会更新。

查看一些替代方法使用链接中的 GUI 编辑器编辑文件。

答案2

nano是一个命令行文本编辑器,没有 GUI 界面。因此,请在终端内的编辑器nano file中打开“文件” nano。现在,需要注意的是下列

图形应用程序通常将设置和其他用户特定数据存储在用户主文件夹内的配置文件中。应用程序用来确定应使用哪个文件作为用户主文件夹的主要机制是 HOME 环境变量。(您可以使用 echo $HOME 自行检查)。

假设您以 root 身份运行 gedit(图形文本编辑器)。如果您运行 sudo gedit,HOME 将继续指向您的主目录,即使程序以 root 身份运行。因此,gedit 将以 root 身份将配置文件写入您的主目录。这有时会导致配置文件归 root 所有,因此您无法访问(当您稍后以自己而不是 root 身份运行程序时)。这主要发生在应用程序必须创建新配置文件时。默认情况下,新创建的文件归创建它们的用户所有(在本例中是 root,而不是您)。


如果您想直接使用 sudo 运行 gedit 之类的图形应用程序,您可以运行:

sudo -H gedit

-H 标志使 sudo 设置 HOME 指向 root 的主文件夹(即 /root)。


使用 then编辑文件时sudo,最好使用命令行编辑器,如nanovi,否则使用sudo -H ...。但是,正如@vanadium 的回答

此外,出于安全原因,不建议以 root 身份运行图形应用程序,并且这种做法已被弃用。因此,切勿使用 sudo 命令运行图形应用程序。仅对终端命令使用 sudo。

答案3

正如其他答案所述,nano这是一个存在于终端中的文本编辑器。

使用箭头键和Pg UPPg Down移动文本光标

使用CTRL++来SHIFTc复制突出显示的文本。

使用CTRL++来SHIFTv粘贴在文本光标的位置显示文本。

您也可以像平常一样右键单击,然后从下拉菜单中选择复制或粘贴。

使用CTRL+o然后ENTER保存更改到您的文件中。

使用CTRL+x退出纳米

搜索文本在文件中,使用CTRL+ w,然后键入搜索查询,然后按ENTER。要重复上次搜索,请按CTRL+ w,然后按ENTER查找下一个实例。

此外,您可以使用BackspaceDelete键一次删除单个字符,并且可以使用CTRL+k删除整行文本,但是如果您使用换行功能且不熟悉有时被视为段落的新行,请务必小心,请不要使用CTRL+k以免意外删除某些内容。

您可以在这里找到更多信息。

相关内容