一IP、端口、协议基本概念
ip的简单概念
互联网上的计算机,都会有一个唯一的32位的地址,ip地址
我们访问服务器,就必须通过ip地址
局域网里也有预留的ip地址 192/10/172.居于王的ip地址也是唯一
NAT模式,电脑宿主机的ip在局域网是唯一的,选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网(私有网络)
端口的简单概念
一个ip代表一台主机,但是主机上可能会有很多服务。一台主机上的不同服务功能就是通过端口区分。然后让外部人员访问
远程连接服务 ssh 22端口
协议的简单概念:
这个协议就像问我们说话一样,汉语、英语、法语/不同服务提供了不同的端对应了不同的功能通信方式可能是不同的,这种通信的方式我们就可以理解为协议
一台主机上的不同服务功能,就是通过端口来区分,不同的服务,客户和服务器之间通信就可能使用不同的协议。
ssh链接的需要设定的五个要素:协议,ip,端口,用户名,密码
如:
ssh链接:
[root@pyrene ~]# ps -ef|grep ssh -》查看进程
root 1523 1 0 18:27 ? 00:00:00 /usr/sbin/sshd
root 1813 1523 0 19:25 ? 00:00:00 sshd: root@pts/0
root 1844 1817 0 19:26 pts/0 00:00:00 grep ssh
查看这个进程的详细信息
[root@pyrene ~]# netstat -lntup|grep ssh //查看协议,ip,端口 状态
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1523/sshd
tcp 0 0 :::22 :::*
linux优化
1、关闭SELINU
思路:
1、首先备份
[root@pyrene ~]# cp /etc/selinux/config /etc/selinux/config.ori
2、sed替换,只是在内存中生效
[root@pyrene ~]# sed 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
3、然后再替换文件中的内容
[root@pyrene ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
4、查看是否真的生效
[root@pyrene ~]# grep "SELINUX=disabled" /etc/selinux/config
SELINUX=disabled
5、因为不能重启电脑,所以这里要查看并更改配置文件
[root@pyrene ~]# getenforce 查看状态
Enforcing
[root@pyrene ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@pyrene ~]# setenforce 0 要把配置文件设置关闭selinux
[root@pyrene ~]# getenforce
Permissive
设定运行级别
查看状态
[root@pyrene ~]# cat /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
上面有7中状态
0、重启
1、出问题的话单用户模式
2、多用户模式
3、命令行模式
4、保留没有使用
5、桌面模式
6、重启
[root@pyrene ~]# runlevel 查看当前运行级别
N 3
使用init 后面跟数字,然后切换运行级别
linux目录介绍及目录和磁盘分离原理精讲
LINUX中根是顶点,像一个倒挂的树
linux中的设备
[root@pyrene ~]# ls /dev/sda* 查看不同的磁盘
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3
linux下目录的特点:
1、根是所有目录的顶点
2、linux的目录结构像一颗倒挂的树
3、目录和磁盘分区是没有关联的
4、根下不同的目录可能会对应不同的分区和磁盘。主要挂载点的不同
5、所有的哦目录都是按照一定类别有规律的组织和命名的
linux里的设备如果不挂在是看不到入口的,类似于没有窗户没有门的监狱,如果希望设备被访问,那就必须给这个设备一个入口,这个入口就叫做挂载点,挂载点的表现实质是一个目录
用mount命令来挂在
光驱也是一种设备 /dev/cdrom
mount /devcdrom /mnt
问题:
系统访问的时候没有挂载,请问为什么能够访问呢?原因如下:
[root@pyrene ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 2.3G 16G 13% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 380M 67M 293M 19% /boot
[root@pyrene ~]# cat /etc/fstab 在这个文件中自动挂载的
#
# /etc/fstab
# Created by anaconda on Mon Nov 27 10:04:56 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=10511f1b-4551-4ffe-ad42-4f2aff3132d7 / ext4 defaults 1 1
UUID=b4fcac8d-f382-4b8f-a043-7b452b8099b8 /boot ext4 defaults 1 2
UUID=06f8ef08-e184-44a1-a7b6-f47e9ba033ec swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/ :第一个盘装系统
/user :装用户自己的程序
/usr/local :存放用户自己安装的程序
/opt : 存放第三方厂商的程序
/home :存放用户的数据
删除东西的时候这样删除:
首先创建一个目录,然后把想要删除的文件等移动到这个目录,等到一个月之后没有什么问题再进行删除
linux目录结构层次标准
FHS:中文目录结构规范
定义了两层规范:第一层是/目录下哥哥目录应该放什么文件数据
第二层是针对/usr和/var做了相应的标准
[root@pyrene ~]# tree -L 1 / 查看/下面的第一层
/
├── bin 二进制命令所在的目录如ls ,cp等等
├── boot linux内核和系统引导程序所需的文件目录
├── cgroup
├── dev 存放设备的目录
├── etc 1、二进制软件包(yum,rpm安装的)配置文件默认路径
2、很多服务的启动命令也在这个目录下面
fstab 开机自动挂载设备
hosts 主机名文件
inittab 开机需要加载的文件,里面有运行级别的等脚本
issue 登录之前的信息
motd 登录之后显示的信息 (可以给登录用户显示)
profile 全局环境变量
resolv.conf dns配置文件
├── home 普通用户的家目录
├── lib 库文件存放目录
├── lib64
├── lost+found 系统崩溃或者意外关机临时存放碎片,系统开机fsck会自动修复
├── media
├── mnt 临时挂载目录
├── opt 可选择的,自定义软件包(现在不经常用)
├── proc 这个目录非常重要,内核和进程信息的虚拟文件系统
├── root
├── sbin 系统的二进制命令,管理员对应的命令
├── selinux
├── sys
├── tmp 临时文件目录,程序运行的时候会产生垃圾
├── usr 用户程序及数据、帮助文件、二进制命令等的目录
└── var 存放系统日志的目录
/var/log/message 系统日志存放位置
/var/log/secure 系统安全显示登录信息( 可以看到谁扫描自己等)
/bin :普通用户命令的目录
/sbin和/usr/sbin 超级用户命令的目录
运维重要思想
1、觉得(认为)会了还是不够的,还要表达出来
2、表达出来是一次将知识装入潜意识的过程
3、只有把知识装入潜意识了,将来才能迅速取出来用
4、听课,就是把知识放入意识的过程,潜意识层面的知识不是你的
5、成功必有方法
潜意识:新年 价值观 行动
让老板加薪
信念:让他相信你牛逼,相信对公司的贡献大,对他忠诚
价值观:方法有了
行动:才可能有结果
重要子目录说明必须要掌握的
1、/etc/sysconfig/network-scripts/ifcfg-eth0 :网卡的配置文件
DEVICE=eth1 物理设备名 ,eth1表示第二块网卡
HWADDR=00:0c:29:ba:8e:8f 网卡的MAC地址,48位 删掉就行
TYPE=Ethernet 以太网
UUID=163… 网卡标识(相当于身份证)
ONBOOT=yes 控制我那个卡是不是开机启动
NM_CONTROLLED=yes
BOOTPROTO=none 其中,proto取下列值之一:none引导时不使用协议;static静态分配地址;bootp,使用BOOTP协议,或dhcp,使用DHCP协议 启动协议
IPADDR=10.0.0.7 :addr是ip地址,10.0.0.0/24 固定ip
NETMASK=255.255.255.0 子网掩码,划分网络位和主机位
DNS=202,,, 域名解析 dns 就是把www.baidu.com解析成1.1.1.1
GATEWAY 网管地址,路由器的地址
例子:修改ip地址
[root@pyrene ~]# cd /etc/sysconfig/network-scripts/
[root@pyrene network-scripts]# cp ifcfg-eth0 ifcfg-eth0.ori
然后setup进行修改
[root@pyrene ~]# ifdown eth0&&ifup eth0 重启网卡,注意这里的重启网卡针对某个网卡重启
2、/etc/resolv.conf 查看本地dns的配置文件
这个文件映像的是linux下的上网,把域名解析成ip就需要这个文件
修改方法:
setup ->选择网络配置—》选择dns配置
配置DNS的方法二:
[root@pyrene ~]# vim /etc/resolv.conf
小结:
1、linux客户端DNS可以在网卡配置文件设置(ifcfg-eth0)
2、linux客户端DNS也可以在/etc/resolv.conf里面设置
3、网卡里的设置DNS优先于/etc/resolv.conf。如果重启网络网卡的dns会覆盖/etc/resolv.conf的设置
3、/etc/hosts 设置用户ip和名字(或域名)的对应解析表,相当于本地局域网内的DNS
在windows是在c:windowssystem32driversetchosts
如:淘宝
把上面的ip地址更改成百度的,这样浏览器访问淘宝的时候就会首先在浏览器中解析百度的ip地址,然后就访问百度了
作用:
1、开发,产品,测试等人员,用于通过正式的域名测试产品
2、服务器之间的调用可以用域名(内部的DNS)方便迁移
4、/etc/sysconfig/network 可修改机器名及网卡启动,网管等配置
更改主机名:
[root@oldboy ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=oldboy
[root@oldboy ~]# sed 's#HOSTNAME=oldboy#HOSTNAME=pyrene#g' /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=pyrene
[root@oldboy ~]# sed -i 's#HOSTNAME=oldboy#HOSTNAME=pyrene#g' /etc/sysconfig/network
5、/etc/fstab 实现开机要挂载的文件系统的一个文件
fstab一旦配置错误,就会导致服务器无法启动,如何修复?
一共有6列
第一列:要挂载的设备
第二列:挂载点
第三列:要挂载的文件系统类型
第四列:挂载的选项,是只读挂载还是只写
第五列:是否备份
第六列:是否做开机检查 1要检查,如果自己挂的分区的做0,不做检查
6、/etc/rc.local :用于存放开机器自动程序命令的文件,(chkconfig常用管理 yum/rpc安装的程序的服务的开机自启动) 自己开发的程序,许冠把启动命令放入/.etc/rc.local。实现开机启动这些程序,linux开机的时候会把/etc/rc.local里的内容执行一遍
7、/etc/inittab 设定系统启动时init进程将把系统设置成什么样的runlevel运行级别及加载相关的级别对应启动文件设置
8、/etc/profile :系统全局环境变量永久生效的配置文件
定义别名以及PATH变量
alias rm=’echo “rm cmd does not to be used”’
PATH变量
用户的环境变量:~/.bash_profile,~/.bashrc
9、/etc/profile.d:加载系统登录程序一个目录,命令或文件独立存在!以文件的形式存在(*.sh为扩展名)但要可执行
/etc/motd 登录后显示的字符集
etc下面的目录
1、/etc/issue: 记录用户登录前显示的系统版本信息
2、/etc/motd 登录之后的提示,可以用来设置登录欢迎等
3、/etc/readhat-release :查看版本信息
其他目录
/usr/local: 用户自编译安装软件的存放目录,一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。相当于:cProgram files
/usr/src: 上传软件等安装位置
/var下面目录
/var 日志文件目录
/var/log 各种系统日志存放地
/var/log/messages :系统信息默认日志文件,非常重要,按周自动轮询
/var/log/secure :记录登入系统存取信息的文件,按周自动轮询
proc目录
/proc: 虚拟目录,是内存的映射,内核和进程的虚拟文件系统目录
/proc/version 内核版本
/proc/sys/lernel :系统内核功能、
/proc/cpuinfo :关于处理器信息,如类型,厂家,型号和性能
/proc/meminfo: 系统内存信息 free –m
/proc/devices :当前运行内核所配置的所有设备清单
/proc/dma: 当前正在使用的DMA通道
/proc/filesystems:当前运行内核所配置的文件系统
/proc/interrupts:正在使用的中断,和曾经有多少个中断
/proc/ioports :当前正在使用的I/O端口
/proc/loadavg :系统负载平均值信息(系统的繁忙情况,比较准确,但是不够细致系统性能指标),uptime的结果,负载之不要超过cpu的核数,看负载top ,uptime
/proc/mounts :设备挂在信息,df –h类似