概述

 shell中常见命令history

历史纪录命令:history

命令格式如下:
[root@localhost ~]# history [选项] [历史命令保存文件]
  • -c:清空历史命令;
  • -w:把内存中的命令直接写入 ~/.bash_history 文件中

查询系统中当前用户的所有历史命令

[root@localhost ~]# history
ls
cd /
ls
poweroff -h now
poweroff h now
poweroff
whereis ls
…省略部分输出…

在历史命令列表中每条命令都有编号的。历史命令默认会保存 100 条,可以通过环境变量配置文件 /etc/profile 中 HISTSIZE 进行设置,默认HISTSIZE=1000 。所有的历史命令都保存在 ~/.bash_history 文件中, 每个用户的历史命令是单独保存的,所以每个用户的家目录中都有 .bash_history 这个历史命令文件。如果某个用户的历史命令总数等于了HISTSIZE中的默认值,则会将最早的命令则被删除,新命令会变成最后一条命令。

把内存中的命令直接写入 ~/.bash_history 文件中

当前登录操作的命令并没有直接写入 ~/.bash_history 文件中,而是保存在缓存当中的,需要等当前用户注销之后,缓存中的命令才会写入 ~/.bash_history 文件中。所以,我们在使用 history 命令查看的历史命令 和 ~/.bash_history 文件中保存的历史命令的数目是对不上的。如果我们需要把内存中的命令直接写入 ~/.bash_history 文件中,而不等用户注销时再写入,就需要使用"-w"选项。命令如下:

[root@localhost ~]# history -w
#把缓存中的历史命令直接写入~/.bash_history

清空历史命令

把缓存和 ~/.bash_history 文件中的历史命令清空。

[root@localhost ~]# history -c

历史命令的调用

1. 使用"!n"重复执行第 n 条历史命令,n为命令的编号。

2. 使用"!!"重复执行上一条命令。

3. 使用“!bash” 重复执行最后一条以bash开头的命令

4. 使用"!$" 重复上一条命令的最后一个参数。

例如:

[root@localhost ~]# cat /etc/profile
查看系统配置文件中的内容
[root@localhost ~]# vi !$
# "!$"代表上一条命令的最后一个参数,也就是/etc/profile

命令设置别名的命令 :alias

在shell脚本中命令首先会执行用绝对路径或相对路径执行的命令。其次执行别名。其次执行 Bash 的内部命令。其次执行按照 $PATH 环境变量定义的目录査找的第一条命令。

查询系统中已经存在的命令别名

[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

设定命令别名

[root@1ocalhost ~] # alias 别名='原命令'

为了让这个别名永久生效,可以把别名写入环境变量配置文件 ~/.bashrc 中。命令如下:

[root@localhost ~】# vi /root/.bashrc

删除别名

[root@localhost ~]# unalias 别名

Bash常用快捷键

Bash 常用快捷键

快捷键 作 用
Ctrl+A 把光标移动到命令行开头。如果我们输入的命令过长,则在想要把光标移动到命令行开头时使用
Ctrl+E 把光标移动到命令行结尾
Ctrl+C 强制中止当前的命令
Ctrl+L 淸屏,相当于 clear 命令
Ctrl+U 刪除或剪切光标之前的命令。假设输入了一行很长的命令,无须使用退格键一个一个字符地刪除, 使用这个快捷键会更加方便
Ctrl+K 删除或剪切光标之后的内容
Qrl+Y 粘贴 Ctrl+U 或 Ctrl+K 剪切的内容
Ctrl+R 在历史命令中搜索,按下 Ctrl+R 组合键之后,就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索
Ctrl+D 退出当前终端
Ctrl+Z 暂停,并放入后台。这个快捷键涉及工作管理的内容,我们会在后续中详细介绍
Ctrl+S 暂停屏幕输出
Ctrl+Q 恢复屏幕输出

Linux Shell基础 Bash常见命令 history、alias命令以及常用快捷键的更多相关文章

  1. Linux Shell基础 Bash常见命令 echo命令

    概述 shell中常见的命令echo. 输出命令:echo echo命令的输出内容如果没有特殊含义,则将原内容输出到屏幕:如果输出内容有特殊含义,则输出打印其含义. 命令格式如下: [root@loc ...

  2. My way on Linux - [Shell基础] - Bash Shell中判断文件、目录是否存在或者判断其是否具有某类属性(权限)的常用方法

    Conditional Logic on Files # 判断文件是否存在及文件类型 -a file exists. #文件存在 -b file exists and is a block speci ...

  3. 自学Linux Shell5.2-shell内建命令history alias

    点击返回 自学Linux命令行与Shell脚本之路 5.2-shell内建命令history alias 外部命令:有时称为文件系统命令,是存在于bash shell之外的程序,通常位于/bin./u ...

  4. Linux shell基础知识(上)

    Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...

  5. Linux Shell基础(下)

    Linux Shell基础(下) 目录 一.shell特殊符号cut命令 二.cut.sort.wc.uniq命令 三.tee.tr.split命令 四.简易审计系统 五.fork, exec, so ...

  6. linux shell 基础 使用日志与心得

    linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现#!/bin/bash是指此脚本使用/bin/bash来解释执行.其中,#!是一个特殊的表示符,其后,跟着解释此脚 ...

  7. Linux学习 -- Shell基础 -- Bash基本功能

    历史命令 history -c   clear -w   写入 ~/.bash_history 默认保存1000条, 可在/etc/profile中修改 调用 Tab补全 命令.目录.文件 命令别名 ...

  8. Linux Shell基础 管道符和grep命令

    概述 管道符:管道符使用"丨"代表.如"命令1丨命令2".表示命令 1 的正确输出作为命令 2 的操作对象.命令 1 必须有正确输出,而命令 2 必须可以处理命 ...

  9. 【Linux常见命令】alias命令

    alias命令用于查看和设置指令的别名. 用户可利用alias,自定指令的别名. 若仅输入alias,则可列出目前所有的别名设置. alias的效力仅及于该次登入的操作.若要每次登入是即自动设好别名, ...

随机推荐

  1. 手游后台PVP系统网络同步方案总结

    游戏程序 平台类型:   程序设计:   编程语言:   引擎/SDK:   概述 PVP系统俨然成为现在新手游的上线标配,手游Pvp系统体验是否优秀,很大程度上决定了游戏的品质.从最近半年上线的新手 ...

  2. Python 安装 MaxMind GeoLite City

    1.先安装 geoip c library  geoip c library >= 1.4.6 installed on your machine. >= 1.4.6 installed ...

  3. Windows下使用python

    Windows下使用python,一般安装python就有IDLE了,再这个里面使用就好了,很方便 安装完之后.py的文件右键会有Edit with IDLE,可是我脑残想要默认打开就是IDLE,结果 ...

  4. ImageData

    http://www.html5china.com/HTML5features/canvas/20120501_3591.html 1.上下文对象 Context 有三个方法用来创建.读取和设置 Im ...

  5. spark通过合理设置spark.default.parallelism参数提高执行效率

    spark中有partition的概念(和slice是同一个概念,在spark1.2中官网已经做出了说明),一般每个partition对应一个task.在我的测试过程中,如果没有设置spark.def ...

  6. iOS 集成阿里百川最新版(3.1.1.96) 实现淘宝授权登录以及调用淘宝客户端商品详情页

      公司最近要做第三方登录,由于是做导购项目,必不可少的有淘宝的授权登录.本来就是一个授权登录,没什么大不了的.但淘宝的无线开放业务——阿里百川更新的最新版本3.1.1.96,开发文档不是不详细,是很 ...

  7. POJ 1848 Tree

    Tree Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3506   Accepted: 1204 Description ...

  8. Kotlin——中级篇(五):枚举类(Enum)、接口类(Interface)详解

    在上一章节中,详细的类(class)做了一个实例讲解,提到了类(class)的实例化.构造函数.声明.实现方式.和Java中类的区别等.但是对于Kotlin中的类的使用还远远不止那些.并且在上文中提到 ...

  9. SharePoint 离线安装

    SharePoint 离线安装,主要是AppFrabic服务出错,可以使用下来命令: "X:\WindowsServerAppFabricSetup_x64.exe" /i Cac ...

  10. 是面向对象设计五个基本原则(SOLID)

    单一职责原则 - 搜狗百科 https://baike.sogou.com/v51360965.htm 单一职责原则并不是一个孤立的面向对象设计原则,它是面向对象设计五个基本原则(SOLID)之一.这 ...