作者: 嘻哈lhy | 来源:发表于2018-07-21 10:21 被阅读12次
    [root@CentOS6 ~]#cat /etc/centos-release
    CentOS release 6.10 (Final)
    [root@centos7 ~]#cat /etc/redhat-release 
    CentOS Linux release 7.5.1804 (Core)
    

    linux用户

    root用户:超级用户,拥有至高无上的权限,
    普通用户:由root创建,权限有限。
    id命令可以显示真实有效的用户ID(UID)和组ID(GID)。

    Centos6.10
    [root@CentOS6 ~]#id -u root
    0
    [root@CentOS6 ~]#id -u xin
    500
    
    Centos7.5
    [root@centos7 ~]#id -u root
    0
    [root@centos7 ~]#id -u xin
    1000
    

    终端类型

    • 物理终端:控制台console
    • 虚拟终端:/dev/tty# #为[1-6],Ctrl+Alt+F[1-6]可以由图形界面切换至虚拟终端,Alt+F[1-6]可以直接在终端之间切换。
    • 图形终端:,即图形界面,Alt + F7可以切换。
    • 伪终端:/dev/pts/# ,是基于ssh的远程连接。
      查看当前终端:
    [root@centos7 ~]#tty
    /dev/pts/0
    

    shell

    1. 什么是shell?
    shell相当于linux的命令解释器,把用户输入的命令解析为二进制语言,交给内核进行执行,并把结果返回给用户。

    image.png
    CentOS默认使用bash ——GNU Bourne-Again Shell
    查看当前系统使用的shell
    [root@centos7 ~]#echo $SHELL /bin/bash
    查看系统支持的所有shell
    [root@centos7 ~]#cat /etc/shells
    /bin/sh
    /bin/bash
    /sbin/nologin
    /usr/bin/sh
    /usr/bin/bash
    /usr/sbin/nologin
    /bin/tcsh
    /bin/csh
    

    命令提示符——prompt

    1. shell命令提示符及颜色是由PS1来配置,可以根据自己的需要定制。
    显示提示符格式:
    [root@centos7 ~]#echo $PS1
    \[\e[1;44;37m\][\u@\h \W]\$\[\e[0m\]
    

    效果如图所示:


    image.png

    其中PS1常用的参数如下所示:
    \e \033
    \u 当前用户
    \h 主机名简称
    \H 主机名
    \w 当前工作目录
    \W 当前工作目录基名
    \t 24小时时间格式
    \T 12小时时间格式
    ! 命令历史数
    # 开机后命令历史数
    $ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$

    2. 颜色配置:

    PS1中设置字符颜色的格式为:[\e[F;Bm]
    其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47。颜色表如下:

    F B
    30 40 黑色
    31 41 红色
    32 42 绿色
    33 43 黄色
    34 44 蓝色
    35 45 紫红色
    36 46 青蓝色
    37 47 白色

    在命令行配置后,只是临时生效,重新登录或者重启就会失效,如果想要永久生效,需要修改配置文件,涉及的配置文件有/etc/profile 、 /etc/profile.d/*.sh 、 ~/.bash_profile 、~/.bashrc 、/etc/bashrc,

    [root@CentOS6 ~]#vim /etc/profile.d/env.sh 
    PS1="\[\e[1;41;33m\][\u@\h \W]\\$\[\e[0m\]"
    

    修改完成后重新加载下文件即可生效:source或.
    [root@CentOS6 ~]#source /etc/profile.d/env.sh

    image.png

    shell中的命令

    1.1 命令格式:

    COMMAND [OPTIONS...] [ARGUMENTS...]

    选项:用于实现具体的某个功能;
    短选项:-c 例如:-l, -h
    长选项:--word 例如:--all, --human-readable
    参数:命令的作用对象,比如文件名,用户名等

    注意:

    • 多个选项以及多参数和命令之间使用空白字符分隔
    • 取消和结束命令执行:Ctrl+c,Ctrl+d
    • 多个命令可以用;符号分开
    • 一个命令可以用\分成多行
    1.2 分类:

    在shell中可以执行的命令有两类,内部命令和外部命令

    内部命令:

    由shell自带的
    查看列表:help或enable
    enable –n cmd: 禁用内部命令,禁用后将不能使用,需要注销失效
    enable cmd: 启用内部命令
    enable –n :查看所有禁用的内部命令,或help查看命令前面带有*,通过enable查看不再显示命令。

    外部命令:

    在文件系统路径下有对应的可执行程序文件
    查看路径:which -a cmd或whereis cmd

    1.3 区别指定的命令是内部或外部命令

    type 【-a】 cmd


    image.png
    1.4 hash缓存表

    当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率。

    hash常见用法:
    hash 显示hash缓存


    image.png

    其中hits是指命令执行的次数,后面是命令具体的路径(注意:默认从PATH路径中查找,顺序为从左向右,直到找到为止,如果一个命令存在于多个路径中,他只匹配到第一个找到的路径,所以先后顺序很关键。)

    hash –l 显示hash缓存,可作为输入使用


    image.png

    hash –p path name :将命令全路径path起别名为name


    image.png

    hash –t name :打印缓存中name的路径


    image.png

    hash –d name: 清除name缓存


    image.png

    hash –r 清除缓存


    image.png
    1.5 别名

    在使用linux的过程中,有很多配置命令很长,并且需要重复的执行,这时可以使用别名进行简化。

    查看别名:alias
    image.png
    定义别名:

    alias NAME='VALUE'
    即:定义别名“name”,相当于执行命令“value”


    image.png
    取消别名:unalias

    unalias [-a] name [name ...]
    -a 取消所有别名


    image.png

    在命令行中定义的别名,仅对当前shell进程有效
    如果想永久有效,要定义在配置文件中
    仅对当前用户:~/.bashrc
    对所有用户有效:/etc/bashrc
    对于修改后的配置文件不会立即生效,可以通过以下命令使bash进程重新读取配置文件生效:
    source /path/to/config_file
    . /path/to/config_file
    或者建议:修改完配置文件后,在命令行中执行命令生效。

    执行原始命令:

    ————————————————————————————————————
    如果别名同原命令同名,并且要执行原命令,可使用
    \ALIASNAME
    “ALIASNAME”
    ’ALIASNAME’
    /path/commmand 命令的绝对路径,适用于外部命令

    前三种对于外部命令和内部命令通用,最后一种仅仅适用于外部命令。

    如何获取命令帮助?

    1.1 内部命令

    help COMMAND
    man bash

    1.2 外部命令

    (1) COMMAND --help

    对于帮助中的常用的符号,含义如下:
    [] 表示可选项
    CAPS或 <> 表示变化的数据
    ... 表示一个列表
    x |y| z 的意思是“ x 或 y 或 z “
    -abc的 意思是-a -b –c
    { } 表示分组

    (2) 使用手册(manual)
    语法:man COMMAND
    ————————————————————————————————————

    1. man章节
      ————————————————————————————————————

    man章节:man对于不同的命令以及配置文件有具体的分类,如下所示
    1: 用户命令
    2: 系统调用
    3: C库调用

    4: 设备文件及特殊文件
    5: 配置文件格式
    6: 游戏
    7: 杂项
    8: 管理类的命令
    9:Linux 内核API

    建议:对于外部命令查看man帮助时,先使用whatis查看与命令相关的章节,再【man 章节序号 命令 】进行查看,默认打开的是序号最小的章节。


    image.png

    ————————————————————————————————————

    1. man手册格式解读:
      ————————————————————————————————————
      NAME 名称及简要说明
       SYNOPSIS 用法格式说明
      • [] 可选内容
      • <> 必选内容
      • a|b 二选一
      • { } 分组
      • ... 同一内容可出现多次
       DESCRIPTION 详细说明
       OPTIONS 选项说明
       EXAMPLES 示例
       FILES 相关文件
       AUTHOR 作者
       COPYRIGHT 版本信息
       REPORTING BUGS bug信息
       SEE ALSO 其它帮助参考
      ————————————————————————————————————
      3.man操作方法
      ————————————————————————————————————
      空格键:向文件尾部翻一屏
      回车键:一次向文件尾部翻一行
      k:一次向文件首部翻一行
      b:向文件首部翻一屏
      ctrl+d:向文件尾部翻半屏
      ctrl+u:向文件首部翻半屏
      G:跳转至最后一行
      NG:跳转至指定行
      1G:跳转至文件第一行,首部
      /keyword:从文件首部向文件尾部依次查找,不区分大小写
      n: 下一个
      N:上一个
      ?keyword:从文件尾部向文件首部依次查找,不区分字符大小写
      n: 跟搜索命令同方向,下一个
      N:跟搜索命令反方向,上一个
      q:退出
      ————————————————————————————————
      4.配置文件
      ————————————————————————————————
      man命令的配置文件:
      /etc/man.config(CentOS6)
      /etc/man_db.conf(CentOS7)
      其中MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置
      ————————————————————————————————
      5.man几个使用技巧
      ————————————————————————————————
      查看man手册页
      man [章节] keyword
       列出所有帮助
      man –a keyword
       搜索man手册
      man -k keyword 列出所有匹配的页面
      使用 whatis 数据库
       相当于whatis
      man –f keyword
       打印man帮助文件的路径
      man –w [章节] keyword

    (3) 信息页
    info COMMAND

    操作方法
    方向键,PgUp,PgDn 导航
    Tab键 移动到下一个链接
    d 显示主题目录
    Home 显示主题首部
    Enter进入 选定链接
    n/p/u/l 进入下/前/上一层/最后一个链接
    s 文字 文本搜索
    q 退出 info

    (4) 程序自身的帮助文档
    在/usr/share/doc目录中有一些常见软件包的文档:README INSTALL CHANGES

    (5) 程序官方文档
    例如对于nginx、Apache等,官网最权威
    http://www.nginx.org
    http://tomcat.apache.org
    http://httpd.apache.org
    http://www.python.org

    (6) 发行版的官方文档
    http://kbase.redhat.com
    http://www.redhat.com/docs
    http://access.redhat.com

    1. Google、百度搜索技巧:
      推荐网站:
      http://tldp.org
      http://www.slideshare.net
      http://www.google.com
      Openstack filetype:pdf————-指定文档类型
      rhca site:redhat.com/docs——————指定搜索站点

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/zpicmftx.html