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

shell介绍

shell是一个命令解释器,提供用户与机器之间的交互
例如我们远程登录的工具,它其实就是一个shell

centos默认的shell是bash(Bourne Agin Shell)
·

命令历史

history命令
命令历史存在用户家目录下的.bash_history,如root用户就是/root/.bash_history
·
history可以查看命令历史,.bash_history文件了里最多可以存1000条,它是由环境变量HISTSIZE决定的,不过history有时候也会查看到超过1000条的命令历史,不过那是没有写进文件里的,还存在于内存中
·
history -c可以把当前内存里的命令历史清空,但是并不会删除.bash_history文件里存的命令历史。

·
当你退出终端的时候系统会把内存里的命令历史存到.bash_history文件里。
·
当然我们可以更改.bash_history文件的1000条数限制,只需要编辑/etc/profile,把里面HISTSIZE这一行后的1000改一下,然后source /etc/profile刷新一下,或者重新进一下终端即可生效。



·
我们也可以让history出来的历史命令显示时间,使用如下命令,定义HISTTIMEFORMAT变量为后面的格式,不过它只在当前窗口当前终端里生效。
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

·
如果想要让它在其他窗口并且一直生效,可以编辑/etc/profile文件,这行命令放到HISTSIZE这一行下面,之后source /etc/profile刷新一下,或者重新进一下终端即可生效。

`
如果想要永久保存你的命令历史,不想别人删除,可以给它加一个特殊权限a,即使有最大1000条的限制,也是可以保存超过1000条的。

·
不过如果你不是正常退出终端,你敲过的命令历史就会保存的不全。
想要使用命令历史的最后一条命令,也就是你使用的上一条命令可以用!!
想要使用命令历史的多少行命令,那就可以使用!加行数
想要使用命令历史里最后一个以xx开头的命令可以使用!加xx
·

命令补全和别名

在打命令的时候按tab键可以自动补全,可以补全文件,也可以补全命令,如你打了文件名的一半然后按一下tab键系统可以自动帮你补全剩下的一半。
不过有一种情款就是有两个及以上的文件都是以你打出来的部分文件名开头的,这时候按一下tab就没有用了,这时候我们可以按两下,系统会显示出所有以你打出来的部分文件名开头的文件。

·
然后你可以找到你要打的文件名,继续输入,直到没有其他以你输出的部分文件名开头的文件,再按一下tab就可补全了。
·
在centos7里tab还可以补全命令的参数,不过需要安装一个bash-completion包,然后重启系统才能生效。

·
我们先看没有安装bash-completion时我们使用systemctl restart network.service命令tab的情况

·
tab是没有反应的
我们安装bash-completion,然后重启再试下

·
这时tab已经可以tab出来了
·
我们还可以给较长的命令设置别名,使用alias命令,如我们把systemctl restart network.service别名设置成restartnet,之后我们就可以使用restartnet命令代替了。

·
直接运行alias可以查看系统中所有的别名。这些别名存在于用户家目录下的.bashrc文件(自定义的alias)以及/etc/profile.d/目录下的文件里。

·
取消别名使用unalias加别名

·

通配符

用法
表示查看当前目录下名字中以.txt结尾的所有文件或目录。
·
表示查看当前目录下名字中含有txt的文件或目录。
·
表示查看当前目录下名字以1开头的文件或目录
·
?用法
查看当前目录下文件名是一个字符加.txt的文件(?表示一个任意的字符)

·
[数字-数字]用法(方括号 [ ] )
查看当前目录下设定数字范围内的所有以.txt结尾的文件(同时也支持字母如a-z或A-Z)

·

·
查看当前目录下以1、2、3开头的,然后以.txt结尾的文件(123可以无顺序 随便输)

·
{字符、字符、字符}(花括号 { } )
类似于[123],字符之间是或者的关系,(花括号里边,需要用英文逗号隔开)

·

输入输出重定向

把前面的命令的输出输入到后面的文件里面去,下图就是把1.txt里的内容覆盖到2.txt里。(会把原本2.txt里的内容删掉)

cat 1.txt >2.txt


·
>把前面的命令的输出追加到后面的文件里面去,下图就是把1.txt里的内容追加到2.txt里(不会把原本2.txt里的内容删掉)

cat 1.txt >> 2.txt


·
2>把前面的命令产生的错误信息输入到后面的文件里去。

·
2>>把前面的命令产生的错误信息追加到后面的文件里去。

·
&>把前面的命令产生的正确信息以及错误信息都输入到后面的文件里去。(同样也支持追加,使用&>>)

·
把前面的命令产生的正确信息以及错误信息分别输入到后面的两个文件里去可以使用

·
<把右边文件的内容输入到左边的命令里去,如下我们查看1.txt内容的行数。(<的左侧必须要是命令)

原文地址:http://blog.51cto.com/13658403/2105951

时间: 2024-11-06 20:23:53

shell介绍 命令历史 命令补全和别名 输入输出重定向的相关文章

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

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

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

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

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. * Centos7默认shell为bash. * 还有zsh.ksh 命令历史 我们在终端上敲过的命令,都有它的历史记录,比如此时按下向上键就会看到你之前最后输入的一条命令,再按就再往前翻,这里就开始学习认识命令历史 使用history命令查看历史命令: [[email protected] ~]# history 这里可以看到我已经输入

五周第三次课(1月10日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向

五周第三次课(1月10日)8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向 history命令: 用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件. 该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令.例如,要执行第2个历史命令,则输入!2. 历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取.在内存中,历史命令仅能够存储1000条历史命

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

一.shell介绍 shell是系统跟计算机硬件交互使用的中间介质,它只是系统的一个工具.shell和计算机硬件之间还有一层东西--系统内核.若把计算机硬件比作人的躯体,那系统内核就是大脑,shell就是五官.用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作. shell是一个命令解释器,提供用户和机器之间的交互. 每个用户都可以有自己特定的shell. centos7默认的shell为bash(Bou