linux环境下的运维--琐碎小知识点基础篇
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux环境下的运维--琐碎小知识点基础篇相关的知识,希望对你有一定的参考价值。
目录
一、什么是桥接
二、什么是shell
三、外部命令和内部命令
1、外部命令
(1)type
(2)hash
2、内部命令
(1) enable
(2) help
四、时间的设置
1、CST 中国标准时间
(1)date
(2)cal
2、文件的时间戳
3、时区的修改
4、硬时间,软时间的操纵方法
五、history查询历史记录
六、通配符
(1)文件通配符
(2)文字通配符
七、man章节
八、总结
在开篇之前,先讲一个关于linux的小故事。 早在遥远的1991年,有个芬兰的计算机专业学生开发了Linux 0.01版,他开发这个Linux的原因是去学校机房上网时总是排队,排队时间都比玩电脑的时间长。linus Torvalds作为一名学生,利用一个暑假重新写出了linux的内核作为一个开源软件。
一、什么是桥接
想要真正的开始学习linux环境下的运维,首先要知道虚拟机和交换机是如何实现连接的。
物理机,本身有一个网卡,VMware虚拟机,也有一个网卡,为了二者互连,VMware又创建出了一个交换机,虚拟机的网线连接在交换机上,交换机又连接在物理机的网卡,物理机的网线连接在教室的交换机上,所以相当于虚拟机也连接在教室的交换机上。
二、什么是shell
shell是linux系统的用户界面,提供了用户与内核进行交互操作的一种接口,是一种人机交互的语言,相当于一个交流的外壳。
也被称为LINUX的命令解释器(command interpreter),它是一种高级程序设计语言。系统默认使用bash shell。
* GUN Bourne-Again Shell(bash)是GUN计划中重要的工具软件之一,目前也是Linux标准的shell,与sh兼容。
*CentOS默认使用
*显示当前使用的shell
echo $(SHELL)
*显示当前系统使用的使用的所有shell
cat /etc/shells
三、外部命令和内部命令
1、外部命令
(1)type //类型 查看内外部命令
type command // 显示命令的类型
(2)hash常见用法(执行外部命令):
hash // 显示所有被hash的命令路径
hash -1 //显示所有被hash的命令路径,包含别名
hash -d //别名,删除指定别名的hash条目
hash -r //清空所有hash
hash -t //别名 显示别名的hash路径
hash -p //路径 别名 手工增加一条hash
2、内部命令
(1)enable 列出所有内部命令
enable command //激活被禁用的内部命令
enable -a //显示所有内部命令
enable |wc -1 //显示激活中的内部命令的数量
enable -a |wc -1 //显示所有内部命令的数量
enable -n echo //禁用了echo内部命令
1>eg: enable -n echo
type echo
enable |wc -l
解释:禁用了echo,文件由原本的61条命令,变为了60条。
echo $PATH 查看路径(由左到右排)
2> eg: mkdir /root/bin .................创建一个目录
mv /bin/echo /root/bin............移动 bin下的echo到root/bin下
/root/bin/echo....................执行成功
echo..............................报错
type echo....................执行,依然在/bin/echo下
为什么依然在/bin/echo下?
因为只有内部命令会把整体放在文件中,外部命令只是把路径缓存到hash当中。
第二次就不用搜索,直接用hash调用。
关于echo
-n //不自动换行
-E // 不开始解释功能,默认
-e //开启解释功能
\a // 警告声
\b // 退格
\c // 不换行
\n // 回车换行
\r //回车,即光标移至行首,但不换行
\t //插入tab
\\ //插入\
(2)help 内部命令 查看内部命令的帮助信息
help help
--help
四、时间的设置
1、CST 中国标准时间
(1)date
date -s ‘2018-0109 14:38:20’.........修改时间
+%Y 年
+%m 月
+%d 日
+%H 时
+%M 分
+%S 秒
+%F 年/月/日
+%T 时:分:秒
102013112020.45 月日时分年[.秒]]
-s ‘年-月-日 时:分:秒’
"+%Y年%m月%d日 星期%W"
(2)cal
显示当前日历
cal 2018 //显示2018年的日历
cal 1 //公元一年
cal -3 //上个月,这个月,下个月
cal 5 2018 // 2018年5月
cal 9 1752 // 代表特殊的一年,这一个月缺失了11天
cal mm yyyy // 显示yyyy年mm月的日历
2、文件的时间戳
atime //访问时间,读取时更新
mtime //数据修改时间
ctime //元数据修改时间
stat filename
touch filename //当文件不存在的时候,则创建一个空问价,名为filename
当文件已存在时,则更新时间戳。
-a //更新atime ctime
-m //更新mtime ctime
touch filename //更新全部时间戳
-t [cc[YY]]MMDDHHmm[.SS] //将a/m time 更新到指定时间
-c //当文件已存在时,则更新全部时间,当文件不存在时,不创建
3、时区的修改
在CentOS的不同版本中,具有不同的表现形式:
centos 6:
eg: ll /etc/localtime
ln -f /usr/share/zoneinfo/America/New_york /etc/localtime
或者 ll /etc/localtime
ln -f /usr/share/zoneinfo/Asia/shanghai /etc/localtime
centos 7:
eg: ln -f -s /usr/share/zoneinfo/America/New_york /etc/localtime
ln -f -s /usr/share/zoneinfo/Asia/shanghai /etc/localtime
timedatectl set-timezone America/New_York
timedatectl set-timezone Asia/Shanghai
4、硬时间,软时间的操纵方式
hwclock //行同于clock
clock -s // 将软时间写入硬时间 关机时自动进行
clock -w // 将硬时间写入软时间 关机时自动进行
五、history查询历史记录
!编号,重复执行某条历史
ctrl+r //进入一个搜索模式(进行历史的查询)
history //查看历史记录
!n //重复执行某条历史
!! // 重复执行上一条命令
ctrl+p // 等于上箭头
ctrl+n //等于下箭头
ctrl+j //等于回车
!string // 重复前一个以“string”开头的命令
!?string
ctrl+r //命令历史中搜索命令
-c // 清除命令历史
-d offset //删除历史中指定的第offset个命令
-a //将当前终端新执行的命令写入历史记录文件(文件由变量HISTORY决定,默认为用户家目录下的.bash_hiatory)
-w /path/filename.txt // 将历史记录写入指定文件
-r //读历史文件附加到历史列表
-p //展开历史参数成多行,但不存在历史列表中
-s //展开历史参数成一行,附加在历史列表后
-n //读历史文件中未读过的行到历史列表
n //显示最近的n条历史
六、通配符
(1)文件通配符
ls [A-Z]* //表示范围
[a-Z] //能表示出所有的大小写字母
ls [[:lower:]]* //只表示小写字母
ls [[:upper:]]* //只表示大写字母
[:digit:] //任意数字,相当于0-9
[:alpha:] //任意大小写字母
ls [a-Z0-9]* // 等同于 ls [[:digit:][:alpha:]]*
[:alumn:】 //任意数字或字母
[:blank:] //水平空白字符
[:space:]等同于 ls *[[:blank:]]* 等同于 ls *[[:space:]]* //水平或垂直空白字符
[:punct:] //标点符号
ls *" "* [:print:] //可打印字符
[:cntrl:] //控制(非打印)
[:graph:] //图形字符
[:xdight:] //十六进制的字符
[^wang] //^是一个托字符,表示被中括号括起来的,表示‘非'的意思。
-a //显示所有文件(隐藏的与不隐藏的)
-d /root/.* //只显示隐藏文件(只显示/root下的隐藏文件和目录)
-d /etc/*/ //显示非隐藏目录(只显示/etc下的非隐藏目录)
注意:如果只写一个中括号,系统会以为所要表示的是,中括号内的范围,从而将包含u,p,e,r,的字母表示出来。
(2) 文字通配符
* 0或多个任意字符
? 任意一个单一字符
~ 表示加目录
[0-9] //表示数字范围
[a-z] //表示所有字母
[mage] // 表示包含m或a或g或e
[^mage] //表示不包含m或a或g或e
七、man章节
man pasword //进入第一章节
man 5 pasword //进入第五章
man -k pasword //模糊搜索,可以查出一共有几个章节
man man //同上,关于自己的帮助
man 帮助
查看man手册页
man[章节]keyword
man -f keyword.....相当于whatis
搜索man手册
man -a keyword //列出所有帮助
man -k keyword //列出所有匹配的页面....相当于whatis
man -w [章节] keyword //打印man帮助文件的路径
man // 命令的操作方法:使用less命令实现
space:^v,^f,^F // 向文件尾翻屏
b,^b //向文件首部翻屏
d,^d //向文件尾部翻半屏
u,^u //向文件首部翻半屏
RETURN,^N,e,^E or j or ^J //向文件尾部翻一行
q //退出
# //跳转至第#行
lG //回到文件首部
G //翻至文件尾部
八、总结
通过这段时间在北京马哥教育的学习,在老师系统的讲解下,思路拓展,也有所进步,开学时,只期望对于运维这一行业,有所了解,并未打算深入学习,但是现在却想要了解的更多,学习的更多,前期知识点零碎,脑容量深感不够用,但是还好,课上讲过的东西,课下有录制的视频,可以及时的查漏补缺,可能是学运维要掌握的东西真的很多,计划长达4个月的系统学习,第一个星期就能感觉到节奏紧凑,同学们也都很用心,丝毫没有怠慢,我觉得这样挺好的,好像都能感受到,自己正在向传说中的大神一步一步靠近,了解到他们成为大神,靠的是什么,脑子里装的是什么,揭开他们神秘的面纱。时间在流动,我们在进步,虽然现在才迈出了第一步,但是以后的每一步都这样走,相信我们都会变得很优秀的,加油,加油,还是要相信,学习使我们快乐!
以上是关于linux环境下的运维--琐碎小知识点基础篇的主要内容,如果未能解决你的问题,请参考以下文章