第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介绍、命令历史、命令补全和别名、通配符、输入输出重定向的更多相关文章

  1. 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 

    8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 什么是shell? shell是一个命令解释器,提供用户和及其之间的交互 致辞特定语法,比如逻 ...

  2. Linux centos7 shell 介绍、 命令历史、命令补全和别名、通配符、输入输出重定向

    一.shell介绍 shell脚本是日常Linux系统管理工作中必不可少的,不会shell,就不是一个合格管理员. shell是系统跟计算机硬件交互使用的中间介质,一个系统工具.实际上在shell和计 ...

  3. Linux笔记(shell基础,历史命令,命令补全/别名,通配符,输出重定向)

    一.shell 基础 shell是个命令解释器,提供用户和机器之间的交互 每个用户都可以拥有自己特定的shell centos7默认Shell为bash(Bourne Agin shell) 除了ba ...

  4. MySQL命令行自动补全表名

    注意:在命令行下只有切换到数据库之后,才能补全表名,对于命令是不能补全的. 1.my.conf增加如下配置: [mysql] #no-auto-rehash auto-rehash #添加auto-r ...

  5. Shell脚本中实现自动补全功能

    对于Linuxer来说,自动补全是再熟悉不过的一个功能了.当你在命令行敲下部分的命令时,肯定会本能地按下Tab键补全完整的命令,当然除了命令补全之外,还有文件名补全. Bash-completion ...

  6. bash特性-命令历史命令行编辑

    bash: GUI:Gnome,KDE,XFCE CLI:sh,csh,bash,ksh,tcsh,zsh shell,子shell tree:查看目录树 pstree:查看进程目录树 bash: 1 ...

  7. Linux学习笔记(十)shell基础:历史命令、命令补全、输出重定向、输出重定向

    一.历史命令 history [选项] [历史命令保存文件] -c 清空历史命令 -w 吧缓存中的历史命令写入历史命令保存文件~/.bash_history中 系统会默认将上次注销登录(正确退出)之前 ...

  8. 开启mac terminal 命令/路径自动补全功能

    用惯了windows命令行工具的按Tab自动补全路径功能后,在mac terminal上敲命令很不习惯.其实mac terminal也有这个功能. 在命令行输入nano .inputrc 进入.inp ...

  9. 解决debian (Friendly ARM 嵌入式板)的sudo等一部分命令无法TAB补全

    TAB对于比较长的命令在使用时是十分方便的,最近就遇到TAB 键无法补全sudo后跟的命令的情况因此去网上取经.在一篇博客中找到解决问题的方法,觉得大牛们写的太精炼然后自己做如下总结方便自已以后解决类 ...

随机推荐

  1. P3976 [TJOI2015]旅游(未完成)

    #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #inc ...

  2. python机器学习——自适应线性神经元

    上篇博客我们说了感知器,这篇博客主要记录自适应线性神经元的实现算法及一些其他的训练细节,自适应线性神经元(简称为Adaline)由Bernard Widrow和他的博士生Tedd Hoff提出,对感知 ...

  3. ASCALL码对照表

    ASCALL码对照表 目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Inter ...

  4. 从 DevOps 到 Serverless:通过“不用做”的方式解决“如何更高效做”的问题

    作者 | 徐进茂(罗离) JAVA 开发工程师  导读:近年来,Serverless 一词越来越热,它已经逐渐成为了一种新型的软件设计架构.和 DevOps 概念提倡的是通过一系列工具和自动化的技术来 ...

  5. BASH 编程之变量高级篇

    内部变量 • $$与$BASHPID都代表着执行程序的进程 ID,我们可以通过 echo 打印,并用 ps 指令检查得到相同的进程 ID [root@oracle ~]# echo $BASHPID ...

  6. 替换"marquee",实现无缝滚动

    js的marquee标签,可以实现元素循环滚动,但是不能无缝连接,要实现“无缝滚动”的效果必须使用js(借鉴百度),思路是使要滚动元素相对位置不断改变,上下滚动就相对top或者bottom,左右滚动就 ...

  7. 【Elasticsearch 7 探索之路】(三)倒排索引

    上一篇,我们介绍了 ES 文档的基本 CURE 和批量操作.我们都知道倒排索引是搜索引擎非常重要的一种数据结构,什么是倒排索引,倒排索引的原理是什么. 1 索引过程 在讲解倒排索引前,我们先了解索引创 ...

  8. 导入maven项目pom报错

    打开window->preferences->maven->user settings更换settings.xml即可

  9. nyoj 208 + poj 1456 Supermarket (贪心)

    Supermarket 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 A supermarket has a set Prod of products on sal ...

  10. hdu 1863 畅通工程 (prim)

    畅通工程Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...