[ 教学 ] 如何在终端下编辑文件

在论坛提问的时候,有时候老手会告诉你比如:

于是新人的想法是这样的:

打开 Dolphin,定位到 /etc/sysconfig/ 文件夹,双击 kernel 这个文本。

修改,保存。

于是一定会出现:

有些新手就会想,这家伙告诉我的东西改不了嘛。另外一些新手就会去右键属性里改权限,但发现另一个提示

总之一定会把你引导去学习 Linux 权限管理系统才会罢休。(如果老手没有很好心的加上一句,「可以在 YaST sysconfig 编辑器里改」的话)

这是一种情况,另一种情况新手已经掌握了 kwrite 和基本的终端操作,于是他会这么做(我在坛子里面见到不少):

kwrite /etc/sysconfig/kernel

然后还是无法保存,他已经知道权限管理系统了,于是会:

sudo kwrite /etc/sysconfig/kernel

于是发现 X 报错,就出现了这个帖子:

viewtopic.php?f=27&t=494

再往下就是典型的「缝缝补补又三年」的例子了。总之就是因为一个不正确的行事方式,导致一堆不正确的行事方式,老手们管它叫做「凑合的胜利」。更搞笑一点的例子是,曾经 fcitx 在一个人的电脑上有 bug 总崩溃,这货为了拒绝学习如何向上游汇报 bug,就自己写了一个脚本绑定快捷键,用快捷键可重启 fcitx…

作为新手,我们一定要从一开始就走在正确的道路上,哪怕是踩着旁边的花花草草走的。如果一开始方向就不对,那你碰到的阻力会越来越大,所以这个时候就要想一想我究竟走对了吗?

实际上,如果你继续缝补,很可能给你撞出一条路来:

sudo chown marguerite:users /etc/sysconfig/kernel
kwrite /etc/sysconfig/kernel
sudo chown root:root /etc/sysconfig/kernel

简单说就是先把所有者变更为自己,用 kwrite 改,改完再变更回去。但你不觉得就为了把 yes 改成 no,这么做有点淡淡的忧伤吗?

** 正路在这里:**

我不会试图一开始就让你变成一个 vimer,这只是 vim 的一个子集。或者说一个很像 vim 的东西。

它叫做 vi

在终端下

vi file.txt

可以打开文件。

进去之后有两种模式:浏览和编辑

按字母「i」键进入编辑模式,按 Esc 退出编辑模式。

在任何模式下都可以使用方向键上下左右或键盘上的 h, j, k, l 移动位置。(当然如果你已经是老手了也可以绑定成比如游戏常用的 w,a, s,d)

修改好后,使用

:wq

保存退出。其中冒号是操作符,w 表示保存,q 表示退出。

有时候你做了一些修改,但是不想保存,这时可以用

:q!

不保存退出。

vi 命令是 sudo 友好的,也就是说你可以

sudo vi /etc/sysconfig/kernel

更多 vim 命令可以去玩这个小游戏:

vim-adventures.com/

或者去看「酷壳」的这篇文章:

coolshell.cn/articles/5426.html

也可以直接输入:

vimtutor

学习。

kdesu -c ‘kwrite /etc/sysconfig/kernel’ or su -c ‘kwrite /etc/sysconfig/kernel’ ?

sudo vi !!!
还能这样用!
之前都是先改完权限才 vi

学习了

感觉没有完全说清楚。。。
可能是怕涉及到文件权限的内容吧
但是用 Linux 不可能不碰到文件权限的问题吧
有些文件即使是 root 也没有 write 或者 execute 权限的(opensuse 没用多久,ubuntu 和 centos 确认有这样的文件)
这种还是要改权限吧
vbird.dic.ksu.edu.tw/linux_basic/0210filepermission_2.php
鸟哥的 Linux 私房菜里头关于权限的内容
一个自己常用的小技巧
遇见没权限的文件直接

sudo chmod 777 [file]

用完之后再把文件改回原始权限
简单粗暴,比较方便

sudo chmod +x/w/r 不是更明了?su 编辑完 exit 回去不是更方便?授人以鱼不如授人以渔。

话说那个游戏很不错,推荐不会用 VIM 的去玩一下,我就是这么学会的

已阅,嘛虽然这些我知道~
来到这里第一次回帖 :sunglasses:

表示 sudo gedit 貌似是可以的…

也有人直接 sudo 文件管理器,当然这样更危险…

不可以。。。kde 反正是不可以,要用 kdesu。gnome 应该也是不可以的,在 gnome 启动图形界面的程序需要 gksu。。。

我在 GNOME 或者 Unity 下一直用 sudo gedit 啊⋯

gksu 和 kdesu,除了給一個圖形對話框給輸入密碼之外,到底做了些什麼事情,有什麼用?

sudo 不可以启动一些图形界面的程序,貌似和 sudo 传递的一些参数有关。su 以后可以打开一些 X 程序,但是 sudo 就不可以。这两者还是有很多微妙的差别的。那个就不太清楚了,我不用 GNOME 和 Unity 。

但是你运行 sudo yast2 和 su 以后再 yast2 打开的不同样子的 YaST2。一个是图形界面,一个是运行在虚拟终端下的。 而 kdesu yast2 出来和 su 以后 再 yast2 的是一样的,有图形界面。。。

大概就是这样的。要运行图形界面就 su 或者 kdesu。不要可以用 sudo。

终端编辑器 我更偏爱 nano~

Sent from my Xperia S using Tapatalk

话说从来都是用 su 横行系统的算什么用户……新新手么? :joy:

YaST 有多個後端啊⋯應該有命令行參數可以強制選擇後端⋯

文本文件最好在终端下,Linux 的优势是终端啊,再说为啥用 VI,不是有 VIM 么。。

因为可以少打一个字母

> la /usr/bin/vi
lrwxrwxrwx 1 root root 8 12 月 17 21:11 /usr/bin/vi -> /bin/vim

不敢苟同 Linux 的优势就是终端,结合使用才是王道。。。。不然那么多开发者辛辛苦苦开发 KDE、Gnome 来干什么。。。好玩么。。。

如果是桌面用户日常使用,完全终端肯定不方便。Linux 的终端强大,非要比较的话是横向与微软,苹果比,而不是跟自己的图形界面。同样横向比较的话,Gnome 等也更强大

Tapatalk

因为可以少打一个字母

> la /usr/bin/vi
lrwxrwxrwx 1 root root 8 12 月 17 21:11 /usr/bin/vi -> /bin/vim

LZ 说得对,终端跟桌边结合才是优势。。

sudo vi !!
受教了!

横向比较的话,确实在大部分任务上 Linux 桌面也要远远比 Windows 和 Mac 强大。