shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向
第5周第5次课(4月20日)
课程内容:
8.1 shell介绍
8.2 命令历史
8.3 命令补全和别名
8.4 通配符
8.5 输入输出重定向
8.1 shell介绍

使用yum+管道方式查看zsh和ksh的安装包

8.2 命令历史

敲过的命令也就是历史命令,可以通过上下方向键调出来,而且专门有一个文件保存的。

可以使用history命令查看使用过的历史命令数量,默认值是保留记录1000条,例如我已经执行了928条。

系统内置的环境变量等于1000,所以最大只保留1000条。
[root@jimmylinux-002 ~]# echo $HISTSIZE

[root@jimmylinux-002 ~]# history -c 可以把当前内存里面历史命令清空,但是无法清除存命令的文件,平常用的命令一般都是保存到内存中,只有退出终端以后才真正把命令保存到文件里面。

[root@jimmylinux-002 ~]# vi /etc/profile 定义环境变量的保存数目,可以在 /etc/profile 里面修改。

已经修改为保存5000条,如果让修改的记录生效,需要重新进入终端或者执行 source /etc/profile 命令才能够生效。

可以通过重新指定环境变量格式,把操作过的历史命令以执行时间方式显示出来。
[root@jimmylinux-002 ~]# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

如果想让这个功能生效,可以把环境变量加入到 /etc/profile 和HISTSIZE放一起,重启终端即可。
[root@jimmylinux-002 ~]# vi /etc/profile

[root@jimmylinux-002 ~]# chattr +a ~/.bash_history 永久保存历史命令记录,而且这个文件只能够追加记录,不会被删除。
如果没有使用exit或logout或Ctrl+d正常退出xshell终端,那么bash_history文件记录的命令就不全。
!! 表示执行上一条命令
!n n表示数字,例如运行第939条命令,可以输入!939

!echo 表示从命令历史里面倒着往上找以echo开头的第一条命令
8.3 命令补全和别名

tab命令补全,不仅可以补全命令,也可以补全路径,如果命令只有一个,那么按一下tab就可以补全,如果命令开头有很多相同的,需要按2次tab才可以列出命令开头相同的所有命令,在CentOS6中tab补全只支持命令本身,不支持命令参数,在CentOS7里面不仅支持命令本身还可以支持命令的参数补全,默认不支持,需要先安装一个bash-completion包。
[root@jimmylinux-002 ~]# yum install -y bash-completion 安装completion以后需要重启系统才生效

alias设置别名,可以把命令长的命令设置一个别名。
[root@jimmylinux-002 ~]# alias restartnet='systemctl restart network.service' 例如把重启网络服务设置一个别名为 restartnet


查看alias存放路径,主要有①用户家目录.bashrc里面,②/etc/profile.d/目录里面的colorls.sh和colorgrep.sh里面。
#vi .bashrc 用户家目录里面配置了3个alias

其他剩下的alias在这个目录下 cd /etc/profile.d/

[root@jimmylinux-002 profile.d]# vi colorls.sh 这个里面有2个

[root@jimmylinux-002 profile.d]# vim colorgrep.sh 这个里面有3个

[root@jimmylinux-002 ~]# unalias restartnet 取消自定义的别名

8.4 通配符

操作实例如下


输入输出重定向


shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向的更多相关文章
- 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向
8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 什么是shell? shell是一个命令解释器,提供用户和及其之间的交互 致辞特定语法,比如逻 ...
- Linux centos7 shell 介绍、 命令历史、命令补全和别名、通配符、输入输出重定向
一.shell介绍 shell脚本是日常Linux系统管理工作中必不可少的,不会shell,就不是一个合格管理员. shell是系统跟计算机硬件交互使用的中间介质,一个系统工具.实际上在shell和计 ...
- Linux笔记(shell基础,历史命令,命令补全/别名,通配符,输出重定向)
一.shell 基础 shell是个命令解释器,提供用户和机器之间的交互 每个用户都可以拥有自己特定的shell centos7默认Shell为bash(Bourne Agin shell) 除了ba ...
- MySQL命令行自动补全表名
注意:在命令行下只有切换到数据库之后,才能补全表名,对于命令是不能补全的. 1.my.conf增加如下配置: [mysql] #no-auto-rehash auto-rehash #添加auto-r ...
- Shell脚本中实现自动补全功能
对于Linuxer来说,自动补全是再熟悉不过的一个功能了.当你在命令行敲下部分的命令时,肯定会本能地按下Tab键补全完整的命令,当然除了命令补全之外,还有文件名补全. Bash-completion ...
- bash特性-命令历史命令行编辑
bash: GUI:Gnome,KDE,XFCE CLI:sh,csh,bash,ksh,tcsh,zsh shell,子shell tree:查看目录树 pstree:查看进程目录树 bash: 1 ...
- Linux学习笔记(十)shell基础:历史命令、命令补全、输出重定向、输出重定向
一.历史命令 history [选项] [历史命令保存文件] -c 清空历史命令 -w 吧缓存中的历史命令写入历史命令保存文件~/.bash_history中 系统会默认将上次注销登录(正确退出)之前 ...
- 开启mac terminal 命令/路径自动补全功能
用惯了windows命令行工具的按Tab自动补全路径功能后,在mac terminal上敲命令很不习惯.其实mac terminal也有这个功能. 在命令行输入nano .inputrc 进入.inp ...
- 解决debian (Friendly ARM 嵌入式板)的sudo等一部分命令无法TAB补全
TAB对于比较长的命令在使用时是十分方便的,最近就遇到TAB 键无法补全sudo后跟的命令的情况因此去网上取经.在一篇博客中找到解决问题的方法,觉得大牛们写的太精炼然后自己做如下总结方便自已以后解决类 ...
随机推荐
- 医生智能提醒小程序数据库设计心得——Legends Never Die
数据库设计心得 根据我们小组数据库设计的整个流程,我们将整个数据库设计划分为两个具体的阶段,在每个阶段需要进行不同的准备,有不同的注意事项,接下来我们将结合在数据库设计过程中遇到的一些问题和困难,提出 ...
- 读书笔记——《MySQL DBA 工作笔记》
关于前言 作者在前言中提出的一些观点很具有参考价值, 梳理完整的知识体系 这是每一个技术流都应该追逐的,完整的知识体系能够使我们对知识的掌握更加全面,而不仅仅局限于点 建立技术连接的思维,面对需求,永 ...
- strGame:博弈论,trie
挺有意思的一道题.初探博弈论. 最好自己思考? 我们先考虑只有1轮游戏的情况. 这题明显要在字符串上一位一位地走,所以对字符串建立起trie. 最终建立起的trie的叶节点就是必败位置了. 对于非叶节 ...
- 【转】python之property属性
1. 什么是property属性 一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法 # ############### 定义 ############### class Foo: def ...
- 通俗易懂了解Vue的计算属性
1.前言 之前在学习vue的过程中,一直没有搞明白计算属性是个怎么回事,以及为什么要有计算属性,使用计算属性有什么好处.今天花时间翻了翻官方文档,才搞清楚其中一二,现将学习心得总结记录如下. 2.为什 ...
- st表复习笔记
st表,一种高效的区间最值查询(RMQ)算法.本质其实是一个动态规划. 其实吧,对于看过线性dp的人来说应该不难理解,只是处理有些麻烦.但是本土狗因为-1的问题居然改了许久... 用两个2^i的区间把 ...
- Linux基础指令--韩顺平老师课程笔记
一.vi和vim编辑器 ①.三种模式 所有的 Linux 系统都会内建 vi 文本编辑器.vim 具有程序编辑的能力,可以看做是 vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计. ...
- JDBC报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone
报错原因:查阅资料发现这都是因为安装mysql的时候时区设置的不正确 mysql默认的是美国的时区,而我们中国大陆要比他们迟8小时,采用+8:00格式 解决方法: 1.修改MySQL的配置文件,MyS ...
- javascript jquery 修改指定标签中的内容
javascript jquery 修改指定标签中的内容 $("#test1").text("Hello world!"); document.getEleme ...
- 【前端知识体系-JS相关】JS-Web-API总结
2.1 DOM操作 2.1.1 DOM的本质是什么? <!-- DOM树:二叉树 --> /* <?xml version="1.0" encoding=&quo ...