第2篇 Linux系统管理

1. 1 Linux学习技巧

初学者可以自己安装虚拟机,然后把linux常用命令例如cd、ls、chmod、useradd、vi等等多练习几十遍,把自己敲打命令的熟练程度提升上来。

然后根据文档搭建Linux下常见的各种服务(DHCP、SAMBA、DNS、Apache、Mysql等),遇到问题后可以在google搜索,搜索的时候多看几篇文章,综合最好的文章来解决问题。

能够熟练的搭建服务后,理解每个服务的完整配置和优化,可以拓展思维。例如LAMP,我们一般是把所有服务放在一台机器上,如果分开多台该如何部署呢?等等。

平时多积累shell编程,可以在网上查找前辈们写的非常好的shell,自己下载下来多练习几遍,从中吸取,不断提高。

建立一个自己的学习博客,把平时工作学习中的知识都记录在里面,这样也可以供别人来参考同时也能提高自己的编写文档及方案的能力。

通过以上学习能够满足企业的一般应有,需要达到资深级别,还需要深入学习集群架构、负载均衡、自动化运维、运维开发等知识。最后还是一句话:多练习才是硬道理!实践出真知!

1. Linux系统篇

2.1 Linux系统管理

通过前两章的学习,我们已经能够独立安装Linux系统,已经掌握了Linux学习的技巧,那接下来,我们将系统的来了解Linux系统各目录、权限及常用命令的使用。

2.1. 1 Linux目录初识

通过前面的学习,我们已经能够独立安装完一个linux系统,那接下来我们来熟悉一下Linux系统里面的各个目录文件夹的大致功能:

主要的目录树的有/、/root、/home、/usr、/bin等目录。下面是一个典型的linux目录结构如下: (附图表)

/ 根目录 
/bin 存放必要的命令 
/boot 存放内核以及启动所需的文件
/dev 存放设备文件 
/etc 存放系统配置文件 
/home 普通用户的宿主目录,用户数据存放在其主目录中 
/lib 存放必要的运行库 
/mnt 存放临时的映射文件系统,通常用来挂载使用。

 /proc 存放存储进程和系统信息 
/root 超级用户的主目录 
/sbin 存放系统管理程序 
/tmp 存放临时文件
/usr 存放应用程序,命令程序文件、程序库、手册和其它文档。 
/var 系统默认日志存放目录

2.1. 1 Linux常用命令

默认进入系统,我们会看到这样的字符: [root@localhost ~]#,其中#代表当前是root用户登录,如果是$表示当前为普通用户。

我们了解linux由很多目录文件构成,那我们来学习第一个Linux命令:

cd命令, cd  /home  ;解析:进入/home目录

cd /root 进入/root目录 ;cd ../返回上一级目录;cd  ./当前目录;(.和..可以理解为相对路径;例如cd /hom/test ,cd加完整的路径,可以理解为绝对路径)

接下来继续学习更多的命令:
ls  ./ 查看当前目录所有的文件和目录。

ls  -a 查看所有的文件,包括隐藏文件,以.开头的文件。

 

pwd显示当前所在的目录。

mkdir创建目录,用法mkdir  test ,命令后接目录的名称。

rmdir 删除空目录

rm 删除文件或者目录,用法 rm –rf  test.txt (-r表示递归,-f表示强制)。

cp 拷贝文件,用法,cp  old.txt  /tmp/new.txt ,常用来备份;如果拷贝目录

需要加 –r参数。

 

mv 重命名或者移动文件或者目录,用法, mv old.txt new.txt

touch 创建文件,用法,touch test.txt,如果文件存在,则表示修改当前文件时间。

Useradd创建用户,用法 useradd wugk ,userdel删除用户。

Groupadd创建组,用法 groupadd wugk1 ,groupdel删除组。

 

find查找文件或目录,用法 find  /home  -name  “test.txt”,命令格式为:

find 后接查找的目录,-name指定需要查找的文件名称,名称可以使用*表示所有。

find  /home  -name  “*.txt” ;查找/home目录下,所有以.txt结尾的文件或者目录。

vi 修改某个文件,vi有三种模式:

命令行模式、文本输入模式、末行模式。

默认vi打开一个文件,首先是命令行模式,然后按i进入文本输入模式,可以在文件里写入字符等等信息。

写完后,按esc进入命令模式,然后输入:进入末行模式,例如输入:wq表示保存退出。

如果想直接退出,不保存,可以执行:q!, q!叹号表示强制退出。

cat 查看文件内容,用法 cat test.txt 可以看到test.txt内容

more 查看文件内容,分页查看,cat是全部查看,如果篇幅很多,只能看到最后的篇幅。可以使用cat和more同时使用,例如: cat  test.txt |more 分页显示text内容,|符号是管道符,用于把|前的输出作为后面命令的输入。

echo 回显,用法 echo ok,会显示ok,输入什么就打印什么。

echo  ok  > test.txt ;把ok字符覆盖test.txt内容,>表示追加并覆盖的意思。

>>两个大于符号,表示追加,echo ok >> test.txt,表示向test.txt文件追加OK字符,不覆盖原文件里的内容。

初学者常见的命令就如上所示,当然还有很多深入的命令需要学习,后面的课程会讲解。

 

firewall-cmd --state    ##查看防火墙状态,是否是running
firewall-cmd --reload   ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones   ##列出支持的zone
firewall-cmd --get-services   ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp  ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp     ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent     ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
iptables -L -n         ##查看规则,这个命令是和iptables的相同的
man firewall-cmd                   ##查看帮助 --------------------- 本文来自 achang21 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/achang21/article/details/52538049?utm_source=copy

2.1. 2 Linux用户权限

Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作。在系统中,通过UID来区分用户的权限级别,UID等于0,表示此用户具有最高权限,也就是管理员。其他的用户UID依次增加,通过/etc/passwd用户密码文件可以查看到每个用户的独立的UID。

每一个文件或者目录的权限,都包含一个用户权限、一个组的权限、其他人权限,例如下:

标红第一个root表示该文件所有者是root用户,第二个root代表该文件的所属的组为root组,其他用户这里默认不标出。

 [root@node1 ~]# ls -l monitor_log.sh

-rw-r--r-- 1 root root 91 May  7 20:21 monitor_log.sh

[root@node1 ~]#

如果我们想改变某个文件的所有者或者所属的组,可以使用命令

chown  –R  test:test  monitor_log.sh即可。

每个Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。
利用ls -l命令可以看到某个文件或目录的权限,它以显示数据的第一个字段为
 准。第一个字段由10个字符组成,如下:
    [root@node1 ~]# ls -l monitor_log.sh

-rw-r--r-- 1 root root 91 May  7 20:21 monitor_log.sh

[root@node1 ~]#
    第一位表示文件类型,-表示文件,d表示目录;后面每三位为一组。
   第一组:2-4位表示文件所有者的权限,即用户user权限,简称u
   第二组:5-7位表示文件所有者所属组成员的权限,group权限,简称g
   第三组:8-10位表示所有者所属组之外的用户的权限,other权限,简称o

从上面这个文件,我们可以看出,monito_log.sh文件对应的权限为:

root用户具有读和写的权限,root组具有读的权限,其他人具有读的权限。

为了能更简单快捷的使用和熟悉权限,rwx权限可以用数字来表示,分别表示为r(4)、w(2)、x(1)。

Monitor_log.sh权限可以表示为:644

如果给某个文件授权,命令为chmod:chmod 777 monitor_log.sh

2.1. 3 RAM安装管理

2.1. 1 

一、 加载光盘自带的APM

   mount /dev/cdrom /mnt/   加载光驱到/mnt/目录

   cd /mnt/                进入映射的目录

   rpm -ivh zlib-1.2.7-13.el7.x86_64.rpm   安装XX.rpm包

检查是否正常安装

  rpm –qa yum*   查看yum*所有安装情况

  rpm –q yum   查看yum是否安装

APM包升级

  rpm -U yum-3.4.3-125.el7.noarch.rpm   //进入包目录下进行升级

rpm -Uvh zip-3.0-10.el7.x86_64.rpm   //升级或安装rpm包

查询rpm包安装目录:

  rpm –ql rpm包全称

搜索rpm

rpm -qa |grep vsf 查询指定包

卸载rpm包:

  rpm –e rpm包全称

  1. rpm –qf $(which vim) 查询某个命令是哪个包安装的
  2. rpm –qf /etc/Password 查询某个文件是哪个包安装的
  3. rpm -qlp vsftpd-3.0.2-22.el7.x86_64.rpm
  4. rpm -ql vsftpd
  5. 升级软件 rpm –Uvh package.rpm。要先卸载旧包,再安装新版本。
  6. 软件新旧版本不能共存,但内核可以共存。
  7. 更新内核:rpm –ivh kernel-3.xxx.rpm
  8. rpm -V vsftpd 查看修改了该包哪些文件

 

通过WGET将网络上的apm包下载到本地,进行通过rpm进行安装;

2.1. 2  YUM源配置

一) 网络下载apm

来源:https://blog.csdn.net/bingoxubin/article/details/78466145

1. 删除默认的yum

rpm -aq | grep yum|xargs rpm -e --nodeps

2. 下载最新的yum安装包

下载地址,根据自己的系统需求选择,继续跟踪目录os/x86_64/Packages/,找如下三个安装包。

yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm

yum-3.4.3-132.el7.centos.0.1.noarch.rpm

如果是centos7.2,那么地址请点击

下载完后放到opt目录下

3. 安装yum

cd /opt/

rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm yum-3.4.3-132.el7.centos.0.1.noarch.rpm yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm

4. 更新yum

在该地址下载yum源文件

  1. 打开下载的文件,将文件中的$releasever,全部替换为数字7,如果是CentOS 6.x,那么即替换为数字6
  2. 将文件名改为 rhel-source.repo
  3. 最后将文件上传到/etc/yum.repos.d/目录下

5. 清楚原缓存,重建缓存

clean all

yum makecache

6. 可以通过yum进行安装您想要的包啦

yum install net-tools

 

二) 配置

a)   查看配置的软件包源

b) rm CentOS-openstack.repo  //必须先把系统默认的repo包删除,不然报错。

c) yum list vsftpd 可以显示出是否安装

d) yum list vsftp\* 转义

e) yum install vsftpd\* -y 安装自动确认

f) yum install vsftpd\* -y --downloaddir=/xx –downloadonly 只有下载不安装。

 

三) 安装JAVA\HTTPD\TOMCAT

yum install java-1.8.0*

yum install httpd

yum install tomcat

2.1. 3 Linux网络配置

熟悉了常用的命令和Linux权限,那接下来如何让所在的Linux系统上网呢?管理linux服务器网络有哪些命令呢?

Linux服务器默认网卡配置文件在/etc/sysconfig/network-scripts/下,命名的名称一般为:ifcfg-eth0 ifcfg-eth1 ,eth0表示第一块网卡,eth1表示第二块网卡,依次类推。一般DELL R720标配有4块千兆网卡。

修改网卡的IP,可以使用命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0 如果是DHCP获取的IP,默认配置如下:

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth0

BOOTPROTO=dhcp

HWADDR=00:0c:29:52:c7:4e

ONBOOT=yes

TYPE=Ethernet

如果是静态配置的IP,ifcfg-eth0网卡配置内容如下:

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth0

BOOTPROTO=static

HWADDR=00:0c:29:52:c7:4e

ONBOOT=yes

TYPE=Ethernet

IPADDR=192.168.33.10

NETMASK=255.255.255.0

GATEWAY=192.168.33.1
网卡参数详解如下:

DEVICE=eth0   #物理设备名
ONBOOT=yes   # [yes|no](重启网卡是否激活设备)
BOOTPROTO=static #[none|static|bootp|dhcp](不使用协议|静态分配|BOOTP协议|DHCP协议)

TYPE=Ethernet  #网卡类型

IPADDR=192.168.33.10 #IP 地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.33.1 #网关地址

网卡配置完毕,重启网卡,命令: /etc/init.d/network restart 即可。

查看ip命令:ifconfig 查看当前服务器所有网卡的IP,可以单独指定,ifconfig eth0 查看eth0的IP地址。

网卡配置完毕,如果来配置DNS,首先要知道DNS配置在哪个目录文件下,vi  /etc/resolv.conf 文件:

在该文件里面添加如下两条:

nameserver 202.106.0.20

nameserver 8.8.8.8

从上到下,分别表示主DNS,备DNS。配置完毕后,不需要重启网卡,DNS立即生效。

可以ping www.baidu.com 看看效果:

IP配置完毕后,我们可以通过远程工具来连接Linux服务器,常见的Linux远程连接工具有:putty、secureCRT(主流)、xshell、xmanger等工具。

下载安装secureCRT,打开工具,然后如图配置:

点击左上角quick connect快速连接,弹出界面,然后输入IP,用户名,端口默认是22,然后点击下方的connect连接,会提示输入密码,输入即可。

弹出输入密码框:

 

 

 

进入远程界面,与服务器真实登录一样,然后可以执行命令:

 

 

通过这几章的学习,我们已经熟练了Linux常用命令的操作,权限网络、网络配置、远程连接等知识,那接下来我们还能做什么呢?我们已经差不多入门了,接下来就是更进一步的服务配置,Linux系统到底用来做什么呢?接下来的章节将跟大家一起来学习。

Linux系统的应用,我们最开始介绍的时候简单介绍过,目前大中型企业都用它来承载web网站、数据库、虚拟化平台等,那接下来我们将在Linux系统安装各种服务和软件来实现Linux真正的价值。

posted on 2018-10-21 15:25  luoxf  阅读(122)  评论(0)    收藏  举报

导航