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

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


2-5 Linux命令历史与帮助信息_第1张图片
关键字: history、bash、帮助命令

1. history命令

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

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

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

参数:
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以后出现)


2-5 Linux命令历史与帮助信息_第2张图片
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命令历史与帮助信息)