二十三、shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向

一、shell介绍

shell是系统跟计算机硬件交互使用的中间介质,它只是系统的一个工具。shell和计算机硬件之间还有一层东西——系统内核。若把计算机硬件比作人的躯体,那系统内核就是大脑,shell就是五官。用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。

shell是一个命令解释器,提供用户和机器之间的交互。

每个用户都可以有自己特定的shell。

centos7默认的shell为bash(Bourne Agin Shell)

系统里还有zsh、ksh的shell,有细节差异。

shell还有自己特定的语法,比如逻辑判断、循环。

二、命令历史

history命令        查看命令历史

/root/.bash_history          所在路径

可以使用该命令查看存了多少条,该文件最大存一千条。

该命令由一个环境变量给它配置:HISTSIZE。可以echo $HISTSIZE查看到为1000,代表最大存1000条命令,这是系统内置的环境变量。出来的第1000条以后的命令,没有存入命令历史,暂时存在了内存中。

# history -c          把内存里命令历史清空,不能把配置文件给清空

只有退出当前终端的时候,命令才会存到配置文件里面去,在终端里的时候就是存在了内存的命令历史里。

定义环境变量HISTSIZE的配置文件:/etc/profile

进入后可以直接查找HISTSIZE即可,将数据可以更改为自己想定义的量。

更改保存后,必须执行# source /etc/profile命令,否则该变量不会生效,或者重新进终端也行。

# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "    使命令历史有时间显示。只在当前终端生效。Y:年份;m:月份;d:日期;H:小时;M:分钟;S:秒钟。

若想永久生效,将它写入到配置文件/etc/profile中,放到HISTSIZE=1000下面一行。写到配置文件后,保存退出,再重新进终端就可以验证命令历史是不是有时间显示。

# chattr +a ~/.bash_history

永久保存,使命令历史的配置文件直接追加不能删除。若不正常退出,那命令就不会正常的保存到命令历史里面。

# !!命令历史里的最后一条命令

# !n    n后跟数字,可以再执行一遍命令历史里的第n条命令。

# !echo     从后往前在命令历史里找以echo开头的命令再执行一次,如!tree,等。

三、命令补全和别名

命令补全         tab键,敲一下补全,敲两下搜索出以该命令开头的2个以上的选项。可以补全命令和文件路径。

命令参数补全:centos7支持,需要# yum install -y bash-completion。安装这个包。centos6仅仅支持命令本身的补全,安装完后还需要重启系统才行。

命令参数如systemctl restart network.service。

# alias restartnet="systemctl restart network.service"

将这条长命令做一个别名。再使用时敲别名即可。

unalias解除别名。

别名位置:用户家目录下的.bashrc下和/etc/profile.d/下。自定义的别名在.bashrc下。

四、通配符

*  表示通配,不分字符,不分几个

? 表示匹配一个字符,如ls ?.txt,会将.txt的文件全部列出来。

[  ]  示例:ls [0-3].txt或ls [123456].txt。写一个范围。

{  }  和[  ]类似,但是这个{  }里要加逗号,如{1,2,3,4}

五、输入输出重定向

>  输出重定向

> 把前面命令的输出输入到后面的文件里面去。一个大于号会把后面的文件删除掉将前面的输出覆盖后面的文件。所以一般用两个>>,追加的意思,不会把原来的文件删除。

2>,把命令产生的错误信息指定的输入到一个文件去。2>>,错误信息追加重定向。

>+2>=&>,将正确和错误的信息输出到后面的文件里去。用&>表示即可。

<  输入重定向,>的反向用法。左边必须是命令,不能是文件反向输入到文件。

原文地址:http://blog.51cto.com/13576245/2084001

时间: 2024-10-07 10:32:25

二十三、shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向的相关文章

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

8.1 shell介绍 shell 是一个命令解释器,提供用户和机器之间的交互 支持特定语法,比如逻辑判断,循环 每个用户都可以有自己特定的shell CentOS7默认shell 为bash(Bourne Agin Shell) 还有zsh.ksh等 yum zsh和ksh [[email protected] ~]# yum list |grep zsh zsh.x86_64 5.0.2-25.el7_3.1 updates zsh-html.x86_64 5.0.2-25.el7_3.1

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

shell介绍 shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具.实际上,在shell和计算机硬件之间还有一层东西--系统内核. 用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作. Redhat.Centos 默认安装的shell版本是bash,它是sh的增强版. 历史命令 我们执行过的命令Linux都会记录,预设可以记录1000条历史命令.这些命令保存在用户家目录的.bash_h

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

一.shell介绍 shell脚本是日常Linux系统管理工作中必不可少的,不会shell,就不是一个合格管理员. shell是系统跟计算机硬件交互使用的中间介质,一个系统工具.实际上在shell和计算机硬件之间还有一层--系统内核.如果吧计算机比作人的躯体,那系统内核就是人的大脑,至于shell,把它比做人的五官更贴切. 其实,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传给系统内核,接着内核再去支配计算机硬件去执行各种操作. CentOS安装的she

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

一.shell介绍二.命令历史历史命令存放路径 /root/.bash_history ,默认可以存放1000条命令#history //查看具体的历史命令[[email protected] ~]# echo $HISTSIZE //系统内置环境变量1000 #history -c //清空内存中命令历史,但是存放命令的文件不会被删除#vi /etc/profile // 修改HISTORY环境变量路径/etc/profile,可以吧HISTSIZE=1000改为5000[[email pro

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

8.1 sehll 介绍 什么是shell shell 是一个命令解释器,提供用户和机器之间交互 支持特定的语法,比如逻辑判断,循环. 每个用户都可以有自己特定的shell. centos7 默认的shell 为bash( Bourne Agin shell ) 还有zsh ,ksh等 8.2 命令历史 /root/.bash_history ;命令历史放置文件 [[email protected] ~]# ls /root/.bash_history/root/.bash_history [[

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

8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 # Linux shell 基础 # 8.1 shell 介绍 - 什么是shell 1. shell 是一个命令解释器,提供用户和机器之间的交互 2. 支持特定语法,比如逻辑判断.循环 3. 每个用户都可以有自己特定的shell 4. CentOS7 默认shell 为bash (Bourne Agin Shell) 5. 还有zsh.ksh等 ``` [[email protected]

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

shell介绍 shell是一个命令解释器,提供用户和机器之间的交互,支持特定语法,比如逻辑判断.循环,每个用户都可以有自己特定的shell CentOS7默认shell为bash(Bourne Agin Shell) 还有zsh.ksh等 命令历史 查看历史命令 [[email protected] ~]# cat .bash_history 修改历史记录条数: vi /etc/profile HISTSIZE=1000 修改查看历史记录的格式: /etc/profile中新增: HISTTI

Linux学习(二十一)Shell基础(一)认识shell、命令历史、命令补全、别名、通配符、管道符与前后台控制

前言 这个系列我们学习shell的基础知识. 一.认识shell 我们经常使用的终端,其实就是一个shell.Bourne开发的shell原本叫shell,后来再版Bourne Again Shell叫做Bash.我们通常使用的shell就是Bash. 二.命令历史 history命令能够记录我们使用过的命令: [[email protected] ~]# history|tail -n3 803 history|tail -n3 804 history 805 history|tail -n3

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

8.1 shell介绍 1. shell是一个命令解释器,提供用户和机器之前的交换 2. 每个用户都可以有自己特定的shell 3. CentOS7默认shell是bash(Bourne Agin Shell); shell还有zsh.ksh等 zsh.ksh这两种shell命令没有安装, 可以用yum list搜索下这两个命令的安装包: [[email protected] ~]# yum list |grep zsh [[email protected] ~]# yum list |grep