mv强制覆盖 shell_26期20180628 shell 命令操作 通配符 输出输入重定向

6月28日任务

8.1 shell介绍

8.2 命令历史

8.3 命令补全和别名

8.4 通配符

8.5 输入输出重定向

shell介绍

Shell脚本只是一个表现,所谓的shell是一个命令解释器,用户和机器的一个交互

Shell我们主要使用的是bash shell 另外还有zsh ksh等

yum list |grep zsh

yum list |grep ksh

history查看历史命令

-c 是清空内存的命令历史

其实所有的历史命令都存在一个文件里

/root/.bash_histroy这个文件里

默认的存放条数是1000,可以修改,如果只是修改环境变量的话 $HISTSIZE =10000,但是最终还是要到环境变量的文件中去进行修改

这个文件是 /etc/profile

这里面可以修改存储的个数,比如$HISTSIZE=10000改成10000条

也可以增加记录中使用命令的时间 比如$HISTTIMEFORMAT

HISTTIMEFORMAT="%Y/%m/%d %H:%M:$s |"    (注意在文件里写的时候就不要加$了)

这样就定义了显示的时间格式

但是修改完之后要么是退出当前用户,要么是需要source 这个文件才可以生效

可以使用echo $HISTSIZE $HISTTIMEFORMAT显示定义的值

如果不想丢失历史记录怎么办呢?

有办法。

现在已经定义了可以存放的历史命令的个数,如果超了就会覆盖,那我们直接可以追加模式 echo$?可以看到上一步运行的是否有错误

history显示历史命令之后

有一些命令可以快速使用之前的命令

!! 上一条命令

!数字 运行第X条命令

!word 倒着往上找第一个以word开头的命令

命令补全和别名

tab键 一个的话敲一下补全 两个以及以上就会显示出来

centos 支持命令参数补全 默认还是不支持的 需要安装一个包 bash-completion 后重启系统

alias别名 给命令重新起名字

如果有的命令比较长 可以把命令做别名

alias 别名=‘原来的命令’

直接alias可以看到系统里所有的别名,也包括自己的定义的

这些别名的定义在什么地方呢?

用户家目录下的.bashrc中

目录 etc/profile.d下的几个文件中

如何取消自定义的别名?

unalias 别名

通配符

*

[0-2] =[012]

[0-3a-zA-Z] 中间不用加任何的标点符号

{1,2,3,} =[1-3]区别是有逗号

输入输出重定向

> 前面的输出作为后面的输入 覆盖 前面文件内容不会受影响

>> 前面的输出作为后面的输入 追加 前面的文件内容不会受到影响

2>是将前面命令的错误信息保存到后面的文件中 当然了2>>是追加

如果前面的是正确的会把后面的文件内容覆盖

>+2 == &> 覆盖  >>追加

还可以分开把正确的和错误的写入文件 >  2>

是把右边内容重定向到左边命令

比如 wc word count -l line 查看行数

把1.txt的内容重定向查看行数

但是不能把右边文本内容输出到左边文件中,左边必须是命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值