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后跟的命令的情况因此去网上取经.在一篇博客中找到解决问题的方法,觉得大牛们写的太精炼然后自己做如下总结方便自已以后解决类 ...
随机推荐
- 关于RocketMQ消息消费与重平衡的一些问题探讨
其实最好的学习方式就是互相交流,最近也有跟网友讨论了一些关于 RocketMQ 消息拉取与重平衡的问题,我姑且在这里写下我的一些总结. ## 关于 push 模式下的消息循环拉取问题 之前发表了一篇关 ...
- 【IT教程-Oracle】尚观Oracle白金级入门教程
链接: https://pan.baidu.com/s/1GMncQN6mpgaH3hZQjGelaA 提取码: qu6j
- 【CF696D】Legen...(AC自动机)(矩阵快速幂)
题目描述 Barney was hanging out with Nora for a while and now he thinks he may have feelings for her. Ba ...
- CSPS模拟 46
勿忘国耻. 由于重新评测我看到了不是很真实的一幕 紧接着是更不真实的一幕 就在虚假形象快要建立完成的时候 它由于来自东方的神秘力量倒塌了 被两个学校的大佬爆踩了(捂脸 T1 无脑背包? 考试时想1h想 ...
- formdata,ajax提交数据
var data = document.getElementById("#dataForm"); var formData = new FormData(data); var ac ...
- m113
今天的比赛很有感触,所以来写一下题解: T1可以发现一些规律是:面积扩大的速度显然比周长扩大的速度快,然后就可以枚举周长来看能为成的面积,其实最优的情况一定是六边型的情况,通过手膜我们可以发现对于边长 ...
- Python Socket学习之旅(一)
Socket概述 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向 网络发出请求或者应答网络请求. s ...
- 利用python实现微信小程序游戏跳一跳详细教程
利用python实现微信小程序游戏跳一跳详细教程 1 先安装python 然后再安装pip <a href="http://newmiracle.cn/wp-content/uploa ...
- VLAN的 基本用法与配置
需求:在一家小型企业中,所有员工都使用一台交换机,老板为了避免员工私下通信,将他们分配了不同网段,但偶尔还是会发现,有些员工会自行修改网段和别人通信.如果你是这家企业的网络工程师,你该如何处理? 1. ...
- CentOS7.6手动编译httpd-2.4.25
手动编译httpd-2.4.25 系统:CentOS7.1810 httpd:2.4.25 编译时报错解决技巧:报什么错,就装这个错误的devel,比如报http2错误,就yum search htt ...