重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、Linux基础
为墨脱等地区用户提供了全套网页设计制作服务,及墨脱网站建设行业解决方案。主营业务为网站设计、成都网站设计、墨脱网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
刚开始阶段需要熟悉Linux/Windows操作系统安装,目录结构、启动流程等。
2、系统管理
主要学习Linux系统,生产环境中基本都在字符界面完成工作,所以要掌握常用的几十个基本管理命令,包括用户管理、磁盘分区、软件包管理、文件权限、文本处理、进程管理、性能分析工具等。
3、网络基础
OSI和TCP/IP模型一定要熟悉。基本的交换机、路由器概念及实现原理要知道。
4、Shell脚本编程基础
掌握Shell基本语法结构,能编写简单的脚本即可。
中级
1、网络服务
最常用的网络服务一定得会部署,比如vsftp、nfs、samba、bind、dhcp等。
代码版本管理系统少不了,可以学习下主流的SVN和GIT,能部署和简单使用就可以了。
经常在服务器之间传输数据,所以要会使用:rsync和scp。
数据同步:inotify/sersync。
重复性完成一些工作,可写成脚本定时去运行,所以得会配置Linux下的定时任务服务crond。
2、Web服务
每个公司基本都会有网站,能让网站跑起来,就需要搭建Web服务平台了。
如果是用PHP语言开发的,通常搭建LAMP、LNMP网站平台,这是一个技术名词组合的拼写,分开讲就是得会部署Apache、Nginx、MySQL和PHP。
如果是JAVA语言开发的,通常使用Tomcat运行项目,为了提高访问速度,可以使用Nginx反向代理Tomcat,Nginx处理静态页面,Tomcat处理动态页面,实现动静分离。
不是会部署这么简单,还要知道HTTP协议工作原理、简单的性能调优。
3、数据库
数据库选择MySQL,它是世界上使用最为广泛的开源数据库。学它准没错!也要会一些简单的SQL语句、用户管理、常用存储引擎、数据库备份与恢复。
想要深入点,必须会主从复制、性能优化、主流集群方案:MHA、MGR等。NoSQL这么流行当然也少不了,学下Redis、MongoDB这两个就好了。
4、安全
安全很重要,不要等到系统被入侵了,再做安全策略,此时已晚!所以,当一台服务器上线后应马上做安全访问控制策略,比如使用iptables限制只允许信任源IP访问,关闭一些无用的服务和端口等。
一些常见的攻击类型一定得知道啊,否则怎么对症下药呢!比如CC、DDOS、ARP等。
5、监控系统
监控必不可少,是及时发现问题和追溯问题的救命稻草。可以选择学习主流的Zabbix开源监控系统,功能丰富,能满足基本的监控需求。监控点包括基本服务器资源、接口状态、服务性能、PV/UV、日志等方面。
也可以弄个仪表盘展示几个实时关键的数据,比如Grafana,会非常炫酷。
6、Shell脚本编程进阶
Shell脚本是Linux自动完成工作的利器,必须得熟练编写,所以得进一步学习函数、数组、信号、发邮件等。
文本处理三剑客(grep、sed、awk)得玩6啊,Linux下文本处理就指望它们了。
7、Python开发基础
Shell脚本只能完成一些基本的任务,想要完成更复杂些的任务,比如调用API、多进程等。就需要学高级语言了。
Python是运维领域使用最多的语言,简单易用,学它准没错!此阶段掌握基础就可以了,例如基本语法结构、文件对象操作、函数、迭代对象、异常处理、发邮件、数据库编程等。
echo "HelloWorld"
向控制台输出HelloWorld信息
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
ls test.txt
test.txt 如果不存在,则创建,存在则覆盖其内容
注意: 输出重定向会覆盖原来的内容, 输出重定向则会追加到文件的尾部
cat xxx.py 可以用来快速查看某个文件内容,输出到控制台
cat test.txt haha.txt 将test.txt的内容追加到haha.txt中
cat 1.txt 2.txt 1_2.txt 将1.txt 2.txt内容合并到1_2.txt中
分屏显示:more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,从头开始,每次只显示一页,空格键显示下一页,b键上一页,按下q键退出显示,按下h键可以获取帮助。
more xxx.py
管道:一个命令的输出可以通过管道做为另一个命令的输入。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。即管道左边的输出结果作为管道右侧的参数
cat info.txt | more
tree | more
::: warning
more管道符读到的内容只能前进,不能后退;只能使用空格或回车向下看,不能使用b回看
:::
Linux链接文件类似于Windows下的快捷方式。
链接文件分为软链接和硬链接。
ln -s 源文件 链接文件
ln 源文件 链接文件
没有-s 选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,一般用于保护系统重要的文件。所以-s选项是更常见的形式。
::: warning 注意
如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
:::
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
常用用法:
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式为:
在grep命令中输入字符串参数时,最好用引号或双引号括起来。
例如:
从某个文件搜索
搜索当前目录所有文件
常用选项说明:**
grep搜索内容串可以是正则表达式。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
grep常用正则表达式:
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式:
tar [参数] 打包文件名 文件
tar命令很特殊,其参数前面可以使用“-”,也可以不使用。
常用参数:
注意:除了f需要放在参数的最后,其它参数的顺序任意。
常用命令:
tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。也会见到缩写的.tgz这种扩展名。
gzip使用格式如下:
常用选项:
tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项 -z 可以调用gzip实现压缩的功能,最终实行一个先打包后压缩的过程。
-z :指定压缩包的格式为 xxx.tar.gz
tar压缩: tar zcvf xxx.tar.gz 文件1 文件2 ...
tar解压: tar zxvf xxx.tar.gz
解压到指定目录: tar zxvf xxx.tar.gz -C target_dir/ (大写字母“C”)
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.bz2。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法 : tar -jcvf 压缩包包名 文件1 文件2... (例: tar jcvf bak.tar.bz2 *.c )
解压用法 : tar -jxvf 压缩包包名 (例: tar jxvf bak.tar.bz2 )
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件 :zip [-r] 目标文件(没有扩展名) 源文件
解压文件 :unzip -d 解压后目录文件 压缩文件
使用tree命令可以查看指定目录的树状结构
有时我们想知道被执行的命令在哪个目录,以方便切换或更新不同版本,如Python。可以使用 which 命令
文件内容为:123 aaa bbb哈
执行 echo "123 aaa bbb哈" xxx.txt
wc -l xxx.txt 文件内容的行数1
wc -w xxx.txt 文件内容的单词数3
wc -c xxx.txt 文件内容的字节数15
wc xxx.txt 文件内容的行数,单词数,字节数1 3 15
wc -m xxx.txt 文件的字符数13
sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用。一般用于自动编辑转换程序,动态调整文件内容。
sed 's/good/GOODS/' file 替换每行第一个指定字符串(输出所有行)
sed -n 's/good/GOODS/p' file 替换每行第一个指定字符串(只输出替换的行)
sed -i 's/good/GOODS/g' file 替换所有指定字符串,并应用到文件
sed '2d' file 删除第二行
sed '/^test/d' 删除good开头的行
sed -n '3p' file 打印第3行
显示当前时间 # Tue May 7 14:35:31 DST 2019
当前日期和时间 # 20190507-14:34:25
使用history命令可以查看之前输过的命令及其id,
使用 !id 的形式,可以快速执行指定历史命令
Linux命令大全:
菜鸟Linux命令:
由于Linux操作系统是一个开放源代码的免费操作系统,因此受到越来越多用户的欢迎。随着Linux操作系统在我国的不断普及,有关的政府部门更是将基于Linux开发具有自主版权的操作系统提高到保卫国家信息安全的高度来看待,因此我们不难预测今后Linux操作系统在我国将得到更快更大的发展。虽然Linux与UNIX很类似,但它们之间也有一些重要的差别。对于众多的习惯了UNIX和Windows NT的系统管理员来讲,如何保证Linux操作系统的安全将面临许多新的挑战。本文介绍了一系列实用的Linux安全管理经验。
一、文件系统在Linux系统中,分别为不同的应用安装单独的主分区将关键的分区设置为只读将大大提高文件系统的安全。这主要涉及到Linux自身的ext2文件系统的只添加(只添加)和不可变这两大属性。
●文件分区Linux的文件系统可以分成几个主要的分区,每个分区分别进行不同的'配置和安装,一般情况下至少要建立/、/usr/local、/var和/home等分区。/usr可以安装成只读并且可以被认为是不可修改的。如果/usr中有任何文件发生了改变,那么系统将立即发出安全报警。当然这不包括用户自己改变/usr中的内容。/lib、/boot和/sbin的安装和设置也一样。在安装时应该尽量将它们设置为只读,并且对它们的文件、目录和属性进行的任何修改都会导致系统报警。
当然将所有主要的分区都设置为只读是不可能的,有的分区如/var等,其自身的性质就决定了不能将它们设置为只读,但应该不允许它具有执行权限。
●扩展ext2使用ext2文件系统上的只添加和不可变这两种文件属性可以进一步提高安全级别。不可变和只添加属性只是两种扩展ext2文件系统的属性标志的方法。一个标记为不可变的文件不能被修改,甚至不能被根用户修改。一个标记为只添加的文件可以被修改,但只能在它的后面添加内容,即使根用户也只能如此。
可以通过chattr命令来修改文件的这些属性,如果要查看其属性值的话可以使用lsattr命令。要想了解更多的关于ext2文件属性的信息,可使用命令man chattr来寻求帮助。这两上文件属性在检测黑客企图在现有的文件中安装入侵后门时是很有用的。为了安全起见,一旦检测到这样的活动就应该立即将其阻止并发出报警信息。
如果你的关键的文件系统安装成只读的并且文件被标记为不可变的,入侵者必须重新安装系统才能删除这些不可变的文件但这会立刻产生报警,这样就大大减少了被非法入侵的机会。
●保护log文件当与log文件和log备份一起使用时不可变和只添加这两种文件属性特别有用。系统管理员应该将活动的log文件属性设置为只添加。当log被更新时,新产生的log备份文件属性应该设置成不可变的,而新的活动的log文件属性又变成了只添加。这通常需要在log更新脚本中添加一些控制命令。
二、备份在完成Linux系统的安装以后应该对整个系统进行备份,以后可以根据这个备份来验证系统的完整性,这样就可以发现系统文件是否被非法窜改过。如果发生系统文件已经被破坏的情况,也可以使用系统备份来恢复到正常的状态。
第一阶段:初级入门
初级阶段需要把linux运维学习路线搞清楚,任何学习都是循序渐进的,所以学linux运维也是需要有一定的路线。
1、Linux基础知识、基本命令(起源、组成、常用命令如cp、ls、file、mkdir等常见操作命令)
2、Linux用户及权限基础
3、Linux系统进程管理进阶
4、linux高效文本、文件处理命令(vim、grep、sed、awk、find等命令)
5、shell脚本入门(可边练习边学习)
第二阶段:中级进阶
中级进阶需要在充分了解linux原理和基础知识之后,对上层的应用和服务进行深入学习,其中说到服务肯定涉及到网络的相关知识,是需要花时间学习的。
1、TCP/IP网络基础(差不多CCNA、NP的知识就够用)
2、Linux企业常用服务(如dns、http、ftp、mail、nfs等)
3、Linux企业级安全原理和防范技巧(系统性能/安全、安全威胁模型和保护方法
4、加密/解密原理及数据安全、系统服务访问控制及服务安全基础
5、iptables安全策略构建
6、shell脚本进阶(主要是结合一些应用,写一些案例)
7、MySQL应用原理及管理入门(能管理和搭建一个个人博客站点)
第三阶段:高级提升
1、http服务代理缓存加速(其中主要学习varnish、nginx缓存系统,要对CDN的知识有所了解。)
2、企业级负载集群(其中主要学习nginx、haproxy、lvs要对主要知识熟练掌握,对负载均衡算法有清晰认识)
3、企业级高可用集群 (其中需要对keepalived,heartbeat等进行深入讲解)
4、运维监控zabbix详解(主要是zabbix、cacti、nagios等监控系统,现在用的比较多的是zabbix)
5、运维自动化学习(需要学一些开源运维自动化工具的使用如ansible、puppet、cobbler等运维自动化工具)
第四阶段:资深方向进阶
1、 大数据方向(需要对hadoop、storm等常见开源大数据系统需要深入了解)
2、 云计算方向(主要是openstack这套东西,当然像一些kvm等虚拟化技术,也是需要掌握的,现在docker也比较流行)
3、 运维开发(主要是python运维开发)
4、 自动化运维(在之前自动化基础上做深入)
5、 运维架构师(主要需要广度,差不多5年左右以上经验,可以担当此职位)
接下来我们开始手动创建LVM逻辑卷分区。
我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区。
从 安装Linux系统(二) 文章的第12步开始,我们来演示一下LVM逻辑卷分区。
之前我们12步选择的分区类型是 自定义分区 ,然后进入手动分区的配置页面。而 自定义分区 前面的分区选项,无论你选择哪个分区类型,都属于系统自动分区。例如选择 使用所有空间 ,点击下一步,如下图:
通过上图可以看出,系统自动分配的磁盘划分,比我们自己定义的磁盘划分要复杂。你还可以看出,系统自动分配的分区有两个,一个是 boot 分区 sda1 ,另一个就是LVM分区 sda2 。
也就是说安装Linux系统时,如果你不自定义手工分区,默认都是用LVM进行分区。所以当我们学过LVM分区之后,在生产服务器上至少要采用LVM分区。因为标准分区是不支持分区大小调整的。
接下来我们实践一下自定义手动创建LVM分区。
选择创建自定义布局,点击下一步。
在Linux系统分区中,有一个强制需要创建的分区,就是 boot 分区。 boot 分区很特殊,用于Linux系统启动, 而 boot 分区只能放在普通标准分区上,不能放在LVM分区中。如果把 boot 分区放在LVM分区中,系统将无法启动。(这个和Linux系统的启动管理有关系,强制记住就可以了。)
如果有多个卷组,在 LVM逻辑卷 后就可以上下选择卷组。
其实这个页面中的小窗口,点击右边的添加就可以弹出这个小窗口了,可以继续创建逻辑卷,不用退出。
这样通过图形化界面就完成LVM逻辑卷分区了。
学习Linux步骤:
1、先了解了解基础吧,找一本薄一点的,浅一点的书,了解一下什么是linux。有个基本了解即可。不建议马上看《鸟哥的Linux私房菜》,这本书很不错,如果你了解linux基础之后再看,对你可以说是不受益匪浅都不行。没基础看《鸟哥的Linux私房菜》比较痛苦,内容很多。
2、了解之后,在自己电脑上弄个虚拟机,装上linux系统(redhat或ubuntu都行)。专攻《鸟哥的Linux私房菜》。当你把这本书攻下来时,才知道原来命令行并不可怕,自己打着打着就很长啦。
学linux最主要靠实践,不实践,只看书对你没好处的哦。自己在虚拟机上慢慢玩吧,玩多了就知道咋回事啦。不懂的多找资料弄懂,弄懂之后再实践,这才会有收获。