[RH124] 2-命令行的使用

1.登录图形界面

可以在登录时修改图形界面风格,例如GNOME,GNOME Classic等。

电源设置:

在setting中选择电源设置,将black screen修改为never,即永不黑屏。

按Window键,可以打开应用板:

 

 

除了图形界面登录,还可以使用命令行方式登录,有以下几种方式:

  • 远程连接
  • 终端
  • 字符界面 

其中远程连接有专门的章节介绍。

2.终端

图形界面中在桌面上点击右键,可以打开终端(terminal)

ctrl+shift+T可以打开新的终端页签。每个终端都会链接到shell进程。终端是终端,shell进程是shell进程,不能混为一谈,每个终端会启动并链接一个shell进程。

可以在终端界面中点击右键修改终端的风格,例如字体、字色、背景色等:

 

3.字符界面

ctrl+alt+F1为图形界面。

ctrl+alt+F2-6为字符界面,可以在字符界面使用tty来查看是第几个字符界面。

如果在字符界面使用 startx 命令来启动图形界面,则这个图形界面就会代替该字符界面。例如在tty2中启动startx。那么该图形界面就在tty2中。

4.命令

命令格式: 命令名称 + option可选项 + 参数 

例如:

 

ls -l  /leo

 

命令是个动作(动词),参数是动作的对象,而option就是如果将动作作用于该参数。

举个现实生活中的例子:吃饭。吃就是命令,饭就是参数。如果是“小口的吃饭”,那么小口就是option。

 

在Linux命令中,我们的option使用"-"来表示,例如ls -l中的"-l"。并且可以将多个option组合起来,例如 ls -la ,相当于 ls -l -a /leo (如果没有参数就表示查看当前路径下的内容)。

如果option是英文全称,例如help,则使用"--"来表示,即 --help 。(如果使用-help,shell会认为是-h -e -l -p的组合)

 

常见命令例子:

whoami  # 或 who am i 查看当前登录用户 ,  后者输出的信息更详细。
who  # 或 w 查看目前登录所有用户,  后者输出的信息更详细。
ls -lah /leo   # 查看/leo目录里的所有文件详细信息。-l表示详细信息,-a表示全部文件(包含隐藏),-h表示人类易读,显示大小单位,例如MB、GB等。注意,该命令显示的记录中,只会显示文件夹本身的大小,而不会包含文件夹里面文件的大小。
du -h /leo   # 查看/leo目录总的大小(包含其中的文件,不包括".."的大小)。-s可以只显示总大小。

4.Bash提供的快捷键

Tab键:补全命令。

#号:注释。

上下键:查看已使用过的命令。

history命令:列出已使用过的命令。清除history,使用history -c

!号+数字:例如!25,表示重新执行histroy列表中的第25条命令。

在终端里选中需要复制粘贴的内容:点击鼠标中间滚轮就可以直接完成复制和粘贴。

如果快速引用上一条命令的最后一个参数:使用"alt+."或者在按ESC松手后马上按"."
Ctrl+a :光标移到命令开头。
Ctrl+e :光标移到命令末尾。
Ctrl+u :从光标删除到开头。
Ctrl+k :从光标删除到末尾。

Ctrl+左 :按一个一个单词(空格分隔)往左移光标。
Ctrl+右 :按一个一个单词(空格分隔)往右移光标。

Ctrl+r :从历史命令里搜索。
Ctrl+l :相当于clear,清屏。
Ctrl+Shift+t :在终端中新建一个页签。

Ctrl+pageup :向前切换一个终端页签。
Ctrl+pagedown :向后切换一个终端页签。
Ctrl+Shift+'+' :放大当前终端页签。
Ctrl+'-' :缩小当前终端页签。
Ctrl+d :关闭一个终端页签。

5.切换root用户(重点)

当我们以普通用户登录时,例如使用hanxinda用户登录,我们在使用 mount /dev/cdrom /mnt 挂载光盘时,提示 mount:only root can do that 

此时我们需要获取root权限。

切换到root用户,有两种方式:

su root   # 切换到root用户,并且保持当前所在目录。例如我们在hanxinda的家目录。那么切换后就在/home/hanxinda中。可以简写为su。
su - root   # 切换到root用户,所在目录也切换到root的家目录/root。可以简写为su -。

这两种方式的区别是存在着环境变量的问题,在RH254课程中讲解。推荐使用 su - root 的形式。

sudo:(重点)

例如当hanxinda用户想执行mount命令时,需要root权限才能执行,但是hanxinda用户并不知道root密码。那么就需要root用户给hanxinda用户授权能够执行mount命令。

需要先使用root用户登录,然后使用vim(需要使用:wq!强制保存)、gedit、visudo来编辑/etc/sudoers,在里面作如下定义:

hanxinda leokale=(root) /bin/mount

其中hanxinda是需要执行/bin/mount的普通用户,leokale是主机名(使用hostname查看),root是指执行/bin/mount时使用root权限,/bin/mount时授权使用的命令。

然后hanxinda用户使用 sudo mount /dev/cdrom /mnt 就可以执行成功了。

初次执行sudo时,会让我们输入hanxinda用户的密码,密码默认保存5分钟(可能是)。

sudo -l  # 可以查看详细信息。
sudo -k  # 可以删除保存的密码,下次执行sudo时会被提醒输入密码。

如果不想在执行sudo时输入密码,可以在sudoers文件中做如下修改:

hanxinda  leokale=(root)  NOPASSWD:  /bin/mount,/bin/umount

允许执行所有命令 :

hanxinda  leokale=(root)  NOPASSWD:  ALL

(注意,如果不生效,可以检查一下hanxinda属于哪个用户组,如果属于管理员用户组。由于在该条配置后面有一条默认配置%admin ALL=(ALL) ALL,这是用于配置admin用户组,会覆盖我们修改的配置,所以可以把我们编辑的配置写在sudoers文件的最后。)

 

我们也可以不在/etc/sudoers中进行修改:

  可以在 /etc/sudoers.d 下自己创建一个文件,来写入我们的配置 hanxinda leokale=(root) NOPASSWD: /bin/mount,/bin/umount 。

 

 

sudo -i   # 可以不需要root密码(只需要hanxinda用户)直接切换到root用户。(前提是%admin ALL=(ALL) ALL 或者 hanxinda  leokale=(root)  NOPASSWD:  ALL

 

====

posted @ 2020-03-20 13:58  风间悠香  阅读(330)  评论(0编辑  收藏  举报