小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
众所周知,对于Linux系统,真正的终端:没有图形界面,只有黑底白字的全屏幕终端,只能通过键盘输入,也可以称为 Console(控制台),我们要熟悉命令行及命令参数,才能真正发挥Linux系统的强大功能。
一、初见命令行参数
对于上图所示,可以看到终端的一行中开头是一串字符,后面白色的那一小块其实是闪动的光标,提示我们输入会从光标处开始。
那一串 oscar@oscar-laptop:~$ 是什么意思呢?我们还什么都没有输入呢,怎么就显示了这一串不明所以的文字呢?
不要慌,你可以把它看成电脑跟你说“你好”呢。这是终端“打招呼”的方式(我承认这种打招呼的方式有点非主流,但是考虑到命令行是在 20 世纪六七十年代出生的,请多多包涵),术语叫做“命令行提示符”,顾名思义就是提示在其后面输入命令。
在你输入新的一行命令前,这个命令提示符都会出现。
很想知道这一串字符到底表示什么意思对吗?我们把其拆分开来讲解:
- oscar 这是当前用户的名字。Linux 是一个多用户的操作系统,Windows 也可以。不过 Linux 的多用户管理更方便。我们一般建议每个使用 Linux 系统的用户都创建一个属于自己的账户,便于隐私管理。我们之后的课程会讲如何在 Linux 下创建新用户;
- @ 这个符号我们应该不陌生,我们的电子邮件一般都是 name@domain.com 。这个 @ 就表示英语里的 at,是“在…里面;落户在…的;在其中”的意思。@ 前面是用户名,后面是所在的域;
- oscar-laptop 这是当前电脑/主机的名字。上面说了在 @ 后面的是一个域,所以 oscar@oscar-laptop 就表示 oscar-laptop 这台电脑的 oscar 这个用户。oscar-laptop 这个名称在安装此 Linux 系统时可以任意指定,之后也还是可以修改的;
- : 冒号。这是分隔符,没有什么特别的涵义;
- ~ 这是当前所在目录的名字,会随着用户进入不同目录而改变。~ 表示当前用户的家目录,有点类似 Windows 系统的“我的文档”这个目录;
$指示你所具有的权限的字符。在 Linux 系统中有两种可能:
$:美元符号。表示普通用户,有权限的限制(比如不能修改重要的系统文件等)。因此我的账户 oscar 就是一个普通用户;
#:井号。表示超级用户,也就是 root。表示你当前以 root 这个用户出现。root 拥有所有权限,是系统的大管家,想干什么就干什么。所以一般不推荐初学者登录为 root,因为一不小心可能会误删一些文件。之后的课程我们会再来研究 root 模式,暂时我们还是“乖一点”好了,以免办傻事。
因此, oscar@oscar-laptop:~$ 的意思就是: 你好,你目前是以 oscar 这个用户登录;你的电脑名称为 oscar-laptop;你目前位于 ~ 目录下,就是你的用户家目录。你是普通用户,拥有有限的权限。