zoukankan      html  css  js  c++  java
  • [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

     

    ====

  • 相关阅读:
    20210304. 3. 通讯协议及事件处理机制
    20210304. 2. 数据类型与底层数据结构
    20210304. 1. 缓存原理 & 设计
    20210304. 0.3. Redis Cluster 搭建
    20210304. 0.2. Redis 哨兵模式搭建
    20210304. 0.1. Redis 安装
    20210208. Neo4j
    20210207. MongoDB
    20210203 8. 运维和第三方工具
    Global Brain Dynamics Embed the Motor Command Sequence of Caenorhabditis elegans
  • 原文地址:https://www.cnblogs.com/leokale-zz/p/12531307.html
Copyright © 2011-2022 走看看