技术标签: linux
1970年代第一代unix出现
1980年代由于unix商业化严重某大学教授开发类unix的minix操作系统,与unix完全不兼容
1990年代linus由minix启发开发出linux
OS:控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。
FSF:自由软件基金会,由1984年创办;主要的项目包含了GNU项目
为什么选择Linux?开源、免费、稳定
Linux应用领域:服务器、嵌入式、个人桌面
Linux系统构成内容:硬件、Linux 内核、GNU项目软件,如bash、gcc等、各种外围程序
开放源代码软件:Firefox 网页浏览器、OpenOffice 办公套件、Apache 网站服务器软件
发行版:Red Hat 系列(Fedora、Red Hat企业版、CentOS社区版)、Debian 系列、Ubuntu 系列
磁盘分区表示
硬盘和分区结构
文件系统类型
目录结构详细说明
# uname -r //查看系统内核版本
3.10.0-862.el7.x86_64
# cat /etc/redhat-release //查看操作系统版本
CentOS Linux release 7.5.1804 (Core)
系统硬件信息查看方法
CPU:
# cat /proc/cpuinfo
# lscpu
查看CPU负载情况:
# cat /proc/loadavg
内存:内存使用情况
# cat /proc/meminfo
MemTotal: 997956 kB //总共内存
MemFree: 316016 kB //空闲内存
MemAvailable: 684472 kB //剩余可用的内存,这部分容量可由MemFree+Buffers+Cached而来,因为在缓存中的容量可以回收再分配给其他程序使用。
Buffers: 2784 kB //缓冲区
Cached: 483144 kB //缓存区
# free -h
# yum provides pstree //查询pstree命令属于哪个程序包
# yum provides */ifconfig
MBR、GPT为分区格式【以硬盘为单位定义格式】
文件系统:NTFS、FAT 32、FAT 16、swap、ext3(redhat 5系列)、ext4(redhat 6)、XFS(redhat 7)【以分区为单位定义格式】
服务管理:
1.单个服务管理
# systemctl 控制类型 服务名称
如:# systemctl restart network //重启网络服务
2.查询所有服务开机自启动状态:
# systemctl list-unit-files --type service /还有一个命令"ntsysv"图形化界面的服务开机管理
3.查询单个服务启动状态:
# systemctl is-enabled 服务名称
enable为开机启动 disabled为开机不启动
4.设置单个服务开机启动:
# systemctl enable 服务名称
5.设置单个服务开机禁止启动:
# systemctl disable 服务名称
6.多个服务管理
# ntsysv //界面统一管理多个服务开机自启
7.运行级别管理
# systemctl get-default //查看系统默认启动级别
# runlevel //查看当前运行级别,非系统默认启动级别
临时切换运行级别
# init 3 //切换运行级别为3
# init 5 //切换运行级别为5
# init 0 //关机
# init 6 //重启
设置默认启动级别为5图形模式:7
# systemctl set-default graphical.target
# systemctl get-default //再次查看,应为5图形模式
注意:当该服务器未安装图形时,将无法启动图形模式
设置默认启动级别为3 命令行模式:
# systemctl set-default multi-user.target
运行级别配置文件在以下路径中:
# cat /etc/inittab
8.系统关机/重启操作:
关机:# init 0、# poweroff、# systemctl poweroff、
# halt、# shutdown –P、# shutdown -h now
重启:# init 6、# reboot、# systemctl reboot、# shutdown -r now
相对路径的表现形式
ls [选项] [文件或目录… ] |
-l:显示详细信息
-a:显示子目录和文件,包括"."开头的隐藏目录和隐藏文件
-A:不显示包括"."开头的隐藏目录和隐藏文件
-d:显示该文件或目录本身属性。
-h:以单位显示文件或目录大小
-R:以递归的方式显示目录以及子目录的所有内容
--color:为查询结果添加颜色进行显示
alias:通过别名机制简化常用的、比较长的命令
如:
alias gohome='cd /home/zhangsan'
当在命令行中执行:"gohome"命令时进入用户zhangsan的家目录。
永久定义:
# vim /etc/profile //末尾新起行加入定义别名
alias a='systemctl status firewalld'
取消别名定义: unalias gohome
-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h:显示出目录或文件的大小(K、M),默认的大小单位为字节(KB)
-s:只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小
3.创建链接文件 – ln
注意:在使用cp 和 rm命令不加f选项时,默认会提示用户是否执行操作,此时可通过以下方式取消提醒:
1.执行命令时用绝对路径
2.在正常命令前加反撇号,如:# \rm /root/abc
3.# find / -name "abc3" | xargs rm //将删除命令放在"xargs"命令之后
# cp /etc/passwd{,.back} //括号中的逗号表示空格,逗号的前面为空,表示只有passwd这个值
等同于# cp /etc/passwd /etc/passwd.back
# cp passwd{.back,} //还原备份的数据
rm
删除指定的文件或目录,选项和cp命令类似。
rm -rf 命令强制删除包括目录 不提醒
3. 移动文件或目录-mv
如果目标位置与源位置相同,则相当于执行重命名操作
1. 查找命令/程序存放目录-which
2. 查找文件或目录-find
使用 find 命令实现多个查找条件
用途:查看文件内容,只能显示文档末尾部分内容
4. 查看文件内容 head、tail 命令
"tail -f" 用于刷新文件新出现的
5.统计文件内容 wc 命令
6. 检索和过滤文件内容 grep 命令
7. 压缩命令 gzip、bzip2 命令
8. 归档命令tar命令
命令模式
末行模式
Linux 应用程序基础
RPM包管理 rpm 命令
执行“man rpm”命令可获得
关于 rpm 命令的详细帮助信息
5.1用户和组账号概述
Linux基于用户身份对资源访问进行控制
用户帐号
超级用户 //root
普通用户 //自己新建的用户都属于普通用户
程序用户 //权限最低,一般只能操作程序相关联的文件,一般不允许登录到系统。例如:bin、daemon、ftp、mail等
组帐号: 基本组(私有组)、 附加组(公共组)
UID(User IDentity,用户标识号)、GID(Group IDentify,组标识号)
root用户的UID的固定值为0、root组帐号的GID号为固定值0
1~499的UID、GID默认保留给程序用户使用,普通用户/组使用的UID、GID号在500~60000之间
5.2用户账号文件 /etc/passwd
5.3用户账号文件 /etc/shadow
字段1:用户帐号的名称
字段2:加密的密码字串信息
字段3:上次修改密码的时间
字段4:密码的最短有效天数,默认值为0
字段5:密码的最长有效天数,默认值为99999
字段6:提前多少天警告用户口令将过期,默认值为7
字段7:在密码过期之后多少天禁用此用户
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)
5.4添加用户账号
——创建名为st02的用户帐号,并将其UID号指定为504
[root@localhost ~]# useradd -u 504 st02
[root@localhost ~]# tail -1 /etc/passwd
st02:x:504:504::/home/st02:/bin/bash
——创建一个考试测试用的帐号exam01,指定属于users组,该帐号于2009-07-30失效
[root@localhost ~]# useradd -g users -e 2009-07-30 exam01
[root@localhost ~]# useradd -d /ftphome/mike -G ftpuser -s /sbin/nologin mike |
-----指定mike的基本组为mike,并加入到ftpuser组,指定家目录为/ftphome/mike,不允许mike通过本地登录服务器
5.5设置/更改用户口令 passwd
5.6修改用户账号的属性 usermod
5.7删除用户账号 userdel
5.8用户账号的初始配置文件
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
该文件被读取.
5.9组账号文件
5.10添加组账号 groupadd
5.11添加删除组成员 gpasswd
5.12删除组账号 groupdel
5.13查询账号信息
5.14文件/目录的权限和归属
5.15查看文件/目录的权限和归属
5.16文件类型
5.17设置文件和目录的权限 chmod
5.18设置文件和目录的归属 chown
5.19设置文件和目录默认权限 umask
5.20特殊的权限 suid
5.20.1特殊的权限 sticky
5.20.2特殊的权限 ACL
6.1检测并确认新硬盘
(系统磁盘空间不足,需要增加新硬盘)而引出fdisk命令
6.2创建文件系统
系统下次启动时加载新建的交换分区,那么必须修改/etc/fstab文件:
/dev/sdb5 swap swap defaults 0 0
6.3挂载、卸载文件系统
6.3.1设置文件系统的自动挂载
第四字段:挂载参数,即mount命令“-o”选项后可使用的参数,如defaults、rw等
第五字段:表示文件系统是否需要dump备份(dump是一个备份工具),一般设为1时表示需要,设为0时将被dump所忽略
第六字段:该数字用于决定在系统启动时进行磁盘检查的顺序,0不进行检查,1优先,2其次。对于根分区应设为1,其它分区设为2
6.4查看磁盘使用情况
“-T”选项用于显示对应文件系统的类型
6.5 LVM (逻辑卷管理)概述
pvcreate 设备名1 [设备名2 … …]
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
6.6 LVM 应用
由于用户数量众多,邮件存储需要大量的空间,考虑到动态扩容的需要,计划增加两块 SCSI 硬盘并构建 LVM 逻辑卷(挂载到“/mailbox”目录下)专门用于存放邮件数据
6.7磁盘配额概述
6.8启用磁盘配额支持
mount -o remount,usrquota,grpquota /dev/sdb1 /mailbox
6.8.1磁盘配额管理
8.1程序和进程的关系
8.2.1查看进程信息 ps
PID:该进程在系统中的数字ID号,在当前系统中是唯一的;
%CPU:CPU占用百分比; %MEM:内存占用百分比
8.2.2查看进程信息 top
8.2.3查看进程信息 pgrep
8.2.4查看进程信息 pstree
8.3进程的启动方式
8.3.1进程的前后台调度
8.4终止进程的运行
8.5计划任务管理 at
8.6计划任务管理 crond
8.7 crontab 任务配置的格式
9.1日志文件
/var/log/cron:记录crond计划任务产生的事件信息。
/var/log/dmesg:记录Linux系统在引导过程中的各种事件信息。
/var/log/maillog:记录进入或发出系统的电子邮件活动。
/var/log/lastlog:记录每个用户最近的登录事件。
/var/log/rpmpkgs:记录系统中安装的各rpm包列表信息。
/var/log/secure:记录用户认证相关的安全事件信息。
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。
/var/run/btmp:记录失败的、错误的登录尝试及验证事件。
9.2内核及系统日志
9.3用户日志分析
9.4程序日志分析
9.5日志管理策略/搭建日志服务器
9.6修复 MBR 扇区故障
9.7修复 GRUB 引导故障
9.8遗忘 root 用户密码
9.9修复文件系统
9.10磁盘资源耗尽故障
9.11检测磁盘坏道
10.1查看网络接口信息 ifconfig
10.2查看主机名称hostname
10.3查看路由表条目 route
10.3查看网络连接情况 netstat
10.4
测试网络连接 ping--- [root@localhost ~]# ping 192.168.4.110
跟踪数据包 traceroute--测试从当前主机到目的主机之间经过的网络节点---[root@localhost ~]# traceroute 192.168.7.7
域名解析nslookup--- [root@localhost ~]# nslookup www.google.com
10.5网络流量监测
10.6设置网络接口参数 ifconfig
10.7设置路由记录 route
10.8修改主机名 hostname
10.9网络接口配置文件
10.10启用、禁用网络接口配置
10.11主机名称配置文件
10.12域名解析配置文件
1、“search localdomain”行用来设置默认的搜索域
2、最多支持三个不同的DNS服务器地址
10.13本地主机映射文件
10.14 使用 DHCP 动态配置主机地址
10.14.1 安装 DHCP 服务器
10.14.2 主配置文件
10.15 启动 DHCP 服务
10.16 使用 DHCP 客户端
11.1 FTP 服务概述
11.2 Vsftpd 服务基础
11.3基于系统用户的 FTP 服务
11.4 构建基于虚拟用户的 FTP 服务
一、理论基础
1、DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议使用UDP/TCP 53端口号,UDP负责域名解析请求报文,TCP负责多台DNS服务器之间区域传送,当域名解析请求单个报文字节数过大时,如超过512字节,可能会采用TCP 53进行通信,因此在防火墙定义策略时,可同时开启53的TCP/UDP协议。
2、DNS 的分布式数据库是以域名为索引的,每个域名实际上就是一棵很大的逆向树中路径,这棵逆向树称为域名空间(domain name space)。如图所示树的最大深度不得超过127 层,树中每个节点都有一个可以长达63 个字符的文本标号。
3、DNS域名解析过程
首先,客户端先在本地缓存查找有没有域名缓存,如果没有,客户端发出DNS请求翻译IP地址或主机名。DNS服务器在收到客户机的请求后:
(1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;
(2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息;
(3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。
(4)若没有找到,则返回错误信息。
4、DNS的分类
主DNS服务器:就是一台存储着原始资料的DNS服务器。
从DNS服务器:使用自动更新方式从主DNS服务器同步数据的DNS服务器。也称辅助DNS服务器。
缓存服务器:不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。同时缓存查询回来的结果,也叫递归服务器。
根提示服务器:根据系统中的13组根服务器的IP地址寻求域名解析(需要当前DNS服务器连接外网)
转发器:这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给指定的一台或者多台服务器。自身并不缓存查询结果。
5、DNS中记录类型
SOA |
定义了该域中的权威名称服务器,一般与ns一致 比如:dns.chengdu.com 示例: @[l51] IN SOA dns.baidu.com. admin.baidu.com. ( 1408010001 ; 更新序列号,表示修改的依次顺序,可随意定义,不可超过10位 1H ; 从服务器下载数据时间间隔为1小时 5M ; 下载失败后的重试间隔为5分钟 2W ; 超过该时间任无法下载则放弃,为两周 6D ; 无效解析记录的生存周期 ) |
NS |
域的授权名称服务器,在当前域中能够负责解析域名的服务器有哪些 NSDName:DNS的FQDN baidu.com. 64899 IN NS ns2.baidu.com.
baidu.com. 64899 IN NS ns4.baidu.com.
baidu.com. 64899 IN NS dns.baidu.com.
baidu.com. 64899 IN NS ns7.baidu.com.
baidu.com. 64899 IN NS ns3.baidu.com. |
MX |
域的邮件交换器,要跟着一个优先级值,越小越高
baidu.com. 7200 IN MX 20 jpmx.baidu.com.
baidu.com. 7200 IN MX 20 mx50.baidu.com.
baidu.com. 7200 IN MX 10 mx.n.abc.com.
baidu.com. 7200 IN MX 20 mx1.baidu.com. |
A |
IPV4主机地址 |
AAAA |
IPV6主机地址 |
PTR |
解析IP的指针,反向记录 |
CNAME |
权威(正式)名称,定义别名记录 www.baidu.com. 1154 IN CNAME www.a.abc.com. |
6、DNS命名规范
1. 26个英文字母
2. “0,1,2,3,4,5,6,7,8,9”十个数字
3. “-”(英文中的连词号)
4. 最多63字节长度
[l51]当前DNS服务器的域名,可直接用@代替
1970年代第一代unix出现
1980年代由于unix商业化严重某大学教授开发类unix的minix操作系统,与unix完全不兼容
1990年代linus由minix启发开发出linux
OS:控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。
FSF:自由软件基金会,由1984年创办;主要的项目包含了GNU项目
为什么选择Linux?开源、免费、稳定
Linux应用领域:服务器、嵌入式、个人桌面
Linux系统构成内容:硬件、Linux 内核、GNU项目软件,如bash、gcc等、各种外围程序
开放源代码软件:Firefox 网页浏览器、OpenOffice 办公套件、Apache 网站服务器软件
发行版:Red Hat 系列(Fedora、Red Hat企业版、CentOS社区版)、Debian 系列、Ubuntu 系列
磁盘分区表示
硬盘和分区结构
文件系统类型
目录结构详细说明
# uname -r //查看系统内核版本
3.10.0-862.el7.x86_64
# cat /etc/redhat-release //查看操作系统版本
CentOS Linux release 7.5.1804 (Core)
系统硬件信息查看方法
CPU:
# cat /proc/cpuinfo
# lscpu
查看CPU负载情况:
# cat /proc/loadavg
内存:内存使用情况
# cat /proc/meminfo
MemTotal: 997956 kB //总共内存
MemFree: 316016 kB //空闲内存
MemAvailable: 684472 kB //剩余可用的内存,这部分容量可由MemFree+Buffers+Cached而来,因为在缓存中的容量可以回收再分配给其他程序使用。
Buffers: 2784 kB //缓冲区
Cached: 483144 kB //缓存区
# free -h
# yum provides pstree //查询pstree命令属于哪个程序包
# yum provides */ifconfig
MBR、GPT为分区格式【以硬盘为单位定义格式】
文件系统:NTFS、FAT 32、FAT 16、swap、ext3(redhat 5系列)、ext4(redhat 6)、XFS(redhat 7)【以分区为单位定义格式】
服务管理:
1.单个服务管理
# systemctl 控制类型 服务名称
如:# systemctl restart network //重启网络服务
2.查询所有服务开机自启动状态:
# systemctl list-unit-files --type service /还有一个命令"ntsysv"图形化界面的服务开机管理
3.查询单个服务启动状态:
# systemctl is-enabled 服务名称
enable为开机启动 disabled为开机不启动
4.设置单个服务开机启动:
# systemctl enable 服务名称
5.设置单个服务开机禁止启动:
# systemctl disable 服务名称
6.多个服务管理
# ntsysv //界面统一管理多个服务开机自启
7.运行级别管理
# systemctl get-default //查看系统默认启动级别
# runlevel //查看当前运行级别,非系统默认启动级别
临时切换运行级别
# init 3 //切换运行级别为3
# init 5 //切换运行级别为5
# init 0 //关机
# init 6 //重启
设置默认启动级别为5图形模式:7
# systemctl set-default graphical.target
# systemctl get-default //再次查看,应为5图形模式
注意:当该服务器未安装图形时,将无法启动图形模式
设置默认启动级别为3 命令行模式:
# systemctl set-default multi-user.target
运行级别配置文件在以下路径中:
# cat /etc/inittab
8.系统关机/重启操作:
关机:# init 0、# poweroff、# systemctl poweroff、
# halt、# shutdown –P、# shutdown -h now
重启:# init 6、# reboot、# systemctl reboot、# shutdown -r now
相对路径的表现形式
ls [选项] [文件或目录… ] |
-l:显示详细信息
-a:显示子目录和文件,包括"."开头的隐藏目录和隐藏文件
-A:不显示包括"."开头的隐藏目录和隐藏文件
-d:显示该文件或目录本身属性。
-h:以单位显示文件或目录大小
-R:以递归的方式显示目录以及子目录的所有内容
--color:为查询结果添加颜色进行显示
alias:通过别名机制简化常用的、比较长的命令
如:
alias gohome='cd /home/zhangsan'
当在命令行中执行:"gohome"命令时进入用户zhangsan的家目录。
永久定义:
# vim /etc/profile //末尾新起行加入定义别名
alias a='systemctl status firewalld'
取消别名定义: unalias gohome
-a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h:显示出目录或文件的大小(K、M),默认的大小单位为字节(KB)
-s:只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小
3.创建链接文件 – ln
注意:在使用cp 和 rm命令不加f选项时,默认会提示用户是否执行操作,此时可通过以下方式取消提醒:
1.执行命令时用绝对路径
2.在正常命令前加反撇号,如:# \rm /root/abc
3.# find / -name "abc3" | xargs rm //将删除命令放在"xargs"命令之后
# cp /etc/passwd{,.back} //括号中的逗号表示空格,逗号的前面为空,表示只有passwd这个值
等同于# cp /etc/passwd /etc/passwd.back
# cp passwd{.back,} //还原备份的数据
rm
删除指定的文件或目录,选项和cp命令类似。
rm -rf 命令强制删除包括目录 不提醒
3. 移动文件或目录-mv
如果目标位置与源位置相同,则相当于执行重命名操作
1. 查找命令/程序存放目录-which
2. 查找文件或目录-find
使用 find 命令实现多个查找条件
用途:查看文件内容,只能显示文档末尾部分内容
4. 查看文件内容 head、tail 命令
"tail -f" 用于刷新文件新出现的
5.统计文件内容 wc 命令
6. 检索和过滤文件内容 grep 命令
7. 压缩命令 gzip、bzip2 命令
8. 归档命令tar命令
命令模式
末行模式
Linux 应用程序基础
RPM包管理 rpm 命令
执行“man rpm”命令可获得
关于 rpm 命令的详细帮助信息
5.1用户和组账号概述
Linux基于用户身份对资源访问进行控制
用户帐号
超级用户 //root
普通用户 //自己新建的用户都属于普通用户
程序用户 //权限最低,一般只能操作程序相关联的文件,一般不允许登录到系统。例如:bin、daemon、ftp、mail等
组帐号: 基本组(私有组)、 附加组(公共组)
UID(User IDentity,用户标识号)、GID(Group IDentify,组标识号)
root用户的UID的固定值为0、root组帐号的GID号为固定值0
1~499的UID、GID默认保留给程序用户使用,普通用户/组使用的UID、GID号在500~60000之间
5.2用户账号文件 /etc/passwd
5.3用户账号文件 /etc/shadow
字段1:用户帐号的名称
字段2:加密的密码字串信息
字段3:上次修改密码的时间
字段4:密码的最短有效天数,默认值为0
字段5:密码的最长有效天数,默认值为99999
字段6:提前多少天警告用户口令将过期,默认值为7
字段7:在密码过期之后多少天禁用此用户
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)
5.4添加用户账号
——创建名为st02的用户帐号,并将其UID号指定为504
[root@localhost ~]# useradd -u 504 st02
[root@localhost ~]# tail -1 /etc/passwd
st02:x:504:504::/home/st02:/bin/bash
——创建一个考试测试用的帐号exam01,指定属于users组,该帐号于2009-07-30失效
[root@localhost ~]# useradd -g users -e 2009-07-30 exam01
[root@localhost ~]# useradd -d /ftphome/mike -G ftpuser -s /sbin/nologin mike |
-----指定mike的基本组为mike,并加入到ftpuser组,指定家目录为/ftphome/mike,不允许mike通过本地登录服务器
5.5设置/更改用户口令 passwd
5.6修改用户账号的属性 usermod
5.7删除用户账号 userdel
5.8用户账号的初始配置文件
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
该文件被读取.
5.9组账号文件
5.10添加组账号 groupadd
5.11添加删除组成员 gpasswd
5.12删除组账号 groupdel
5.13查询账号信息
5.14文件/目录的权限和归属
5.15查看文件/目录的权限和归属
5.16文件类型
5.17设置文件和目录的权限 chmod
5.18设置文件和目录的归属 chown
5.19设置文件和目录默认权限 umask
5.20特殊的权限 suid
5.20.1特殊的权限 sticky
5.20.2特殊的权限 ACL
6.1检测并确认新硬盘
(系统磁盘空间不足,需要增加新硬盘)而引出fdisk命令
6.2创建文件系统
系统下次启动时加载新建的交换分区,那么必须修改/etc/fstab文件:
/dev/sdb5 swap swap defaults 0 0
6.3挂载、卸载文件系统
6.3.1设置文件系统的自动挂载
第四字段:挂载参数,即mount命令“-o”选项后可使用的参数,如defaults、rw等
第五字段:表示文件系统是否需要dump备份(dump是一个备份工具),一般设为1时表示需要,设为0时将被dump所忽略
第六字段:该数字用于决定在系统启动时进行磁盘检查的顺序,0不进行检查,1优先,2其次。对于根分区应设为1,其它分区设为2
6.4查看磁盘使用情况
“-T”选项用于显示对应文件系统的类型
6.5 LVM (逻辑卷管理)概述
pvcreate 设备名1 [设备名2 … …]
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
6.6 LVM 应用
由于用户数量众多,邮件存储需要大量的空间,考虑到动态扩容的需要,计划增加两块 SCSI 硬盘并构建 LVM 逻辑卷(挂载到“/mailbox”目录下)专门用于存放邮件数据
6.7磁盘配额概述
6.8启用磁盘配额支持
mount -o remount,usrquota,grpquota /dev/sdb1 /mailbox
6.8.1磁盘配额管理
8.1程序和进程的关系
8.2.1查看进程信息 ps
PID:该进程在系统中的数字ID号,在当前系统中是唯一的;
%CPU:CPU占用百分比; %MEM:内存占用百分比
8.2.2查看进程信息 top
8.2.3查看进程信息 pgrep
8.2.4查看进程信息 pstree
8.3进程的启动方式
8.3.1进程的前后台调度
8.4终止进程的运行
8.5计划任务管理 at
8.6计划任务管理 crond
8.7 crontab 任务配置的格式
9.1日志文件
/var/log/cron:记录crond计划任务产生的事件信息。
/var/log/dmesg:记录Linux系统在引导过程中的各种事件信息。
/var/log/maillog:记录进入或发出系统的电子邮件活动。
/var/log/lastlog:记录每个用户最近的登录事件。
/var/log/rpmpkgs:记录系统中安装的各rpm包列表信息。
/var/log/secure:记录用户认证相关的安全事件信息。
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。
/var/run/btmp:记录失败的、错误的登录尝试及验证事件。
9.2内核及系统日志
9.3用户日志分析
9.4程序日志分析
9.5日志管理策略/搭建日志服务器
9.6修复 MBR 扇区故障
9.7修复 GRUB 引导故障
9.8遗忘 root 用户密码
9.9修复文件系统
9.10磁盘资源耗尽故障
9.11检测磁盘坏道
10.1查看网络接口信息 ifconfig
10.2查看主机名称hostname
10.3查看路由表条目 route
10.3查看网络连接情况 netstat
10.4
测试网络连接 ping--- [root@localhost ~]# ping 192.168.4.110
跟踪数据包 traceroute--测试从当前主机到目的主机之间经过的网络节点---[root@localhost ~]# traceroute 192.168.7.7
域名解析nslookup--- [root@localhost ~]# nslookup www.google.com
10.5网络流量监测
10.6设置网络接口参数 ifconfig
10.7设置路由记录 route
10.8修改主机名 hostname
10.9网络接口配置文件
10.10启用、禁用网络接口配置
10.11主机名称配置文件
10.12域名解析配置文件
1、“search localdomain”行用来设置默认的搜索域
2、最多支持三个不同的DNS服务器地址
10.13本地主机映射文件
10.14 使用 DHCP 动态配置主机地址
10.14.1 安装 DHCP 服务器
10.14.2 主配置文件
10.15 启动 DHCP 服务
10.16 使用 DHCP 客户端
11.1 FTP 服务概述
11.2 Vsftpd 服务基础
11.3基于系统用户的 FTP 服务
11.4 构建基于虚拟用户的 FTP 服务
一、理论基础
1、DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议使用UDP/TCP 53端口号,UDP负责域名解析请求报文,TCP负责多台DNS服务器之间区域传送,当域名解析请求单个报文字节数过大时,如超过512字节,可能会采用TCP 53进行通信,因此在防火墙定义策略时,可同时开启53的TCP/UDP协议。
2、DNS 的分布式数据库是以域名为索引的,每个域名实际上就是一棵很大的逆向树中路径,这棵逆向树称为域名空间(domain name space)。如图所示树的最大深度不得超过127 层,树中每个节点都有一个可以长达63 个字符的文本标号。
3、DNS域名解析过程
首先,客户端先在本地缓存查找有没有域名缓存,如果没有,客户端发出DNS请求翻译IP地址或主机名。DNS服务器在收到客户机的请求后:
(1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;
(2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息;
(3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。
(4)若没有找到,则返回错误信息。
4、DNS的分类
主DNS服务器:就是一台存储着原始资料的DNS服务器。
从DNS服务器:使用自动更新方式从主DNS服务器同步数据的DNS服务器。也称辅助DNS服务器。
缓存服务器:不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。同时缓存查询回来的结果,也叫递归服务器。
根提示服务器:根据系统中的13组根服务器的IP地址寻求域名解析(需要当前DNS服务器连接外网)
转发器:这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给指定的一台或者多台服务器。自身并不缓存查询结果。
5、DNS中记录类型
SOA |
定义了该域中的权威名称服务器,一般与ns一致 比如:dns.chengdu.com 示例: @[l51] IN SOA dns.baidu.com. admin.baidu.com. ( 1408010001 ; 更新序列号,表示修改的依次顺序,可随意定义,不可超过10位 1H ; 从服务器下载数据时间间隔为1小时 5M ; 下载失败后的重试间隔为5分钟 2W ; 超过该时间任无法下载则放弃,为两周 6D ; 无效解析记录的生存周期 ) |
NS |
域的授权名称服务器,在当前域中能够负责解析域名的服务器有哪些 NSDName:DNS的FQDN baidu.com. 64899 IN NS ns2.baidu.com.
baidu.com. 64899 IN NS ns4.baidu.com.
baidu.com. 64899 IN NS dns.baidu.com.
baidu.com. 64899 IN NS ns7.baidu.com.
baidu.com. 64899 IN NS ns3.baidu.com. |
MX |
域的邮件交换器,要跟着一个优先级值,越小越高
baidu.com. 7200 IN MX 20 jpmx.baidu.com.
baidu.com. 7200 IN MX 20 mx50.baidu.com.
baidu.com. 7200 IN MX 10 mx.n.abc.com.
baidu.com. 7200 IN MX 20 mx1.baidu.com. |
A |
IPV4主机地址 |
AAAA |
IPV6主机地址 |
PTR |
解析IP的指针,反向记录 |
CNAME |
权威(正式)名称,定义别名记录 www.baidu.com. 1154 IN CNAME www.a.abc.com. |
6、DNS命名规范
1. 26个英文字母
2. “0,1,2,3,4,5,6,7,8,9”十个数字
3. “-”(英文中的连词号)
4. 最多63字节长度
[l51]当前DNS服务器的域名,可直接用@代替
文章浏览阅读1.9k次。(转)AES 加密算法的原理详解原文链接如下:AES简介高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:下面简单介绍下各个部分的作用与意义:明文P没有经过加密的数据。密钥K用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密..._aes cbc 原理图
在res/values文件下定义一个attrs.xml文件,代码如下:在布局中使用,示例代码如下:
文章浏览阅读10w+次,点赞173次,收藏149次。接着上一篇OCR所说的,上一篇给大家介绍了tesseract 在命令行的简单用法,当然了要继承到我们的程序中,还是需要代码实现的,下面给大家分享下java实现的例子。拿代码扫描上面的图片,然后输出结果。主要思想就是利用Java调用系统任务。下面是核心代码:package com.zhy.test;import java.io.BufferedReader;import_tesocr jave
文章浏览阅读519次,点赞2次,收藏2次。图片来源:互联网众所周知,中国是智利车厘子最主要的出口对象,占据了其95%的市场份额。智利驻华大使馆商务参赞娜塔曾表示:“2020-2021产季车厘子实现了丰收,预计今年有50万吨左右的车厘子进入中国市场。”自2020年12月中旬开始,智利海运车厘子陆续到达中国,运输成本较此前空运方式大幅下滑。这意味着,国内消费者将能以更低的价格买到车厘子。然而,近日国内已有多地进口车厘子核酸检测结果为阳性,在这种情况下,你还敢大呼“车厘子自由”吗?01 数据获取本文利用Python采集了淘宝网1585.._爬虫 淘宝车厘子
文章浏览阅读1.1k次。OLAP中数据存储的问题OLAP 需要队列进行选择,行式存储按行存数据,使用索引加快对数据的查找(索引包括聚集索引(表记录的排列顺序与索引的排列顺序一致)和非聚簇索引(非聚集索引指定了表中记录的逻辑顺序,但记录的物理顺序和索引的顺序不一致))。这种方式对按列的存储和检索不是很高效,查询某一列数据需要将所有行的数据扫描一次,而且对统计分析也不友好。列式存储原理若使用列式存储可以只用扫描出需要的列,行、列存储的对比。文件格式parquet 文件格式:如下图所示:parquet file = hea_列式存储
文章浏览阅读4.3w次,点赞184次,收藏1.2k次。我们可以把字符串储存在char类型的数组中,如果char类型的数组末尾包含一个表示字符串末尾的空字符\0,则该数组中的内容就构成了一个字符串因为字符串需要用\0结尾,所以在定义字符串的时候,字符数组的长度要预留多一个字节用来存放\0,\0就是数字0例如。_c语言字符串
文章浏览阅读644次。ACM的算法(觉得很好,有层次感)POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) _前向星 acm算法与实现
文章浏览阅读57次。【1】windows下php运行环境安装【2】php连接MySQL【3】centos7下用yum的方式安装php7.2【4】编译式安装php【5】php日志文件【6】php.ini配置【7】php-fpm.conf重要参数详解【8】扩展mysql【1】windows下php运行环境安装参考连接#下载地址https://windows.php.net/download#php-7.3#解压安装包至任意目录#结合apache或nginx进行配置即可###名词解释...
文章浏览阅读1.3k次。前后端分离之Spring Security Api验证实践为什么需要RESTful重定向问题为什么需要RESTful使用RESTful之前,会发现各种奇葩的url命名,对url的功能经常需要结合源代码来确认,让人头痛,使用RESTful规范之后,很多问题得以解决。仅仅依靠URL和Method就能定为功能。重定向问题需要重新定义逻辑(JDK8推荐使用Lambda表达式)登录 ,默认下..._spring security api
文章浏览阅读10w+次,点赞25次,收藏117次。图像处理之常见二值化方法汇总图像二值化是图像分析与处理中最常见最重要的处理手段,二值处理方法也非常多。越精准的方法计算量也越大。本文主要介绍四种常见的二值处理方法,通常情况下可以满足大多数图像处理的需要。主要本文讨论的方法仅针对RGB色彩空间。 方法一:该方法非常简单,对RGB彩色图像灰度化以后,扫描图像的每个像素值,值小于127的将像素值设为0(黑色),值大于等于12_二值化
文章浏览阅读1.9k次。JAVA程序设计与应用开发(第2版)——《GUI清华大学出版社》_gui开发
文章浏览阅读491次。大家好,给大家分享一下PYTHON实训总结及体会1500字,很多人还不知道这一点。这将使你在做实验时的难度加大。然后两下子就将实验报告做完。但学到的知识与难度成正比。一定要将课本上的知识吃透。【篇一:实验心得体会】就像以前做物理实验一样。在老师讲解时就会听不懂。你要清楚电桥的各种接法。这将使你极大地浪费时间。在做测试技术的实验前。因为这是做实验的基础。_python实验体会