美文网首页Python全栈工程师linux
2-5 Linux命令历史与帮助信息

2-5 Linux命令历史与帮助信息

作者: BeautifulSoulpy | 来源:发表于2019-06-21 07:59 被阅读3次

    我们等的不是什么人、什么事,我们等的是时间,等时间,让自己改变。


    关键字: history、bash、帮助命令
    

    1. history命令

    GNU history 命令保存了从该终端会话运行的所有其他命令的列表,然后允许你重放或者重用这些命令;

    注:如想查询某个用户在系统上执行了什么命令,可以使用root用户身份登录系统,检查Home目录下的用户主目录下的“.bash_history”文件,该文件记录了用户所使用的命令和历史信息。
    语法:
    history(选项)(参数)

    选项
    history #查看历史执行记录
    -N: 显示历史记录中最近的N个记录;
    -c:清空当前历史命令;
    -a:将历史命令缓冲区中命令写入历史命令文件中;
    -r:将历史命令文件中的命令读入当前历史命令缓冲区;
    -w:将当前历史命令缓冲区命令写入历史命令文件中;
    -d<offset>:删除历史记录中第offset个命令
    -n<filename>:读取指定文件

    参数:
    n:打印最近的n条历史命令。

    1. 查看每条历史命令执行的时间
    [root@zcwyou ~]# export HISTTIMEFORMAT='%F %T '
    [root@zcwyou ~]# history
    
    2. 使用Ctrl+R搜索历史命令;Ctrl+G推出搜索;
    比如,曾经执行过这样的命令
    gzip -t 10M.txt.gz
    
    使用Ctrl+R后输入10M,可以直接重新执行该命令。如果要修改指令,可以使用方向键右键
    
    3. 重复执行上一条命令
    用方向键向上键查看上条命令,按回车执行;
    在命令行中输入!!并按回车;
    在命令行中输入!-1并按回车;
    按Ctrl+P显示上条命令,按回车执行;
    
    要重新调用前一个命令中最后一个参数:
     !$ 表示
     Esc, .(点击Esc键后松开,然后点击 . 键)
     Alt+ .(按住Alt键的同时点击 . 键)
    
    4. 根据序号重复执行某命令:
    先查看序号
    
    [root@zcwyou ~]# history
    看到输出结果中的某命令:
    683 2018-11-10 02:00:36 dd if=/dev/zero of=zcwyou.txt bs=1M count=15
    
    然后重复执行该命令:   [root@zcwyou ~]# !683
     
    

    2. Bash——Linux的解释器

    2.1 Bash 是什么?

    Bash,即 Bourne Again SHell,顾名思义它是和 Shell 有关的。Shell是一个程序,就像你在 Windows 里面经常按的 cmd 一样,你可以在里面输入命令运行,或者自己写一个脚本然后让 Shell 读取里面的命令运行。

    Shell 实际上不只是一个程序。它原先只是一个用 C 写成的程序,现在同样也代表一种脚本语言。而作为脚本语言,Shell 就需要解释器,一般来说 Linux 默认的解释器就是 Bash,不管是从命令行中直接输入的命令还是脚本的命令,都需要经过 Bash 的解释才能运行。

    2.2 Bash 的功能

    1、命令记录历史:Bash 可以记录曾经输入过的命令,保存在~/.bash_history 文件中。
    2、tab 键自动补全:使用 tab 键可以自动补全命令或者目录。
    3、alias 命令别名:可以使用 alias ll=’ls -al’ 来设置命令的别名。
    4、工作控制:可以将某些任务放在后台去运行。
    5、程序脚本:可以执行 shell 脚本文件 bash Miniconda3-latest-Linux-x86_64.sh
    6、通配符:除了完整的字符串之外, Bash 还支持许多的通配符来帮助用户查询与命令下达。

    bashrc修改
    vi ~/.bashrc
    bashrc 使用方法:

    如果是vi,则:Esc 退出编辑模式,输入以下命令:
    :wq 保存后退出vi,若为 :wq! 则为强制储存后退出(常用)
    :w 保存但不退出(常用)
    :w! 若文件属性为『只读』时,强制写入该档案
    :q 离开 vi (常用)
    :q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
    :e! 将档案还原到最原始的状态!
    每次修改.bashrc后,使用source 搜索~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。

    刷新
    source ~/.bashrc^C

    3. 帮助命令

    3.1 whereis

    whereis默认情况下,会输出二进制文件和帮助文档等路径信息。

    [root@zcwyou ~]# whereis bzip2
    bzip2: /usr/bin/bzip2 /usr/share/man/man1/bzip2.1.gz
    

    whereis选项
    -b 指定可执行文件(二进制文件)
    -m 指定帮助文件位置
    -s 指定源码文件
    -u 指定其他文件,除了二进制文件,帮助文件和源码文件
    -B 指定可执行文件的路径
    -M 指定帮助文件的路径
    -S 指定搜索源代码文件的路径

    whereis -m wget
    wget: /usr/share/man/man1/wget.1.gz
    

    3.2 区分内部命令和外部命令
    type:用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。

    内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。
    外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。

    内部命令获取帮助信息:#help COMMAND

    外部命令获取帮助信息:

    (1)使用手册(manual):#man COMMAND
    存放路径:/usr/share/man
    (2)#COMMAND –help 或者#COMMAND -h
    (3)信息页:#info COMMAND
    (4)程序自身的帮助文档:README/INSTALL/ChangeLog
    (5)程序官方文档:Documentation
    (6)发行版的官方文档
    (7)Google

    man章节内容

    1使用者在shell中可以操作的指令或可执行档
    2系统核心可呼叫的函数与工具等
    3一些常用的函数(function)与函数库(library),大部分是C的函数库(libc)
    4装置档案的说明,通常在/dev下的档案
    5设定档或者是某些档案的格式
    6游戏(games)
    7惯例与协定等,例如Linux档案系统、网络协定、ASCII code等等的说明
    8系统管理员可用的管理指令
    9跟kernel有关的文件(CentOS7以后出现)


    man 文件布局
    3.3 Info

    info命令是Linux下info格式的帮助指令。描述的比手册页更加熟悉,info是man的补充(info 命令)

    man命令,拿来查手册,man是分章节的,分1到8个章节,每个章节所描述的内容都是不同的 (man 命令)

    总结:
    1、[命令] —help 适用于一般的命令,非内置命令
    2、man [命令] 适用于一般命令,非内置命令
    3、help [命令] 适用于内置命令
    4、info命令
    5、man命令

    相关文章

      网友评论

        本文标题:2-5 Linux命令历史与帮助信息

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