- 关于sudo
- 关于gedit
此时此刻,深感惭愧!按照正常安排,本应学习完《Linux基础入门》的所有知识;然而在有限的时间里,着实心有余而力不足。仅就我个人学习的过程来讲,学习、消化、吸收每个章节的知识都需要一定的时间,若单纯追求进度,最终效果可能不甚理想。因此目前我只惴惴不安地学习完了前面几个章节;对之前没有接触过Linux的我来说,《Linux基础入门》这门课确实十分重要,后续内容我会争取在近期抓紧学习完毕。在这里仅讨论学习前几个章节时感到困惑的几个方面:
关于sudo在学习过程中发现,有些命令可以直接执行,而有些命令前面还要再搭配使用sudo命令,那么到底什么情况下需要使用sudo命令呢?虽然课程在“创建用户”这部分提到“一般我们登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo 这个命令了”,但仍然感到困惑,通过查询解决了这个问题。
sudo 表示 “superuser do”,sudo命令是帮助已验证的用户获取权限的,使该验证用户能以其他用户的身份来运行命令,其他用户可以是普通用户或者root用户,大多数情况下是root用户。
在Linux和其他类Unix操作系统中,只有root用户可以运行所有命令并在系统上执行某些关键操作,如安装和更新、删除包、创建用户和组、修改重要的系统配置文件等。当我们尝试执行一个需要 root 权限的操作时,若没有使用sudo命令可能就会得到“拒绝访问(Permission denied)”的错误提示。
sudo命令主要有以下一些参数:
(1)-V 显示版本编号
(2)-h 会显示版本编号及指令的使用方式说明
(3)-l 显示出自己(执行 sudo 的使用者)的权限
(4)-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
(5)-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
(6)-b 将要执行的指令放在背景执行
(7)-p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
(8)-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
(9)-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
(10)-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
在课程“命令的查找路径与顺序”部分有如下一段话和代码:“创建一个 Shell 脚本文件,你可以使用 gedit,vim,sublime 等工具编辑。如果你是直接复制的话,建议使用 gedit 或者 sublime,否则可能导致代码缩进混乱。”
之前没有接触过Linux,也没有听说过gedit,第一次看到这部分时,由于文字部分提到它是编辑工具、代码部分又作为命令出现,尤其是在课程自带的Linux环境中输入上述三行代码,还提示如下错误,因此对gedit产生了一些困惑。
gedit实际是一个GNOME桌面环境下兼容UTF-8的文本编辑器,使用GTK+编写而成;Linux中命令gedit的主要作用就是启动GNOME桌面环境下的文本编辑器gedit。
gedit命令主要有以下一些参数:
(1)list-encodings:输出可使用的编码选项列表
(2)encoding=编码:设置打开命令行中列出的文件时使用的字符编码
(3)new-window:在已存在的gedit实例中新建一个最上层窗口
(4)new-document:在已存在的 gedit 实例中新建一个文档
(5)w:以独占方式打开文件直到文件关闭
(6)s:以独立模式运行gedit
关于提示的错误,虽然尝试了网络上其他人在遇到此类错误时的一些解决方法,但遗憾的是,这个问题仍然未能得到解决;不过在通过虚拟机搭建的Linux环境中是不存在这个问题的。



