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再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。

  • shell是一个命令解释器,提供用户和机器之间的交互
  • 支持特定语法,比如逻辑判断、循环
  • 每个用户都可以有自己特定的shell
  • CentOS7默认shell为bash(Bourne Agin Shell)
  • 还有zsh、ksh等

8.2 命令历史

我们执行过的命令Linux都会记录,预设可以记录1000条历史命令。这些命令保存在用户的家目录的 .bash history文件中。但需要注意的是,只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至 .bash _history文件中。

  • history命令
  • .bash_history
  • 最大1000条

清空当前内存中的历史命令纪录,用命令【history -c】

  • 变量HISTSIZE

  • 修改变量HISTSIZE在“/etc/profile”中修改

使修改后生效

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

记录历史命令运行的日期和时间

要使命令生效,编辑“/etc/profile”文件

  • 只能追加,不能删除 chattr +a ~/.bash_history
  • !!:连续两个!表示执行上一条指令

  • !n:这里的n是数字,表示执行命令历史中的第n条指令。

  • !字符串(字符串大于等于1):例如!pw表示执行命令历史中最近一次以pw开头的命令。

8.3 命令补全和别名

  • tab键,敲一下,敲两下

按tab键可以帮我们补全一个指令、一个路径或者一个文件名。连续按两次tab键,系统则会把所有的命令或者文件名都列出来。

  • 参数补全,安装bash-completion

yum install -y bash-completion

安装完成后需要重启reboot后命令才能生效

  • alias别名给命令重新起个名字

alias,它也是bash所特有的功能之一。 我们可以通过alias把一个常用的并且很长的指令另取名为一个简单易记的指令。直接执行alias命令,会看到目前系统预设的别名。

  • alias在哪里定义的
  1. 用户家目录下: ~/.bashrc。自定义的alias放到 ~/.bashrc

  1. “/etc/profile.d/“里

  • 如果不想用了,还可以使用unalias命令解除别名功能。

unalias  [别名]

8.4 通配符

在bash下,可以使用*来匹配零个或多个字符,不分字符也不分几个。

用?匹配一个字符和一个数字。

用[ ]来匹配,[ ]里表示的是范围,里面取值只取1个

用{ }来匹配,{ }里面的取值范围要加,

8.5 输入输出重定向

输人重定向用于改变命令的输人,输出重定向用于改变命令的输出。输出重定向更为常用,它经常用于将命令的结果输人到文件中,而不是屏幕上。

输人重定向的命令: <

输出重定向的命令: >

追加重定向命令: >>

错误重定向命令:2>

追加错误重定向命令:2>>

错误和正常的输出信息重定向命令:&>(写在同一个文件里)

追加错误和正常的输出信息重定向命令:&>>(写在同一个文件里)

既有正确的输出,又有错误的输出。(写在不同的个文件里)

原文地址:http://blog.51cto.com/415326/2059507

时间: 2024-08-01 05:28:32

2018.1.10 5周3次课的相关文章

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 /

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.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.1.29 8周1次课

八周一次课(1月29日) 10.23 linux任务计划cron 10.24 chkconfig工具 10.25 systemd管理服务 10.26 unit介绍 10.27 target介绍 10.23 linux任务计划cron 其实大部分系统管理工作都是通过定期自动执行某个脚本来完成的, 那么如何定期执行某个脚本呢? 这就要借助Linux的cron功能了 Linux任务计划功能的操作都是通过crontab命令来完成的, 其常用的选项有以下几个. -u:表示指定某个用户,不加- u选项则为当

2018.02.26 9周4次课

九周第四次课(2月26日) 11.1 LAMP架构介绍 11.2 MySQL.MariaDB介绍 11.3/11.4/11.5 MySQL安装 11.1 LAMP架构介绍 MySQL.MariaDB介绍 MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿刀),2009年sun公司被oracle公司收购(74亿刀) MySQL官网https://www.mysql.com  最新版本5.7GA/8.0DMR MySQL5.6变化比较大,5.7性

2018.4.25 18周1次课

十八周一次课(4月25日) 20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行命令 20.30 expect脚本传递参数 20.27 分发系统介绍 expect是一种能够按照脚本内容里面设定的方式与交互式程序进行"会话"的程序.根据脚本内容,Expect可以知道程序会提示或反馈什么内容以及什么是正确的应答.它是一种可以提供"分支和嵌套结构"来引导程序流程的解释型脚本语言. 我们熟知的shell编程功能虽然很强大,但是