2018-1-10 5周3次课 命令补全、别名、通配符、重定向

8.1 shell介绍


·什么是shell?

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

- 支持特定语法,比如逻辑判断、循环

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

- CentOS7默认shell为bash(Bourne Agin Shell)

- 还有zsh、ksh等





8.2 命令历史

方向键↑可以查看历史命令,命令存放在家目录 ~/.bash_history

history命令查看之前的命令, 最大可以存1000条

可以存多少条命令是由一个环境变量HISTSIZE决定的

[[email protected] ~]# echo $HISTSIZE
1000

·清空当前内存命令历史 history -c,但是无法清空配置文件bash_history

·执行的命令,并不是实时写入到bash_history中,而是暂时存放在内存中,当退出终端时,才存入

·定义环境变量HISTSIZE      /etc/profile中修改

(更改可以保存的最大历史命令数量,可改这里)

想要HISTSIZE生效,需要重新进一下终端,或者执行source /etc/profile

[[email protected] ~]# echo $HISTSIZE
1000
[[email protected] ~]# source /etc/profile
[[email protected] ~]# echo $HISTSIZE
5000

·改变命令历史格式:改变环境变量 HISTTIMEFORMAT

HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

想要永久生效,可以写入到 /etc/profie 中去

保存退出 source /etc/profile

永久保存 chattr +a ~/.bash_history,只能追加,不能删除

最后一条命令                                          !!

第n条命令                                              !n

从最后倒着去找以word开头的命令          !word





8.3 命令补全和别名

tab键,敲一下,敲两下

如果有一个相同开头,按一下就会出现;如果有多个相同开头,需要敲两下

CentOS6中只支持命令补全,参数无法补全;CentOS7中支持参数补全

默认不支持参数补全,需要安装bash-completion

[[email protected] ~]# yum install -y bash-completion

安装完成后重启系统

·别名 alias别名给命令重新起个名字:alias 别名=‘命令’

[[email protected] ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

·各用户都有自己配置别名的文件 ~/.bashrc

·其余的别名存放在/etc/profile.d/中

[[email protected] ~]# ls /etc/profile.d/
256term.csh  bash_completion.sh  colorgrep.sh  colorls.sh  lang.sh   less.sh  vim.sh      which2.sh
256term.sh   colorgrep.csh       colorls.csh   lang.csh    less.csh  vim.csh  which2.csh

·自定义的alias放到~/.bashrc

·取消别名 unalias 命令别名

[[email protected] ~]# alias restartnet='systemctl restart network.service'
[[email protected] ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias restartnet='systemctl restart network.service'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[[email protected] ~]# unalias restartnet
[[email protected] ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'



8.4 通配符

*                              任意一个或多个字符

?                              任意一个字符

[0-9]                        范围

[a-z]

[A-Z]

[1-9a-bA-Z]

{1,2....}                      具体数字 (或)




8.5 输入输出重定向


输出重定向:

>                                     前面正确的信息重定向到文本文件中

>>                                   前面正确的信息追加重定向到文本文件中

2>                                   错误重定向到文本文件中

2>>                                 错误追加重定向到文本文件中

&>                                   正确错误都重定向到文本文件中  1>+2>

&>>                                 正确错误都追加重定向到文本文件中

> a.txt 2>b.txt                  正确的输出到a.txt,错误的输出到b.txt

输入重定向:

< 将后面文本文件中的信息输入重定向到前面的命令

wc -l < 1.txt 统计1.txt有多少行

[[email protected] ~]# cat test3
ls: cannot access test: No such file or directory
test2
[[email protected] ~]# cat > newfile < test3
[[email protected] ~]# cat newfile
ls: cannot access test: No such file or directory
test2

这里的先将文件中的数据提取到了命令 cat 中 ,然后由 cat 写入到 newfile 中

参考:https://www.cnblogs.com/divent/p/5773861.html

原文地址:http://blog.51cto.com/11530642/2059591

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

2018-1-10 5周3次课 命令补全、别名、通配符、重定向的相关文章

2018.1.10 5周3次课

五周第三次课(1月10日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 8.1 shell介绍 shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具.实际上,在shell和计算机硬件之间还有一层东西一一系统内核.如果把计算机硬件比作一个人的躯体,那系统内核就是人的大脑.至于shell,把它比作人的五官似乎更贴切些.言归正传,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系

2018.4.10 15周5次课

十五周五次课(4月10日) 18.6 负载均衡集群介绍 18.7 LVS介绍 18.8 LVS调度算法 18.9/18.10 LVS NAT模式搭建 18.6 负载均衡集群介绍 主流开源软件LVS.keepalived.haproxy.nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做7层使用 keepalived的负载均衡功能其实就是lvs lvs这种4层的负载均衡是可以分发除80外的其他端口通信的,比如MySQL的,而ng

2018.4.10 三周第二次课

磁盘挂载 mount (挂载点) 概念:mount命令可以查看当前系统已经挂载的所有分区.分区文件系统的类型.挂载点及一些选项等信息: 如果想知道某个已挂载分区的文件系统类型,直接用mount命令查看即可: 而未挂载的分区,可以使用blkid命令查看,后续会讲. 选项: 常用的有-a.-t.-o,在/etc/fstab下有讲解.可以man mount看一下 我们先把添加的硬盘格式化 mkfs.xfs -f /dev/sdb [[email protected] ~]# mkfs.xfs -f /

五周第三次课(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条历史命

2018.1.12 5周5次课

五周第五次课(1月12日) 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 8.10 shell特殊符号cut命令 1. 特殊符号 * 任意个任意字符 *代表零个或多个任意字符 ? 任意一个字符 ?只代表一个任意的字符 # 注释字符 表示注释说明,即#后面的内容都会被忽略 \ 脱义字符 这个字符会将后面的特殊符号 (如*) 还原为普通字符 | 管道符 这个字符前面曾多次出现过,它的作用是将前面

2018.4.23 17周4次课

十七周4次课(4月23日) 20.20 告警系统主脚本 20.21 告警系统配置文件 20.22 告警系统监控项目 20.20 告警系统主脚本 创建告警系统的目录: [[email protected] /usr/local/sbin]# mkdir mon [[email protected] /usr/local/sbin]# ls mon  nginx_log_rotate.sh [[email protected] /usr/local/sbin]# cd mon [[email pro

2018.1.9 5周2次课

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 7.6 yum更换国内源 1.恢复之前备份的文件 2. 进入"/etc/yum.repos.d"目录 3.删除"CentOS-Base.repo"文件 4.下载"163.repo"文件 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo curl -O http://mirrors

2018.1.16 6周2次课

六周第二次课(1月16日) 9.4/9.5 sed 9.4/9.5 sed 其实grep工具的功能还不够强大,它实现的只是查找功能,而不能把查找的内容替换.以前用vim操作文档的时候,可以查找也可以替换, 但只限于在文本内部操作,而不能输出到屏幕上.sed工具以及后面要介绍的awk工具就能把替换的文本输出到屏幕上,而且还有其他更丰富的功能.sed和awk都是流式编辑器,是针对文档的行来操作的. sed  '/x/'p filename:匹配x字符 sed  -n  '/x/'p  filenam

2018.1.23 7周2次课

七周二次课(1月23日) 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包 10.6 监控io性能 1. iostat来对linux硬盘IO性能进行检测 使用iostat,需要先安装sysstat ,即yum -y install sysstat iostat可以产生三种类型的报告:CPU利用情况报告.设备利用情况报告.网络文件系统利用情况报告. iostat命令格式可概述为: iostat[参数][时间][次数] 其中,时