今天来给大家科普一下Linux的一些基础知识。(敲黑板)谁的小眼睛还没有看老师,分享开始了。
1.了解Linux的常用版本
红帽子企业Linux(Red Hat Enterprise Linux):它是RedHat公司的Linux发行版,面向商业市场,包括大型机。红帽公司从Red Hat Enterprise Linux 5开始对企业版LINUX的每个版本提供10年的支持,Red Hat Enterprise Linux常简作RHEL。Red Hat Enterprise Linux大约3年发布一个新版本。
? 费多拉 Linux(Fedora Linux):它是较具知名度的Linux发行版之一。它是一套功能完备、更新快速的免费操作系统。而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux 中。
? 社区企业操作系统(Centos):它的全名为“社区企业操作系统”(Community Enterprise Operating System),是Linux发布版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定发布的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。CentOS 对上游代码的主要修改是为了卸载不能自由使用的商标,其中常见的Linux命令可查:https://www.linuxcool.com/。
? 乌班图(Ubuntu):它是一个以桌面应用为主的GNU/Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“Ubuntu”一词,意思是“人性”。Ubuntu基于Debian发行版,与Debian的不同在于它每6个月会发布一个新版本。
2.入门必读的Linux书籍
? 首先安利的是小编我自己入坑用的《Linux就该这么学》 (刘遄 著)本书从最基础的安装VM虚拟机一步步深入讲解,文件管理命令,SSH管理,vsftpd服务等,学完后做一个初级运维工程师绰绰有余。
? 然后给大家推荐的是进阶书籍《 深入理解Linux内核》 (美)博韦,西斯特 著,本书将引领你畅游内核中用到的主要数据结构、算法和编程技巧,让你透彻理解Linux的工作机理,以及为何它在各种系统上能顺畅运行。
学习Linux是一个循序渐进的工程,要想成为这个行业的大佬,能力和经验一样重要。附一张Linux学习路径图(来源网络),仅供参考。
3.熟悉Linux常用命令
man :任何时候你觉得对一个命令行不是很确定,都可以通过输入“man + 命令”来了解这个命令能确切是做什么的。
ls:列出目录内容。
pwd:在终端中显示当前工作目录的全路径。
cd :要变更你当前所在的目录。
mkdir :创建一个新的目录。
cp :复制文件/重命名文件。
mv :移动文件。
find和locate:搜索文件。
kill:快速关闭一个进程。
passwd:更改密码。
md5sum :计算和检验MD5信息签名
history:查询历史记录命令。
sudo :(super user do)命令允许授权用户执行超级用户或者其它用户的命令。
touch:创建一个新文件,或者将文件的访问和修改时间更新为当前时间。
chmod:修改文件的访问权限。
chown :改变文件拥有者和所在用户组。
apt:APT是一个为Debian系列系统(Ubuntu,Kubuntu等等)开发的高级包管理器,在Gnu/Linux系统上,它会为包自动智能地搜索、安装、升级以及解决依赖问题。
- 新手常犯错误汇总
安装Linux服务器环境时,首先分清楚是那一个版本的系统,拿Centos 6和 7来说,防火墙的设置就完全不一样,6是iptables,7是firewall。
? 不要以根用户登录:这是使用Unix的惯例,除非必须那么不要轻易在根用户下运行任何东西。
? 文件命名混乱:避免使用美元符($),括弧和百分号(%)等特殊字符,这些字符对于shell有着特殊意义,可能会引起冲突。避免使用空格,不要使用无效字符,“/”是根目录专用的。
? 所有文件都混在一起:将Home目录放在一个独立的分区上,可以在你重装系统甚至升级你的整个版本而不会丢失你的数据和个人设置。
? 试图点击运行.exe文件:除非你安装了WINE,双击那些.exe文件毫无用处。新用户需要知道,无论是Linux还是Windows,都只会运行针对自身系统开发的应用程序。
? 以默认格式向微软Office用户发送OpenOffice文档:微软产品对其它操作系统和其它应用程序的友好性并不强,许多新Linux用户在共享文件给朋友时往往会遇到麻烦,因为对方无法阅读他们共享的文件格式,因此新Linux用户要注意存储文件的格式,确保它们能够被微软类似应用所打开。
log_format json www.sangyulpt.com ‘{"@timestamp"www.tianjiptzc.cn:"www.shentuylgw.cn $time_iso8601",‘
‘"@version":"1",‘
‘"host":"$server_addr",‘
‘"client":"$remote_addr",‘
‘"size":$body_bytes_sent,‘
‘"responsetime":$request_time,‘
‘"domain":"$host",‘
‘"url":"$uri",‘
‘"status":www.hongyangpt.cn"$status"}‘;
access_log /Users/chenqionghe/web/log/nginx-access.log json;
在logstash中配置
input {
file {
path =>www.yasenyulee.cn "/Users/chenqionghe/web/log/nginx-access.log"
codec => "json"
}
}
output {
stdout { codec => rubydebug }
}
启动请求如下
- 合并多行数据
multiline 插件可以收集多行数据,用于用于其他类似的堆栈式信息
示例如下
input {
stdin {
codec =www.feishenbo.cn> multiline {
pattern => www.hongyaoyul.cn"^\["
negate =jiuhuaylpt.com> true
what => "previous"
}
}
}
输入
[2020-03-18 14:54:03] hello chenqionghe
[2020-03-18 14:54:03]hello gym
light weight baby
let‘s do it !
[2020-03-18 14:54:03] finished
效果如下
另外,codec还可以编解码protobuf、fluent、nmap等,可以参考:codec-plugins
六、filter过滤器插件
logstash 威力强大的最重要的就是因为有丰富的过滤器插件。
- Grok 正则捕获
Grok 是 Logstash 最重要的插件,可以在 grok 里预定义好命名正则表达式,在之后(grok参数或者其他正则表达式里)引用它,示例
input {stdin{}}
filter {
grok {
match =www.huiyinpp3zc.cn> {
"message" => "\s+(?<request_time>\d+(?:\.www.lexuancaizc.cn \d+)www.baihuayl7.cn )\s+"
}
}
}
output {stdout{www.baishiyl2zc.cn}}
启动后输入
hello 123.123 world
可以,看到配置到了我们自定义的变量request_time
- 时间处理
filters/date 插件可以用来转换你的日志记录中的时间字符串,变成 LogStash::Timestamp 对象,然后转存到 @timestamp 字段里。支持ISO8601、UNIX、UNIX_MS、TAI64N、Joda-Time 等格式
示例
input {stdin{}}
filter{
date{
match => ["message","yyyyMMdd"]
}
}
output {stdout{}}
- 涉足Linux社区和网站
LinuxProbe:主打书籍《Linux就该这么学》分享Linux相关的技术资讯,还免费提供下载Linux学习相关的书籍,同时提供红帽认证的培训,需要的朋友可以了解一下。
LinuxCool:这个一个Linux命令大全手册,用起来非常顺手,对Linux学习有着很大的帮助,建议收藏网站。
? Linux伊甸园论坛:这是一个开源的资讯门户网站,全天更新提供最新最快的Linux和开源资讯,对了解Linux非常有帮助。
? LinuxCN:Linux中国是专注于中文Linux技术、资讯的社区,在这里你可以获得一手的Linux资讯和技术知识,你值得拥有。
最后祝愿入坑Linux的小伙伴在这条路上越走越远,越来越好。
原文地址:https://www.cnblogs.com/laobeipai/p/12523647.html