Linux运维部落 |国内最专业的Linux万达登录,万达娱乐登录 Fri, 22 Jun 2018 16:50:35 +0000 zh-CN hourly 1 https://wordpress.org/?v=4.9.3 Linux基础介绍、系统组成和获取命令帮助及系统目录说明 /101372 /101372#respond Fri, 22 Jun 2018 16:46:17 +0000 /101372 一、描述计算机的组成及其功能

计算机由运算器、控制器、存储器、输入设备、输出设备组成
1.运算器-主要是对数据进行各种运算(加、减、乘、除)
2.控制器-计算机系统的控制中心,分配和协调整个计算机系统工作
3.存储器-存储各种数据信息,以二进制形式存储,分为内存和外存
4.输入设备-将数据、程序等信息输入到计算机中,例如键盘
5.输出设备-将计算机的运算结果显示出来,例如显示器

二、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

1.Debian:三大主流发行版之一,以社区运作
ubuntu是基于Debian的二次发行版
knopix是基于Debian的二次发行
2.Slackware:三大主流发行版之一,
Slackware是SLS的一个分支
S.U.S.E是Slackware的发行分支
S.u.S.E企业版分支-SLES。
openSUSE是S.u.S.E的发行版。
3.redhat:三大主流发行版之一,
redhat9.0后企业版分支-Red Hat Enterprise (RHEL)
redhat9.0后个人版分支-Fedora Core
CentOS是基于Red Hat Enterprise的二次发行版
4.Gentoo:Gentoo是基于enoch二次发行版
5.ArchLinux:是Linux新贵

三、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。

1.一切皆文件
把几乎所有资源统统抽象为文件形式:包括硬件设备,甚至通信接口等
2.由众多功能单一的程序组成:一个程序只做一件事,并且做好,坚持做好一件事
组全小程序完成复杂任务
3.尽量避免跟用户交互:易于以编程的方式实现自动化任务
4.使用文本文件保存配置信息:最易于使用的底层的数据接口表现形式,使用文本编辑器就能完成大多数程序管理操作

四、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。

命令语法通用格式:COMMAND [OPTIONS] [ARGUMETNS]

OPTIONS中有两种表现形式:短选项:例如:-l -d,如有多个短选项则可以合并,例如:-ld

长选项:例如:–help,长选项无法合并

ifconfig:用来查看、配置、启用、禁用网络接口的命令,centos7.0中替换为 ip addr

ifconfig

echo:回显命令,输入指定字符串或变量

echo

tty:查看当前的终端设备

tty

startx:启动图形界面,因为没有安装所以无法启动

startx

export:查看环境变量

export

pwd:显示当前工作目录

pwd

history:显示曾执行过的命令

history

shutdown:关机或重启 -p -r

shutdown

poweroff:关机

-f:强制关机 -p:断电

reboot:重启

-f:强制重启 -i:重启之前先停掉网络相关设备

hwclock:查看或设定时间

-r 读取并打印硬件时钟
-s 将硬件时钟同步到系统时钟
-w 将系统时钟同步到硬件时钟

hwclock

date:查看或修改当前系统时间

%Y表示年,%m表示月,%d表示日,%H表示小时,%M表示分钟,%S表示秒

date

date1

五、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的

内置命令:(由shell程序自带的命令)

-help COMMAND

外部命令:(独立的可执行的程序文件,文件名即命令名)

COMMAND –help

使用手册:manual-man COMMAND

man命令章节划分

手册存放位置:/usr/share/man,man1,man2
1.用户命令:提供给普通用户使用的可执行命令说明
2.系统调用:内核函数说明
3.C库调用
4.设备文件及特殊文件
5.文件格式(配置文件格式)
6.游戏使用帮助
7.杂项
8.管理工具及守护进程

六、请罗列Linux发行版的基础目录名称命名法则及功用规定

/:根目录,Linux文件系统的最上层根目录,其他所有项目均是该目录的子目录

/bin: 所有用户可用的基本命令程序文件。

/sbin: 供系统管理使用的工具程序。

/boot: 引导加载器必须用的各静态文件:kernel,initramfs(initrd),grub等

/dev: 存储特殊文件或设备文件:

设备有两种类型:字符设备(线性设备)、块设备(随机设备)

/etc: 系统程序的配置文件,只能为静态

/home: 普通的家目录的集中位置:一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME

/root: 管理员的家目录:可选

/lib: 为系统启动或要文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块

libc.so.*:动态链接的C库 ld*:运行时链接器/加载器 modules:用于存储内核模块的目录

/lib64:64位系统特有的存放64位共享库的路径

/media: 便携式设备挂载点,cdrom,floppy等

/mnt: 其它文件系统的临时挂载点

/opt: 附加应用程序的安装位置:可选路径

/srv: 当前主机为服务提供的数据

/tmp: 为那些会产生临时文件的程序提供的用于存储临时文件的目录:可供所有用户执行写入操作:有特殊权限

/usr: usr Hierarchy,全局共享的只读数据路径

bin,sbin,lib,lib64 include:C程序头文件 share:命令手册页和自带文档等架构特有的文件的存储位置 local:另一个层级目录

X11R6:X-Window程序的安装位置 src:程序源码存储位置

/usr/local: local hierarchy:让系统管理员安装本地应用程序,也通常用于安装第三方程序

/var: /var Hierarchy,存储常发生变化的数据的目录

/proc: 内核及进程存储其相关信息,多为内核参数

/sys: sysfs虚拟文件系统提供了一种比proc更为理想的访问内核途径。主要用用在于为管理Linux设备提供一种统一模型的接口

]]> /101372/feed 0 https网络安全协议 /101350 /101350#respond Fri, 22 Jun 2018 12:06:55 +0000 /101350 本节索引

一、https协议介绍

二、实验:实现https

三、http重定向https

四、云主机实现免费的https

封面

一、https协议介绍

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的

HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详

细内容就需要SSL。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密

身份验证层(在HTTP与TCP之间)。

 

发展历史:

这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份

验证与加密通讯方法。现在它被广泛用于网络安全敏感的通讯,例如交易支付方面。

 

主要作用:

1、建立一个信息安全通道,来保证数据传输的安全;

2.、确认网站的真实性,凡是使用了 https 的网站,都可以通过点击浏览器地址栏的锁头标志来查看网站

认证之后的真实信息,也可以通过 CA 机构颁发的安全签章来查询[2]

 

HTTPS与HTTP的区别:

1、https协议需要到ca申请证书,一般免费证书很少,需要交费。

2、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证

的网络协议,比http协议安全。

 

SSL会话的简化过程:

(1) 客户端发送可供选择的加密方式,并向服务器请求证书

(2) 服务器端发送证书以及选定的加密方式给客户端

(3) 客户端取得证书并进行证书验证

如果信任给其发证书的CA

(a) 验证证书来源的合法性;用CA的公钥解密证书上数字签名

(b) 验证证书的内容的合法性:完整性验证

(c) 检查证书的有效期限

(d) 检查证书是否被吊销

(e) 证书中拥有者的名字,与访问的目标主机要一致

(4) 客户端生成临时会话密钥(对称密钥),并使用服务器端的公钥加密此数据发送给服务器,完成密钥交换

(5) 服务用此密钥加密用户请求的资源,响应给客户端

注意:SSL是基于IP地址实现,单IP的主机仅可以使用一个https虚拟主机

 

 

二、实验:实现https

前期准备:

两台虚拟机

CA: CentOS 7.4 IP:192.168.30.10

户:CentOS 6.9 IP:192.168.30.11

实验预期:

CA服务器为客户端颁发证书,使其能够实现https访问

具体步骤:

CA端:

生成私钥

(umask 077;openssl genrsa -out etc/pki/CA/private/cakey.pem 2048)

自签名证书

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650

交互式填写

国家:CN

省份:beijing

城市:beijing

公司名称:wxlinux

部门:opt

Common name:wxlinux.com

 

Client端:

生成客户端私钥

(umask 066;openssl genrsa -out httpd.key 1024)

生成证书申请

openssl req -new -key httpd.key -out httpd.csr

交互式填写

国家:CN

省份:beijing

城市:beijing

公司名称:wxlinux

部门:opt

Common name:http.wxlinux.com

注:国家,省份,公司必须一致才能申请成功

将证书申请发送到CA

scp httpd.csr 192.168.30.10:/root/

 

CA端:

建立已颁发证书信息列表文件;V:生效;R:吊销;

touch /etc/pki/CA/index.txt

建立证书序列号

echo 0F > /etc/pki/CA/serial

颁发证书

openssl ca -in httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 730

 

将证书及CA自授权证书发送到客户端:

scp /etc/pki/CA/certs/httpd.crt 192.168.30.11:/root/

scp /etc/pki/CA/cacert.pem 192.168.30.11:/root/

 

Client端:

安装加密模块

yum install mod_ssl –y

rpm -ql mod_ssl

修改配置文件其中此三行

vim /etc/httpd/conf.d/ssl.conf

SSLCertificateFile /etc/httpd/conf.d/ssl/httpd.crt

SSLCertificateKeyFile /etc/httpd/conf.d/ssl/httpd.key

SSLCACertificateFile /etc/httpd/conf.d/ssl/cacert.pem

重启httpd服务

service httpd restart

此时打开浏览器已能够正常访问https://192.168.30.11/

显示不安全的页面,这是由于证书未添加到浏览器信任造成的

2

将CA自签名证书导入到浏览器即可安全访问

 

 

三、http重定向https

当我们区域https协议后,就出现了一个问题,此时http与https是可以同时被访问的,那么当用户用http访

问网站时,还是有安全隐患的,如何解决呢?我们只需要将http重定向到https即可

实现http请求转发至https的URL方法如下:

方法一:重定向

备注:有安全隐患,每次请求还会先走http协议

Redirect [status] URL-path URL

status状态:

permanent: 永久301

Temp: 临时302

示例:

Redirect temp / https://www.magedu.com/

 

 

方法二:HSTS

备注:仅第一次访问会走http协议,建议使用此种方法

HSTS:HTTP Strict Transport Security

服务器端配置支持HSTS后,会在给浏览器返回的HTTP首部中携带HSTS字段。浏览

器获取到该信息后,会将所有HTTP访问请求在内部做307跳转到HTTPS。而无需任何

网络过程

 

HSTS preload list

作用:使第一次访问也走https协议

是Chrome浏览器中的HSTS预载入列表,在该列表中的网站,使用Chrome浏览器访

问时,会自动转换成HTTPS。Firefox、Safari、Edge浏览器也会采用这个列表

 

实现HSTS示例:

vim /etc/httpd/conf/httpd.conf

Header always set Strict-Transport-Security “max-age=31536000”

RewriteEngine on

RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=302]

 

curl -I www.taobao.com

Strict-Transport-Security: max-age=31536000

 

四、云主机实现免费的https

现在许多云服务厂商都提供了免费的域名型加密SSL证书,仅对域名所有权进行验证,快速颁发,较好保

护网站数据安全,适合个人,小微企业应用。

本次就以在腾讯云申请免费SSL证书为例:

 

腾讯云官方网站:https://cloud.tencent.com

 

1登录进入页面后点击上方+号,添加SSL证书管理

3

2点击申请证书,显示证书颁发机构为亚洲诚信(TRUSTASIA),证书有效期为一年

4

3.点击确定后,会要求输入域名,申请邮箱等信息,按需填写即可

5

4.接下来会进行域名身份验证,此处可选择手动DNS验证,或文件验证

6

未完待续

]]>
/101350/feed 0
2018第十届GOPS全球运维大会9月上海召开! /101343 /101343#respond Fri, 22 Jun 2018 09:06:44 +0000 /101343 GOPS 全球运维大会由高效运维社区(GreatOPS)和开放运维联盟(OOPSA)联合主办,指导单位为工信部信通院数据中心联盟(DCA)。全球运维大会是国内第一个运维行业大会,面向互联网及传统行业、广大运维技术人员,传播先进技术思想和理念,分享业内最佳实践。

迄今为止,GOPS 已经举行了九次,大会参会嘉宾累计突破2万人次,国内每一站均为本地区最大规模的高端运维盛会,满意度和推荐度高达95%以上。

第十届 GOPS 全球运维大会将于2018年9月14日-15日在上海召开。大会为期2天,侧重方向是 AIOps、运维自动化和 DevOps。目前已经有全国各地大公司组团前来参加。

主要面向运维行业的中高端技术人员。目的在于为了帮助运维人员系统学习了解相关知识体系,让创新技术推动社会进步。你将会看到国内外知名企业的相关案例,也能与国内顶尖的技术专家探讨技术实践,使企业可以根据最佳实践确定自己的选型方案,并提前预估相关的风险和收益,实现技术

 

五大亮点:

国内外首个《企业级AIOps实施建议》白皮书V1.0震撼发布

你方唱罢我登场、腾讯运维双雄会聊满一整天

系统性探索AlOps、DevOps 落地与实践

近70个演讲完整覆盖运维领域技术

第十届GOPS,给你十全十美的参会体验

部分精彩议题:

应急管理在银行业数据中心的策略与实践

浙江移动云计算AIOps之路

亿级用户百TB级数据的AIOps 技术实践之路(二)

高效技术管理的思与变

京东APP后台服务接口测试平台化建设

面向互联网金融的持续集成落地

大会概况

QQ截图20180622170012

2018第十届GOPS全球运维大会详情及参会指南请上活动家查看

早鸟票入口:https://www.huodongjia.com/event-1853622277.html
(优惠将于7月1日截止!)

]]>
/101343/feed 0
无忧保-社保怎么缴 “12333”来帮你 /101340 /101340#respond Fri, 22 Jun 2018 07:25:32 +0000 /101340 无忧保社保知识早报:“我今年48岁,现在失业,保险有了断档,很久没缴社保,还能不能补缴呢?”在市人力资源和社会保障局“12333全国统一咨询日”主会场,市民杜女士咨询自己的社会保险中断缴费问题,养老保险咨询台的工作人员仔细询问了杜女士的情况,当场给出了解答。

“工作人员告诉我多缴多得,我准备把这几年没有缴纳的养老保险全都缴纳了,这样退休金待遇也会提高。”杜女士对记者说。今年活动的主题是“全民参保”,设在西青区杨柳青广场的主会场,市人力社保局、12333电话咨询服务中心、市社保中心、各区人力社保局及社保分中心等相关工作人员面对面回答关乎市民切身利益的人力社保政策问题。

不少市民纷纷来到活动现场进行社保问题咨询,在分会场和平区民园体育场,市民梁女士正拿着宣传资料,听工作人员讲解如何用手机APP缴纳社会保险。据工作人员介绍,“市民可以通过线下窗口实名认证或在线实名认证、选择当年缴费或当月缴费、确认缴费、在线支付等流程,就可以通过手机APP客户端操作参保登记手续,核定缴费金额,通过社保协议服务银行实现缴费。”

“如果有问题您可以拨打天津市12333热线。”市12333人力社保电话咨询服务中心副主任魏丽娜介绍,涉及人力社保相关政策、办事指南、社保卡操作咨询等服务,市民有相关问题都可以通过热线咨询。医保就医规定、养老待遇计算、就失业登记、困难人员的社保补贴等都是12333热线被咨询的热点问题。

“今年将从继续完善参保政策、提高政策吸引力;实施参保资源的动态管理,入户入企业宣传社会保险政策;简化参保手续优化流程,方便居民参保;对拒不操作社会保险登记、不给员工交社保的企业加大执法检查力度等4个方面继续提高社会保险的参保覆盖面,努力实现‘人人享有社会保障’的目标。”市社保中心基金征缴处调研员王兰浩告诉记者,此次活动可以引导符合条件的职工和居民踊跃参保、持续缴费、增加积累,保障参保人员的合法权益。

离职跳槽社保怎么办?出国留学社保中断怎么办?工作不稳定想办信用卡怎么办?在异地买房买车没社保怎么办?快关注无忧保微信公众号,3分钟帮你解决这些问题,保你社保不断缴,异地买房有依靠!

]]>
/101340/feed 0
第七周作业 /101338 /101338#respond Fri, 22 Jun 2018 07:19:08 +0000 /101338

1、简述linux操作系统启动流程

启动流程:post–>bootSequence(BIOS)–>bootloader(MBR)–>kernel(ramdisk)–>rootfs(switch root)- ->/sbin/inittab,/etc/init/*.conf,/usr/lib/systemd/system/–>默认运行级别,系统初始化,关闭启动服 务,启动终端(图形终端)

2、简述grub启动引导程序配置及命令行接口详解

GRUB(boot loader)

grub:0.x:grub legacy
grub: 1.x:grub2
grub legacy
stage1:mbr
stage1.5:mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统;
stage2:磁盘分区(/boot/grub)
配置文件:/boot/grub/grub.conf,<—/etc/grub.conf
stage2及内核等通常放置于一个基本磁盘分区:
功用:
1.提供菜单,并提供交互式接口
e:编辑模式,用于编辑菜单:
c:命令模式,交互式接口:
2.加载用户选择的内核或操作系统
允许传递参数给内核
可隐藏此菜单
3.为菜单提供了保护机制
为编辑菜单进行认证
为启用内核或操作系统进行认证
如何识别设备:
(hd#,#)
hd#:磁盘编号,用数字标识:从0开始编号
#:分区编号,用数字表示;从0开始编号 如:(hd0,0)
grub的命令行接口
help:获取帮助列表
help keyword:获得详细帮助信息
find (hd0,0)/path/to/somefile:
root(hd0,0)
kernel /path/to/kernel_file:设定本次启动时用到的内核文件:额外还可以添加许多内核支持使用的 cmdline参数:例如 init=/path/to/init,selinux=0
initrd /path/to/initramfs_file:设定为选定的内核提供额外文件的ramdisk;
boot:引导启动选定的内核
手动在grub命令行几口启动系统
grub>root (hd0,0)
grub>kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
grub>initrd /initramfs-VERSION-RELEASE.img
grub>boot
配置文件:/boot/grub/grub.conf
配置选项:
default=#:设定默认启动的菜单项:编号从零开始
timeout=#:指定菜单项等待选项选择的时长
splashimage=(hd0,0)/path/to/xpm_pic_file:指明菜单背景图片文件路径
heddenmenu:隐藏菜单
password [–md5] string:惨淡编辑认证
title title:定义菜单标题,可出现多次
root (hd0,0):grub查找stage2及kernel文件所在设备分区:为grub的根
kernel/vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE:启动的内核
initrd /initramfs-VERSION-RELEASE.img:内核匹配的ramfs文件
password [–md5] string:启动选定的内核或操作系统时进行认证
grub-md5-crypt命令用来生成password密码
进入单用户模式:
1.编辑grub菜单(选定要编辑的title,而后使用e命令)
2.在选定的kernel后附加 1,s,S或single都可以
3.在kernel所在行,键入b命令
安装grub:
1.grub-install
grub-install –root-directory=ROOT /dev/DISK
2.grub
grub>root (hd0,0)
grub>setup (hd0

3、实现kickstart文件制作与光盘镜像制作

安装引导

ks:指明kickstart文件的位置;

ks=

DVD drive:ks=cdrom:/path/to/kickstart_file

Hard Drive:ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE

HTTP Server:ks=http://HOST:[PORT]/PATH/TO/KICKSTART_FILE

FTP Server:ks=ftp://HOST:[PORT]/PATH/to/KICKSTART_FILE

HTTPS Server:ks=https://HOST:[PORT]/PATH/TO/KICKSTART_FILE

kickstart文件的格式

命令段:

指定各种安装前配置选项,如键盘类型等;

1.命令段中的必备命令:

authconfig:认证式配置

authconfig –enableshadow –passalgo=sha512

bootloader:定义bootloader的装置位置及相关配置

bootloader –location=mbr –driveorder=sda -append=”crashkernel=auto rhgb quiet”

keyboadr:设置键盘类型

keyboard us

lang:语言类型

lang zh_CN.UTF-8

part:分区布局;

part /boot –fstype=ext4 –size=500

part pv.008002 –size=51200

rootpw:管理员密码

rootpw –iscrypted

timezone:时区

timezone Asia/Shanghai

补充:分区相关的其他指令

clearpart:清除分区

clearpart –none –drives=sda:清空磁盘分区;

volgroup:创建卷组

volgroup myvg –pesize=4096 pv.008002

logvol:创建逻辑卷

logvol /home –fstype=ext4 –name=lv_home –vgname=myvg –size=5120

生成加密密码的方式:

openssl passwd -1 salt `openssl rand -hex 4`

2.可选命令:

install OR upgrade:安装或升级;

text:安装界面类型,text为tui,默认为GUI

network:配置网络接口

network –onboot yes –device eth0 –bootproto dhcp –noipv6

fairwall:防火墙

firewall –disabled

selinux:SELinux

selinux:disabled

程序包段

指明要安装程序包,以及包组,也包括不安装的程序包;

%packages

@group_name

package

-package

%end

脚本段

%pre:安装前脚本

运行环境:运行安装介质上的微型linux系统环境;

%post安装后脚本

运行环境:安装完成的系统;

系统安装后禁用防火墙:

CentOS 6

service iptables stop

chkconfig iptables off

CentOS 7

systemctl stop firewall

系统安装完成后禁用SELinux

编辑/etc/sysconfig/selinux或/etc/selinux/config文件,修改SELINUX参数的值为下面其中之一:

permissive

disabled

立即生效:

getenforce

setenforce 0

定制kickstart文件:

yum install system-config-kickstart

system-config-kickstart 图形化的ks配置命令

检查语法错误:

ksvalidator

创建光盘镜像:

创建myboot目录

复制光盘镜像中的isolinux文件到myboot目录

制作好的ks文件放到myboot目录

mkisofs -R -j -T -v -no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS6 x86_64 boot” -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso /PATH/TO/myboot/

]]>
/101338/feed 0
初学linux新手入门知识 /101337 /101337#respond Fri, 22 Jun 2018 05:58:10 +0000 /101337

1、描述计算机的组成及其功能。

计算机组成部分有,运算器,控制器,存储器,输入输出设备,通俗的讲,CPU,主板,内存,硬盘,键盘鼠标,显示器,机箱配件这些组成。

cpu负责运算,控制,硬盘存数据用的,内存存cpu指令跟缓存的吧,键盘鼠标就是跟计算机交互数据的,显示器是输出设备。

2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

Linux的发行版:
slackware: suse opensuse
debian: ubuntu mint
redhat: rhel: redhat enterprise linux 每18个月发行一个新版本 CentOS:兼容rhel的格式 fedora:每6个月发行一个新版本
ArchLinux Gentoo LFS: Linux From scratch
Android: kernel+busybox+java虚拟机

3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。

1、一切皆文件; 把几乎所有资源,包括硬件设备都组织为文件格式; 2、由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好; 组合小程序完成复杂任务; 3、尽量避免跟用户交互; 目标:实现脚本编程,以自动完成某些功能; 4、使用纯文本文件保存配置信息; 目标:一款使用的文本编程器即能完成系统配置工作;

4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。

 

什么是命令

首先要了解命令格式

COMMAND [OPTIONS] ARGUMENTS

COMMAND: 发起一个命令

命令请求kernel将某个二进制程序运行为一个进程。程序本身只是一个静态文件,只有通过这个请求,才会转化为有生命周期的动态进程。

命令本身是一个可执行的二进制格式程序文件(Linux哲学思想:一切皆文件),一般都存放在这些目录下

普通命令:/bin/usr/bin/usr/local/bin

管理命令:/sbin/usr/sbin/usr/local/sbin

命令往往会调用到许多库文件,这些库可能许多程序都会遇到,我们形象的称之为共享库。 这些共享库也是二进制文件,但是由于其没有程序执行入口,所以不能独立执行。只能被其他有执行入口的程序调用时才能执行,一般这些库都存放在这些目录下

32bits的库:/lib/usr/lib/usr/local/lib

64bits的库:/lib64/usr/lib64/usr/local/lib64

注意:并非所有的命令都有一个在某目录与之相对应的可执行程序文件

命令的格式: 命令必须遵循特定格式规范:比如说win的exe,msi,对于linux而言则是ELF

命令的分类: 由shell程序自带的命令:内置命令(builtin) shell程序是一种独特的程序,它的作用是负责解析用户提供的命令。

独立的可执行程序文件:文件名即命令名:外部命令

查看命令类型: type COMMAND

OPTIONS:

指定命令的运行特性

一般选项有两种表现形式:

短选项:-C

例如-l -d

注意:

有些命令的选项没有-

如果同一命令使用多个短选项,多数可以合并,比如说 -l -d就可以写作-ld

短选项一般使用“ ”(空格)来分割

长选项:--word

例如--help --human-readable

注意:长选项不能合并

长选项一般用“=”来表示

**ARGUMENTS**:

命令的作用对象,以及命令对什么生效

注意:有些命令可以同时带多个参数,多个参数之间以空白字符分割 下面详细列出命令

ifconfig

ifconfig(interface configuration)是在Unix-like系统中用于查看以及配置网络接口设备的系统管理工具。其作用等同于ip addr或ip link

作用:作用于类Unix系统中,用于配置、控制及查询TCP/IP网络接口的系统管理工具

语法:ifconfig [interface]

ifconfig interface options | address …

常用方法:

ifconfig:查看当前系统中存活的网络接口设备信息

ifconfig eth#:查看指定的网络接口设备的信息

ifconfig -a:查看所有网络接口设备(通过此命令,非运行状态的网卡也可显示)

ifconfig eth# up:启动指定网络接口设备

ifconfig eth# down:关闭指定网络接口设备

ifconfig eth# add 33ffe:3240:800:1005::2/64:为指定网络接口设备添加IPv6地址 ifconfig eth# del 33ffe:3240:800:1005::2/64:为指定网络接口设备删除IPv6地址 ifconfig eth# hw ether 00:16:3E:10:60:B5 : 修改指定网络接口设备MAC地址

ifconfig eth# xxx.xxx.xxx.xx:给指定网络接口设备配置指定ip地址

ifconfig eth# xxx.xxx.xxx.xx netmask 255.255.255.0 :给指定网络接口设备配置指定ip地址及子网掩码

ifconfig eth# xxx.xxx.xxx.xx netmask 255.255.255.0 broadcast 192.168.120.255:给指定网络接口设备配置指定ip地址及子网掩码、广播地址

ifconfig eth# mtu 1500:给指定网络接口设备设置最大传输单元

备注:使用此命令对于网络接口的所有操作,在系统重启后均会失效。若需永久生效,需要通过修改配置文件的方式,配置文件的路径一般为

[root@test ~]# cd /etc/sysconfig/network-scripts/ [root@test network-scripts]# ls

echo

echo用来将字符串输出到终端上。它通常在shell脚本中使用,以将状态信息输出到屏幕或文件中作用:显示文字

语法:echo [SHORT-OPTION]… [STRING]…

echo LONG-OPTION

常用方法:

-n 不进行换行

-e 让转义符生效

转义符如下

\a 发出警告声

\b 删除前一个字符

\c 最后不加上换行符号

\f 换行但光标仍旧停留在本身的位置

\n 换行

\r 光标移至行首,但不换行

\t 制表符

\v 等同于\f

\\ 插入\字符

–help 显示帮助

–version 显示版本信息

备注:STRING可以使用引号,单引号双引号均可用

单引号:强引用,变量不执行替换

[root@iZ25test ~]# echo '$SHELL'

$SHELL

双引号:弱引用,变量引用会被替换

[root@iZ25test ~]# echo “$SHELL”

/bin/bash

tty

作用:查看当前的终端设备

语法:tty [OPTION]…

常用方法:[root@test ~]# tty

/dev/pts/0

startx

作用:用来启动X Window,实际上是启动X Window程序

常用方法:

startx:在服务器上启动x会话

startx -w:在服务器上强制启动x会话

export

作用:用于将shell变量输出为环境变量,或将shell函数输出为环境变量

语法:BASH BUILTIN COMMANDS

常用方法:

-f:代表【变量名称】中为函数名称

-n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中】

-p:列出所有shell赋予程序的环境变量

pwd

显示当前工作目录print name of current/working directory

作用:以绝对路径的方式显示用户当前工作目录。

语法: pwd [OPTION]..

常用方法:

–help:显示帮助信息

–version:显示版本信息

pwd命令用于显示当前工作目录,一般而言,涉及pwd,就会涉及到三个环境变量 PATH:执行文件路径的变量

OLDPWD:表示前一次的工作目录

PWD:表示当前的工作目录

history

作用:

用于显示指定数目的指令命令

读取历史命令文件中的目录到历史命令缓冲区

将历史命令缓冲区写入命令文件

语法:BASH BUILTIN COMMANDS

常用方法:

-c:清空当前历史命令

-a:将历史命令缓冲区中命令写入历史命令文件中

-r:将历史命令文件中的命令读入当前历史命令缓冲区

-w:将当前历史命令缓冲区命令写入历史命令文件中

n:打印最近n条历史命令(n为数字)

shutdown

作用:

系统关机

关闭所有程序

按照用户需要重启或关机

语法:shutdown [OPTION…] [TIME] [WALL…]

常用方法:

-c:取消关机

-f:重新启动时不执行fsck

-F:重新启动时执行fsck

-h:将系统关机

-k:送出信息给所有用户,但不会实际关机

-n:不调用init程序进行关机,而由shutdown自己控制

-r:重启系统

TIME:设置多久时间后执行shutdown指令

WALL:要传送给所有登入用户的信息

poweroff

作用:用来关闭计算机操作系统并且切断系统电源

语法: poweroff [OPTION]…

常用方法:

-n:关闭操作系统时不执行sync操作

-w:不真正关闭操作系统

-d:关闭操作系统时,不将操作写入日志文件

-f:强制关闭系统

-i:关闭系统之前关闭所有的网络接口

-h:关闭操作系统之前将系统中所有的操作设置为备用模式

reboot

作用:用来重新启动正在进行的Linux操作系统

语法:reboot [OPTION]…

常用方法:

-d:重新开机时不把数据写入数据文件/var/tmp/wtmp

-f:强制重新开机,不调用shutdown指令的功能

-i:在重开机之前,先关闭所有网络界面

-n:重开机之前不检查是否有未结束的程序

-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件

hwclock

作用:是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可以设置系统时间为硬件时钟的时间

语法: hwclock [functions] [options]

常用方法:

–adjust:校正目前的硬件时钟

–debug:显示hwclock执行时详细的信息

–hctosys:将系统时钟调整与当前的硬件时钟一致

–set –date=<日期与时间>:设定硬件时钟

–show:显示硬件时钟的时间与日期

–systohc:将硬件始终调整为与当前的系统时钟一致

–test:测试程序

–utc:使用格林威治时间

–version:显示版本信息

date

作用:显示或设置系统时间与日期

语法:date [OPTION]… [+FORMAT]

常用方法:

-d<“字符串”>:显示字符串所指的日期与时间

-s<“字符串”>:根据字符串设置的日期与时间

+FORMAT:格式符

%F:年月日

%T:小时分钟秒

%Y:年

%m:月

%d:日

%H:小时(24小时进制)

%S:秒

%s:秒(从1970-01-01 00:00:00 开始到命令执行那一刻的秒数 unix元年)

设定日期时间:date [MMDDhhmm[[CC]YY][.ss]]

5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。

一、 Linux命令分为内部命令和外部命令。

内置命令:#help COMMAND

外部命令:

(1)命令自带简要格式的使用帮助

#COMMAND –help

(2)使用帮助手册(manual)

#man CHAPTER COMMAND

(3)info COMMAND

获取命令的在线文档

(4)很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION

README:程序的相关的信息

INSTALL:安装帮助

CHANGES:版本迭代时的改动信息;

(5)主流发行版官方文档

http://www.redhat.com/doc

(6)程序官方的文档

官方站点上的”Document”

(7)搜索引擎

Google

二、使用手册(manual),手册压缩格式的文件,有章节之分。手册分为man1-man8。

man1:用户命令;man2:系统调用;

man3:C库调用;man4:设备文件及特殊文件;

man5:文件格式:(配置文件格式); man6:游戏使用帮助;

man7:杂项;man8:管理工具及守护进行。

帮助手册路径:/usr/share/man

语法格式:#man COMMAND

注:1、并非每个COMMAND在所有章节下都有手册。

2、可以通过whatis查看命令存在哪些章节。

3、whatis执行过程是查询数据进行的,

但是如果有新命令需要手动更新数据库:#makewhatis

6、请罗列Linux发行版的基础目录名称命名法则及功用规定

Linux文件系统 <逻辑视图>

根文件系统(rootfs):

root filesystem

LSB,FHS:(FileSystem Heirache Standard)

/etc, /usr, /var, /root, /home, /dev

目录描述

/主层次 的根(/root),也是整个文件系统层次结构的根目录

/boot: 引导文件存放目录,内核文件(vmlinuz),引导加载器(bootloader,grub)都存放于此目录.

/bin: 供所有用户使用的基本命令,不能关联至独立分区,系统启动即会用到的程序.

/sbin: 管理类的基本命令,不能管理至独立分区,系统启动即会用到的程序.

/lib: 基本共享库文件,以及内核模块文件(/lib/modules).

/lib64: 专用于X86_64系统上的辅助共享库文件存放位置.

/etc: 配置文件目录(纯文本文件).

/home/USERNAME: 普通用户家目录.

/root: 管理员的家目录

/mnt: 临时文件系统挂载点

/media: 便携式移动设备挂载点

cdrom

usb

/dev: 设备文件及特殊文件存放位置

b: block device 块设备,可随机访问

c: character device 字符设备,线性访问,有时间先后

/opt: 第三方应用程序的安装位置

/srv: 系统上运行的服务用到的数据

/tmp: 临时文件存储位置

/usr: universal shared,read-only data;

bin: 保证系统拥有完整功能而提供的应用程序

sbin:

lib:<架构位数>备用格式库(可选的)

lib64:

include: C程序的头文件(header files).

share: 结构化独立数据,例如doc,man等

local: 第三方应用程序安装位置.

bin,sbin,lib,lib64,etc

/var: variable data files

cache: 应用程序缓存数据目录

lib: 应用程序状态信息数据

local: 专用于为/usr/local下的应用程序存储可变数据

lock: 锁文件

log: 日志目录及文件

opt: 专用于为/opt下的应用程序存储可变数据

run: 运行中的进程相关的数据,通常用于存储进程的pid文件

spool: 应用程序数据池

tmp: 保存系统重启

/proc: 用于输出内核与进程信息相关的虚拟文件系统

/sys: 用于输出当前系统上硬件设备相关信息的虚拟文件系统

/selinux: security enhanced linux,selinux相关的安全策略等信息的存储位置

Linux上的应用程序的组成部分:

二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

配置文件:/etc, /etc/DIRECTORY, /usr/local/etc

帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

]]>
/101337/feed 0
正则表达式 /101336 /101336#respond Fri, 22 Jun 2018 03:17:12 +0000 /101336 基本正则表达式元字符:
字符匹配:
.:匹配任意单个字符;
[]:匹配范围内的任意单个字符;
[^]:匹配指定范围外的任意单个字符;
[:digit:]、[:lower:]、[:upper:]、[:alpha:]、[:alnum:]、[:punct:]、[:space:]
匹配次数:用在要指定其出现的次数的字符的后面,用于限制其前面字符出现的次数;
*:匹配其前面的字符任意次,0,1,多次;
.*:匹配任意长度的任意字符;
\?:匹配其前面出现的字符0次或1次;即其前面的字符是可有可无的;
\+:匹配其前面出现的字符1次或多次,即其前面的字符要出现至少一次;
\{m\}:匹配其前面出现的字符m次;
\{m,n\}:匹配其前面出现的字符至少m次,至多n次;
\{0,n\}:至多n次;
\{m,\}:至少m次;
位置锚定:
^或\b:行首锚定;用于模式的最左侧;
$或\b:行尾锚定;用于模式的最右侧;
\<PATTERN\>:匹配完整的单词;
分组及引用:
\(\):将一个或多个字符捆绑在一起,当作一个整体进行处理;
note:分组括号中的模式配到的内容会被正则表达式的引擎自动记录与内部的变量中;这些变量为:
\1:模式从左侧起,第一个左括号以及与之匹配的右括号之间的模式所匹配到的字符;
\2:模式从左侧起,第二个左括号以及与之匹配的右括号之间的模式所匹配到的字符;
\3:模式从左侧起,第三个左括号以及与之匹配的右括号之间的模式所匹配到的字符;
……

]]>
/101336/feed 0
第一周作业笔记 /101332 /101332#respond Thu, 21 Jun 2018 12:51:14 +0000 /101332 1、描述计算机的组成及其功能。

计算机系统分两部分:硬件系统(Hardware)和软件系统(Software)

硬件系统为主机和外部设备:

  1. 运算器:运算器的功能是对数据进行算术运算(加、减、乘、除等)和逻辑运算。
  2. 控制器:控制 器控制整个计算机系统
  3. 存储器:存储器分为内部存储(RAM)和外部存储(ROM),RAM断电后数据丢失,ROM断电不丢失。
  4. 输入设备(INPUT):输入数据的设备(键盘,鼠标,扫描仪等)。
  5. 输出设备(OUTPUT):输出设备对处理完后的数据做输出(显示器,打印机等设备)
  6. 硬盘是输入也是输出设备

软件系统分系统软件和应用软件:

  • 系统软件:操作系统,程序语言处理系统,数据库管理系统,服务程序
  • 应用软件:通用软件,专用软件

2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。

  • 一切都是一个文件(包括硬件也是以文件形式挂载)
  • 小型,单一用途的程序
  • 链接程序,共同完成复杂的任务
  • 避免令人困惑的用户界面
  • 配置数据存储在文本中

4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。

5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。

6、请罗列Linux发行版的基础目录名称命名法则及功用规定

]]>
/101332/feed 0
Apache介绍及常用配置 /101326 /101326#respond Thu, 21 Jun 2018 10:12:09 +0000 /101326 本节索引

一、Apache介绍

二、Apache常用设置

三、mod_deflate模块——压缩页面优化传输

四、实现虚拟主机——单台主机搭建多个网站

1.实验:基于端口号的虚拟主机

2.实验:基于IP地址的虚拟主机

3.实验:基于主机头的虚拟主机

封面

一、Apache介绍

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的

计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件

之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服

务器中。

官方网站:http://httpd.apache.org/

 

发展历史:

20世纪90年代初,国家超级计算机应用中心NCSA开发

1995年开源社区发布apache(a patchy server)

ASF: apache software foundation

FSF:Free Software Foundation

 

特性:

1.高度模块化:core+modules

2.动态加/卸载:DSO(Dynamic Shared Object)

3.多路处理模块:MPM(multi-processing module)

 

 

功能特性:

基于IP、Port、FQDN的虚拟主机

CGI:Common Gateway Interface,通用网关接口

反向代理

负载均衡

路径别名

丰富的用户认证机制

basic

digest

支持第三方模块

 

Httpd安装及主要文件

版本:

CentOS 6: 2.2

CentOS 7:2.4

 

安装方式:

rpm,yum:centos发行版,稳定,建议使用

编译安装:定制或特殊需求

 

CentOS 6程序环境:httpd-2.2

配置文件:

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

 

检查配置语法:

httpd –t

service httpd configtest

 

服务脚本:/etc/rc.d/init.d/httpd

 

脚本配置文件:/etc/sysconfig/httpd

 

服务控制和启动:

chkconfig httpd on|off

service {start|stop|restart|status|configtest|reload} httpd

 

站点网页文档根目录:

/var/www/html

 

模块文件路径:

/etc/httpd/modules

/usr/lib64/httpd/modules

 

主程序文件:

/usr/sbin/httpd

/usr/sbin/httpd.worker

/usr/sbin/httpd.event

 

主进程文件:

/etc/httpd/run/httpd.pid

 

日志文件目录:

/var/log/httpd

access_log: 访问日志

error_log:错误日志

 

帮助文档包:

httpd-manual

 

 

Apache是一个模块化的程序,管理员可以选择一些模块来增加服务器的某些功能。这些模块,可以在

创建服务器程序时静态地编译到httpd服务器的二进制代码中,也可以编译成一些独立于服务器程序的

DynamicShared Objects (DSOs)文件

模块索引官方文档:http://httpd.apache.org/docs/2.4/mod/

 

查看静态编译的模块

httpd -l

查看静态编译及动态装载的模块

httpd –M

动态模块加载:不需重启即生效

动态模块路径

/usr/lib64/httpd/modules/

 

下面来介绍一些Httpd使用中的常见设置

 

二、Apache常用设置

1服务器版本信息显示格式

ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full

ServerTokens Prod[uctOnly] :Server: Apache

ServerTokens Major: Server: Apache/2

ServerTokens Minor: Server: Apache/2.0

ServerTokens Min[imal]: Server: Apache/2.0.41

ServerTokens OS: Server: Apache/2.0.41 (Unix)

ServerTokens Full (or not specified): Server: Apache/2.0.41 (Unix) PHP/4.2.2

MyMod/1.2

 

建议使用:ServerTokens Prod

示例:

当使用curl –I命令访问一台主机时,系统默认:

2

修改为:ServerToken Prod

3

 

2修改监听的IP和Port

Listen [IP:]PORT

(1) 省略IP表示为本机所有IP

(2) Listen指令至少一个,可重复出现多次

Listen 80

Listen 8080

示例:

Listen 192.168.1.100:8080

Lsten 80

注:当主配置文件/etc/httpd/conf/httpd.conf以及 /etc/httpd/conf.d目录下同时有Listen指令时,将同时

生效

 

3持久连接

Persistent Connection:连接建立,每个资源获取完成后不会断开连接,而是继

续等待其它的请求完成,默认关闭持久连接

断开条件:数量限制:100

时间限制:以秒为单位, httpd-2.4 支持毫秒级

副作用:对并发访问量较大的服务器,持久连接功能会使用有些请求得不到响应

折衷:使用较短的持久连接时间

设置: KeepAlive On|Off

KeepAliveTimeout 15

MaxKeepAliveRequests 100

测试: telnet WEB_SERVER_IP PORT

GET /URL HTTP/1.1

Host: WEB_SERVER_IP

 

4 MPM(Multi -Processing Modules)多路处理模块

经过适当的配置,可以提高服务器的负载能力。

原理是通过增加服务进程数量使服务器可以同时处理更多用户请求。

三种模式:prefork, worker, event(2.2为试验阶段)

httpd-2.2不支持同时编译多个模块,所以只能编译时选定一个;rpm安装

的包提供三个二进制程序文件,分别用于实现对不同MPM机制的支持

确认方法:

httpd –V

1

ps aux | grep httpd

默认为/usr/sbin/httpd, 即prefork模式

 

更换使用的httpd程序:

/etc/sysconfig/httpd

HTTPD=/usr/sbin/httpd.worker

重启服务生效

pstree -p|grep httpd 查看进程和线程

Httpd 2.4 与之不同

以动态模块方式提供

配置文件:/etc/httpd/conf.modules.d/00-mpm.conf

httpd –M |grep mpm

重启服务生效

pstree -p|grep httpd 查看进程和线程

 

prefork:

多进程I/O模型,每个进程响应一个请求,默认模型

一个主进程:生成和回收n个子进程,创建套接字,不响应请求

多个子进程:工作work进程,每个子进程处理一个请求;系统初始时,预先

生成多个空闲进程,等待请求,最大不超过1024个

优点:成熟稳定,兼容所有新老模块。同时,不需要担心线程安全的问题。(我们常用的mod_php,PHP

的拓展不需要支持线程安全)

缺点:一个进程相对占用更多的系统资源,消耗更多的内存。而且,它并不擅长处理高并发请求,在这种

场景下,它会将请求放进队列中,一直等到有可用进程,请求才会被处理。

prefork的默认配置:

<IfModule prefork.c>

StartServers 8 服务启动时,预先同时开启几个进程

MinSpareServers 5

MaxSpareServers 20

ServerLimit 256 最多进程数,最大20000

MaxClients 256 最大并发

MaxRequestsPerChild 4000 子进程最多能处理的请求数量。在处

理MaxRequestsPerChild 个请求之后,子进程将会被父进程终止,这

时候子进程占用的内存就会释放(为0时永远不释放)

</IfModule>

 

 

worker:

复用的多进程I/O模型,多进程多线程,IIS使用此模型

一个主进程:生成m个子进程,每个子进程负责生个n个线程,每个线程响应

一个请求,并发响应请求:m*n

优点:占据更少的内存,高并发下表现更优秀。

缺点:必须考虑线程安全的问题,因为多个子线程是共享父进程的内存地址的。

如果使用keep-alive的长连接方式,某个线程会一直被占据,也许中间几乎没

有请求,需要一直等待到超时才会被释放。如果过多的线程,被这样占据,也会

导致在高并发场景下的无服务线程可用。(该问题在prefork模式下,同样会发生)

worker的默认配置:

<IfModule worker.c>

StartServers 4

MaxClients 300

MinSpareThreads 25

MaxSpareThreads 75

ThreadsPerChild 25

MaxRequestsPerChild 0 无限制

</IfModule>

 

event:

事件驱动模型(worker模型的变种)

一个主进程:生成m个子进程,每个进程直接响应n个请求,并发响应请求:

m*n,有专门的线程来管理这些keep-alive类型的线程,当有真实请求时,将请

求传递给服务线程,执行完毕后,又允许释放。这样增强了高并发场景下的请

求处理能力

httpd-2.2: event 测试版,centos6默认

httpd-2.4:event 稳定版,centos7默认

 

 

5.DSO: Dynamic Shared Object

加载动态模块配置

/etc/httpd/conf/httpd.conf

配置指定实现模块加载格式:

LoadModule <mod_name> <mod_path>

模块文件路径可使用相对路径:

相对于ServerRoot(默认/etc/httpd)

示例:

LoadModule auth_basic_module

modules/mod_auth_basic.so

 

6更改httpd服务默认目录

DocumentRoot “/path”

文档路径映射:

DocumentRoot指向的路径为URL路径的起始位置

示例:

DocumentRoot “/app/data”

CentOS7必须给目录授权才能使用:

<Directory “/app/data”>

Require all granted

</Directory>

 

http://HOST:PORT/test/index.html

–> /app/data/test/index.html

注意:SELinux和iptables的状态

 

 

7定义站点未指定时的默认页面

默认为testing页面:

DirectoryIndex index.html index.html.var

 

 

8基于IP的访问控制:

CentOS 6:

order和allow、deny

放在directory, .htaccess中

order:定义生效次序;写在后面的表示默认法则

Order allow,deny

Order deny,allow

Allow from和Deny from:定义客户端地址

客户端地址:

IP

网络: 172.16

172.16.0.0

172.16.0.0/16

172.16.0.0/255.255.0.0

 

CentOS 7:

无明确授权的目录,默认拒绝

允许所有主机访问:Require all granted

拒绝所有主机访问:Require all denied

控制特定的IP访问:

Require ip IPADDR:授权指定来源的IP访问

Require not ip IPADDR:拒绝特定的IP访问

控制特定的主机访问:

Require host HOSTNAME:授权特定主机访问

Require not host HOSTNAME:拒绝

HOSTNAME:

FQDN:特定主机

domin.tld:指定域名下的所有主机

 

 

9针对资源进行访问控制

可基于两种机制指明对哪些资源进行何种访问控制

访问控制机制有两种:客户端来源地址,用户账号

文件系统路径:

针对目录:

<Directory “/path”>

</Directory>

针对文件,支持通配符:

<File “/path/file”>

</File>

支持正则表达式:

<FileMatch “PATTERN”>

</FileMatch>

 

URL路径:

<Location “”>

</Location>

<LocationMatch “”>

</LocationMatch>

 

示例:

<FilesMatch “\.(gif|jpe?g|png)$”>

<Files “?at.*”> 通配符

<Location /status>

<LocationMatch “/(extra|special)/data”>

 

10 <Directory>中“基于源地址”实现访问控制

(1) Options:后跟1个或多个以空白字符分隔的选项列表

在选项前的+,- 表示增加或删除指定选项

常见选项:

Indexes:指明的URL路径下不存在与定义的主页面资源相符的资源

文件时,返回索引列表给用户

FollowSymLinks:允许访问符号链接文件所指向的源文件

None:全部禁用

All: 全部允许

示例:

<Directory /web/docs>

Options Indexes FollowSymLinks

</Directory>

<Directory /web/docs/spec>

Options FollowSymLinks

</Directory>

<Directory /web/docs>

Options Indexes FollowSymLinks

</Directory>

<Directory /web/docs/spec>

Options +Includes -Indexes

</Directory>

 

(2) AllowOverride

与访问控制相关的哪些指令可以放在指定目录下的.htaccess(由AccessFileName

指定)文件中,覆盖之前的配置指令

只对<directory>语句有效

AllowOverride All: 所有指令都有效

AllowOverride None:.htaccess 文件无效

AllowOverride AuthConfig Indexes 除了AuthConfig 和Indexes的其它指令都无法覆盖

 

11日志设定

日志类型:

访问日志

错误日志

错误日志:

ErrorLog logs/error_log

LogLevel warn

LogLevel 可选值:

debug, info, notice, warn,error,crit, alert, emerg 越靠后等级越高

 

访问日志:

定义日志格式:LogFormat format strings

LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined

使用日志格式:

CustomLog logs/access_log combined

参考帮助:http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats

%h 客户端IP地址

%l 远程用户,启用mod_ident才有效,通常为减号“-”

%u 验证(basic,digest)远程用户,非登录访问时,为一个减号“-”

%t 服务器收到请求时的时间

%r First line of request,即表示请求报文的首行;记录了此次请求的“方法”,

“URL”以及协议版本

%>s 响应状态码

%b 响应报文的大小,单位是字节;不包括响应报文http首部

%{Referer}i 请求报文中首部“referer”的值;即从哪个页面中的超链接跳转至

当前页面的,超链接来源

%{User-Agent}i 显示浏览器类型;请求报文中首部“User-Agent”的值;即发出请求的应用程序

更多的格式选项请参考官方mod_log_config 文档

 

示例:

默认日志中日期显示为:[21/Jun/2018:17:00:54 +0800]

vim /etc/httpd/conf/httpd.conf

LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined找到此行

修改 %t ==> %{%F %T}t

再次打开access_log日志日期格式:2018-06-21 19:02:27

 

12设定默认字符集

AddDefaultCharset UTF-8

中文字符集:GBK, GB2312, GB18030

 

13定义路径别名

格式: Alias /URL/ “/PATH/”

DocumentRoot “/www/htdocs”

http://www.magedu.com/download/bash.rpm

==>/www/htdocs/download/bash.rpm

Alias /download/ “/rpms/pub/”

http://www.magedu.com/download/bash.rpm

==>/rpms/pub/bash.rpm

http://www.magedu.com/images/logo.png

==>/www/htdocs/images/logo.png

注意:CentOS 7要给重新指定的路径进行grant授权才可访问

<directory “/rpm/pub”>

require all granted

</directory>

 

14基于用户的访问控制

认证质询:WWW-Authenticate:响应码为401,拒绝客户端请求,并说明要求客户

端提供账号和密码

认证:Authorization:客户端用户填入账号和密码后再次发送请求报文;认证通过时,

则服务器发送响应的资源

认证方式两种:

basic:明文

digest:消息摘要认证,兼容性差

安全域:需要用户认证后方能访问的路径;应该通过名称对其进行标识,以便于告

知用户认证的原因

用户的账号和密码

虚拟账号:仅用于访问某服务时用到的认证标识

存储:文本文件,SQL数据库,ldap目录存储,nis等

 

basic认证配置示例:

(1) 定义安全域

<Directory “/path”>

Options None

AllowOverride None

AuthType Basic

AuthName “String“

AuthUserFile “/PATH/HTTPD_USER_PASSWD_FILE”

Require user username1 username2 …

</Directory>

允许账号文件中的所有用户登录访问:

Require valid-user

 

(2) 提供账号和密码存储(文本文件)

使用专用命令完成此类文件的创建及用户管理

htpasswd [options] /PATH/HTTPD_PASSWD_FILE username

-c:自动创建文件,仅应该在文件不存在时使用

-p:明文密码

-d:CRYPT格式加密,默认

-m:md5格式加密

-s: sha格式加密

-D:删除指定用户

 

基于组账号进行认证

(1) 定义安全域

<Directory “/path”>

AuthType Basic

AuthName “String“

AuthUserFile “/PATH/HTTPD_USER_PASSWD_FILE”

AuthGroupFile “/PATH/HTTPD_GROUP_FILE”

Require group grpname1 grpname2 …

</Directory>

(2) 创建用户账号和组账号文件

组文件:每一行定义一个组

GRP_NAME: username1 username2 …

 

示例:

<Directory “/www/htdocs/admin”>

Options None

AllowOverride None

AuthType Basic

AuthName “Administator private”

AuthUserFile “/etc/httpd/conf.d/.htpasswd”

AuthGroupFile “/etc/httpd/conf.d/.htgroup”

Require group webadmins

</Directory>

vim /etc/httpd/conf.d/.htgroup

webadmins:wang mage

 

远程客户端和用户验证的控制

Satisfy ALL|Any

ALL 客户机IP和用户验证都需要通过才可以

Any客户机IP和用户验证,有一个满足即可

示例:

Require valid-user

Order allow,deny

Allow from 192.168.1

Satisfy Any

 

15实现用户家目录的http共享

基于模块mod_userdir.so实现

httpd -M |grep userdir

SELinux: http_enable_homedirs

相关设置:

vim /etc/httpd/conf.d/userdir.conf

UserDir public_html #指定共享目录的名称

准备目录

su – wang;mkdir ~/public_html

setfacl –m u:apache:x ~wang

访问

http://localhost/~wang/index.html

 

16、status页面

功能:显示系统中的状态信息,了解服务器状态,监控用

LoadModule status_module modules/mod_status.so

<Location /server-status>

SetHandler server-status

Require all granted

</Location>

ExtendedStatus On 显示扩展信息

 

访问:

http://IP:PORT/server-status 就可以监控apache服务了

下面就是该网页所显示的监控情况:

4

参数说明:

字段 说明

Server Version Apache 服务器的版本。

Server MPM MPM工作模式

Server Built Apache 服务器编译安装的时间。

Current Time 目前的系统时间。

Restart Time Apache 重新启动的时间。

Parent Server Generation Apache 父程序 (parent process) 的世代编号,就是 httpd 接收到 SIGHUP

而重新启动的次数。

Server uptime Apache 启动后到现在经过的时间。

Total accesses 到目前为此 Apache 接收的联机数量及传输的数据量。

CPU Usage 目前 CPU 的使用情形。

 

_SWSS…. 所有 Apache process 目前的状态。每一个字符表示一个程序,最多可以显示 256 个程序

的状态。

Scoreboard Key 上述状态的说明。以下为每一个字符符号所表示的意义:

* _:等待连结中。

* S:启动中。

* R:正在读取要求。

* W:正在送出回应。

* K:处于保持联机的状态。

* D:正在查找DNS。

* C:正在关闭连结。

* L:正在写入记录文件。

* G:进入正常结束程序中。

* I:处理闲置。

* .:尚无此程序。

 

Srv 本程序与其父程序的世代编号。

PID 本程序的process id。

Acc 分别表示本次联机、本程序所处理的存取次数。

M 该程序目前的状态。

CPU 该程序所耗用的CPU资源。

SS 距离上次处理要求的时间。

Req 最后一次处理要求所耗费的时间,以千分之一秒为单位。

Conn 本次联机所传送的数据量。

Child 由该子程序所传送的数据量。

Slot 由该 Slot 所传送的数据量。

Client 客户端的地址。

VHost 属于哪一个虚拟主机或本主机的IP。

Request 联机所提出的要求信息。

 

三、mod_deflate模块——压缩页面优化传输

mod_deflate

功能:压缩页面优化传输速度

官方文档:http://httpd.apache.org/docs/2.4/mod/mod_deflate.html

适用场景:

(1) 节约带宽,额外消耗CPU;同时,可能有些较老浏览器不支持

(2) 压缩适于压缩的资源,例如文本文件

LoadModule deflate_module modules/mod_deflate.so SetOutputFilter DEFLATE

# Restrict compression to these MIME types

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE text/css

 

Level of compression (Highest 9 – Lowest 1) 压缩比(1-9)

DeflateCompressionLevel 9

排除特定旧版本的浏览器,不支持压缩

Netscape 4.x 只压缩text/html

BrowserMatch ^Mozilla/4 gzip-only-text/html

Netscape 4.06-08三个版本 不压缩

BrowserMatch ^Mozilla/4\.0[678] no-gzip

Internet Explorer标识本身为“Mozilla / 4”,但实际上是能够处理请求的压缩。

如果用户代理首部匹配字符串“MSIE”(“B”为单词边界”),就关闭之前定

义的限制

BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

 

查看网站是否压缩

方法一:利用curl命令

Curl -I -v –compressed

方法二:站长工具查询

http://tool.chinaz.com/Gzips/

压缩查询

 

示例:

查看mod_deflate.so模块是否已加载

1

修改配置文件

2

重启httpd服务即可

systemctl restart httpd

 

 

四、实现虚拟主机——单台主机搭建多个网站

前期准备:

虚拟机一台,操作系统版本为CentOS 7.4,IP地址:192.168.30.10

 

1实验:基于端口号的虚拟主机

实验预期:

搭建三个网站,网站与监听端口对应关系如下:

www.a.com Listen 81

www.b.com Listen 82

www.c.com Listen 83

具体步骤:

创建网站目录

mkdir /data/website{1,2,3} -pv

echo www.a.com > /data/website1/index.html

echo www.b.com > /data/website2/index.html

echo www.c.com > /data/website3/index.html

1

编写配置文件

vim /etc/httpd/conf.d/test2.conf

Listen 81

listen 82

listen 83

<directory “/data/”>

require all granted

</directory>

<VirtualHost *:81>

DocumentRoot “/data/website1”

ServerName www.a.com

Errorlog “logs/a.com.error_log”

Transferlog “logs/a.con-access_log”

</VirtualHost>

<VirtualHost *:82>

DocumentRoot “/data/website2”

ServerName www.b.com

Errorlog “logs/b.com.error_log”

Transferlog “logs/b.con-access_log”

</VirtualHost>

<VirtualHost *:83>

DocumentRoot “/data/website3”

ServerName www.c.com

Errorlog “logs/c.com.error_log”

Transferlog “logs/c.con-access_log”

</VirtualHost>

2

重启httpd服务

systemctl restart httpd

检查端口是否监听状态

ss -ntl

3

浏览器分别打开IP:port测试网页能否正常显示

4

 

 

2实验:基于IP地址的虚拟主机

实验预期

搭建三个网站,网站与IP地址对应关系如下:

www.a.com 192.168.30.11

www.b.com 192.168.30.22

www.c.com 192.168.30.33

 

添加IP地址

ip addr add 192.168.30.11/24 dev ens33

ip addr add 192.168.30.22/24 dev ens33

ip addr add 192.168.30.33/24 dev ens33

1

修改配置文件

vim /etc/httpd/conf.d/test.conf

<directory “/data/”>

require all granted

</directory>

<VirtualHost 192.168.30.11:80>

DocumentRoot “/data/website1”

ServerName www.a.com

Errorlog “logs/a.com.error_log”

Transferlog “logs/a.con-access_log”

</VirtualHost>

<VirtualHost 192.168.30.22:80>

DocumentRoot “/data/website2”

ServerName www.b.com

Errorlog “logs/b.com.error_log”

Transferlog “logs/b.con-access_log”

</VirtualHost>

<VirtualHost 192.168.30.33:80>

DocumentRoot “/data/website3”

ServerName www.c.com

Errorlog “logs/c.com.error_log”

Transferlog “logs/c.con-access_log”

</VirtualHost>

2

重启httpd服务

systemctl restart httpd

打开浏览器分别测试

3

 

3实验:基于主机头的虚拟主机

实验预期:

通过主机头可直接访问到网站页面,也是实际应用中最常见的虚拟主机搭建方式

具体步骤:

修改配置文件

vim /etc/httpd/conf.d/test.conf

<directory “/data/”>

require all granted

</directory>

<VirtualHost *:80>

DocumentRoot “/data/website1”

ServerName www.a.com

Errorlog “logs/a.com.error_log”

Transferlog “logs/a.con-access_log”

</VirtualHost>

<VirtualHost *:80>

DocumentRoot “/data/website2”

ServerName www.b.com

Errorlog “logs/b.com.error_log”

Transferlog “logs/b.con-access_log”

</VirtualHost>

<VirtualHost *:80>

DocumentRoot “/data/website3”

ServerName www.c.com

Errorlog “logs/c.com.error_log”

Transferlog “logs/c.con-access_log”

</VirtualHost>

1

配置DNS解析,为了方便模拟,我们就在/etc/hosts文件中配置解析

2

重启httpd服务

systemctl restart httpd

打开浏览器分别访问www.a.com,www.b.com,www.c.com,访问成功

3

]]>
/101326/feed 0
第一周 /101305 /101305#respond Thu, 21 Jun 2018 08:44:18 +0000 /101305 一.描述计算机的组成及其功能。

计算机主要由5部分组成分别是:

运算器:负责对数据进行各种运算;

控制器:负责指挥协调计算机各个部件之间的工作

存储器:负责存储数据和程序 如硬盘

输入设备:是人或外部与计算机进行交互的一种装置,用于把 原始数据 和处理这些数的程序输入到计算机中。是计算机与用户或其他设备通信的桥梁。输入设备是用户和计算机系统之间进行信息交换的主要装置之一。键盘,鼠标,摄像头,扫描仪,光笔,手写输入板,游戏杆,语音输入装置等都属于输入设备。

输出设备:是 计算机 硬件系统的 终端设备 ,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。也是把各种计算结果数据或信息以 数字 、 字符 、 图像 、声音等形式表现出来。常见的输出设备有 显示器 、打印机、 绘图仪 、影像输出系统、语音输出系统、磁记录设备等。

计算机重要组件:

CPU : 计算机的运算器+控制器,是计算器完成高性能工作的核心设备

Cat /proc/cpuinfo 查看当前服务器的cpu信息

其中选项:

Processor : 表示逻辑cpu个数

Physical id: 物理cpu 个数

Cpu cores: 每个物理cpu的内核个数

Sibling: 每个物理cpu上逻辑cpu个数

当逻辑cpu个数 > 物理cpu个数* cpu内核数 表示开启超线程

当逻辑cpu个数 = 物理cpu个数 * cpu内核数 表示没有开启超线程

内存: 是与cpu进行通信的桥梁,当计算机运算时cpu会首先把数据调到内存中,在内存中进行运算,一些运算的数据,进程也会暂时存在在内存当中,所以内存对计算机的运算性能起很大的因素。

Free 命令查看内存的使用情况

Cat /proc/Meminfo 查看详细的内存信息

硬盘:用于存储数据fdisk 可以查看当前系统的硬盘分区情况是计算机主要存储数据的地方

 

二 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

 

现在主流的三大发型版本分别是:debian slackware redhat

Dabian:ubuntu:主要针对桌面和服务器 致力于桌面系统的更易用和高效性

Slackware:有suse也是主要用于桌面系统服务器用户界面非常华丽,而且性能良好

Redhat: redhat 是面向企业用户的linux操作系统

Centos:基于redhat的提供的可自由使用的开源系统

所有的发现版本都是使用linux的内核,都需要遵行GNU的GPL协议 所有发型版都有自己的版本号,但版本的基本约定基本一样

区别:

发现版本的本质区别在于继承不同版本内核,库,程序组成,不同的发行版本采用不同的包管理器如redhat用的是rpm,

联系:

所有发行版本都使用linux内核,需要遵循GNU的GPL协议所有发行版本的版本号,版本格式约定基本一样

三 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。

Linux的核心思想:

1 一切皆文件 :

在linux上包括目录,物理硬件,设备 ,存储 等一切都以文件对待,文件相当于一个访问的接口,

2 小功能完成大人务:

通过使用功能单一的小程序组合来完成复杂的事物,一个程序只实现一个目的

3 通过文本文件保存配置信息,

一切配置可以通过文本工具进行修改配置文件来完成

4 尽量避免与用户交互

 

四 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。

Linux上的命令分为内部命令与外部命令。

内部命令是指由bash内部自带的命令,它可能没有对应的执行文件,通过–help可以获取命令使用帮助。

外部命令是有对应的执行程序文件,一般存在bin,sbin 、usr/bin /usr/sbin 等目录下

命令格式:COMMAND [OPTIONS…] [ARGUMENTS…]

Ifconfig命令:可以查看配置当前网卡信息

1 直接使用ifconfig,可查看ip地址,网关,掩码,网卡状态,接收和发送数据包等信息

2 启动关闭指定网卡:ifconfig eth0 up ifconfig eth0 down

3 配置ip:ifconfig eth0 192.168.1.1(临时生效)

Echo命令: 用于字符串输出

1 显示普通字符串hello输出至f1 文件中: echo “hello” > /f1

2 显示转义字符: echo “\”hello\””\ 是转义字符

3 输出变量: echo $PATH

4 显示换行 echo -e “hello \n ”\n 换行

5 显示命令结果: echo `date`

6 颜色显示 echo -e “\033[37m hello \033[0m”

Tty显示终端类型:

1 物理终端 是使用显示器直接接入服务器登录

2虚拟终端:附加在物理终端上 默认有6个终端界面通过 ctrl+alt +f(1-6)进行切换 设备文件路径 /dev/tty

3 模拟终端实在图形界面下打开的终端 pts

Startx:启动图形界面命令启动X Window的服务这一项,其实startx命令启动的是xinit,然后再由xinit来启动X Window
startx (初始化一个 X 会话)
startx 可以在命令行切换到图形化 也有可能启动不成功 前提内存足够 或者已经启动
注:如未安装图形化桌面 startx是启动不了的需 yumgroup list 自寻安装对应的桌面

Export命令

功能说明:设置或显示环境变量。
语 法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登录操作。
参 数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。

Pwd 命令显示当前路径

History:历史命令

登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history
参数:
-n :数字,意思是‘要列出最近的 n 笔命令列表’的意思!
-c :将目前的 shell 中的所有 history 内容全部消除
-a :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles ,则预设写入 ~/.bash_history
-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中;
-w : 将目前的 history 记忆内容写入 histfiles 中!
-d : 删除历史中指定的命令;
!加编号:调用历史中的编号命令;!15
!v调用历史中最近一个以v开头的命令(从后往前)
!!上一条命令

Shutdown:系统关机命令

参数:
-t 在改变到其它runlevel之前告诉init多久以后关机。
-r重启计算机。
-k并不真正关机只是送警告信号给每位登录者〔login〕。
-h关机后关闭电源〔halt〕。
-n不用init而是自己来关机。不鼓励使用这个选项而且该选项所产生的后果往往不总是你所预期得到的。
-c cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数但是可以输入 shutdown -h now-----立即关机;
shutdown -h 00:30----00:30分关机
shutdown -h +10-----10分钟后关机
shutdown -r now -----立即重启
shutdown -r +10 ‘The system will reboot‘----10分钟后系统重启并给每个登录用户发通知
shutdown -k now ‘The system will reboot‘----仅给每个登录用户发通知并不真重启

reboot:用来重启Linux系统

-n:保存数据后再重新启动系统
-w:仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件
-d:重新启动时不把数据写入记录文件/var/tmp/wtmp
-f :强制重新开机,不调用shutdown指令的功能
-i:关闭网络设置之后再重新启动系统
-h:在系统关机或poweroff之前,将所有的硬盘处于待机模式

Hwclock:

描述:linux机器里有两个时钟:硬件时钟和系统时钟,你可以通过BIOS修改系统硬件时钟,或者如果你不想重起机器,那就用hwclock命令。

-s –hctosys 把系统时钟同步硬件
-w –systohc 把硬件时钟同步系统

Date命令:date 可以用来显示或设定系统的日期与时间。

参数:

-d:显示字符串所指的日期时间

-s :根据字符串来设置日期时间

-u 显示GMT

日期格式字符串:

%H 小时(以00-23来表示)。

%I 小时(以01-12来表示)。

%M 分钟(以00-59来表示)

%P AM或PM

%S 秒(以本地的惯用法来表示)

%T 时间(含时分秒,小时以24小时制来表示)

%a 星期的缩写

%A 星期的完整名称。

%b 月份英文名的缩写。

%B 月份的完整英文名称。

%c 日期与时间。只输入date指令也会显示同样的结果。

%d 日期(以01-31来表示)。

%D 日期(含年月日)。

%j 该年中的第几天。

%m 月份(以01-12来表示)。

%U 该年中的周数。

%w 该周的天数,0代表周日,1代表周一,异词类推。

%x 日期(以本地的惯用法来表示)。

%y 年份(以00-99来表示)。

%Y 年份(以四位数来表示)。

%n 在显示时,插入新的一行。

%t 在显示时,插入tab。

MM 月份(必要)

DD 日期(必要)

hh 小时(必要)

mm 分钟(必要)

ss 秒(选择性)

实例:

date +”%Y-%m-%d”

date -d “1 day ago”+”%Y-%m-%d”昨天的日期

date -d “2 second”+”%Y-%m-%d %H:%M.%S”2秒后输出

加减操作:

date +%Y%m%d #显示前天年月日

date -d “+1 day”+%Y%m%d #显示前一天的日期

date -d “-1 day”+%Y%m%d #显示后一天的日期

date -d “-1 month”+%Y%m%d #显示上一月的日期

date -d “+1 month”+%Y%m%d #显示下一月的日期

date -d “-1 year”+%Y%m%d #显示前一年的日期

date -d “+1 year”+%Y%m%d #显示下一年的日期

设定时间:

date -s #设置当前时间,只有root权限才能设置,其他只能查看

date -s 20120523 #设置成20120523,这样会把具体时间设置成空00:00:00

date -s 01:01:01 #设置具体时间,不会对日期做更改

date -s “01:01:01 2012-05-23”#这样可以设置全部时间

date -s “01:01:01 20120523”#这样可以设置全部时间

date -s “2012-05-23 01:01:01”#这样可以设置全部时间

date -s “20120523 01:01:01”#这样可以设置全部时间

五如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。

Linux 帮助命令内部命令可以用–help查看帮助 如 ls –help

外部命令通过man命令获取帮助,

Linux的man手册共有以下几个章节:
/usr/share/man/ 帮助收藏路径
man1:用户命令
man2:系统调用:man 2 read(有些关键不止一个章节存在的手册)
man3:c库调用
man4:设备文件及特殊文件
man6:游戏
man7:杂项
man8:管理类的命令
man命令配置文件:/etc/man.confg MANPATH=路径
man -M 路径 comand:到指定的位置搜索命令手册页并显示

参数:

-a:在所有的man帮助手册中搜索;

-f:等价于whatis指令,显示给定关键字的简短描述信息;

-P:指定内容时使用分页程序;

-M:指定man手册搜索的路径。

实例:man sleep

Man 3 sleep

六 请罗列Linux发行版的基础目录名称命名法则及功用规定

/ :根目录,所有的目录都挂载在根目录下

/boot目录:系统启动目录,存放着内核启动文件 ,启动加载器 boot loader。开机设置相关文件grub

/root : 是root用户的家目录

/home:是普通用户的家目录

/bin: 包含基本的用户命令 可被所有用户使用

/sbin : 包含系统管理命令需要root权限来运行

/etc: 配置文件目录

/dev: 设备文件目录任何设备与接口设备都是以文件的形式存放在此目录,通过访问目录下的文件,就等于访问某个设备,这就相当于是设备的入口

/lib:系统库文件家目录

/lib64:专用于x86_64 系统上的共享库文件存放位置

/usr:系统安装完成软件的默认安装目录这个是系统存放程序的目录

/var:系统配置文件目录常态性变动的文件如log文件

/opt:第三方软件安装目录

/mnt:临时挂载目录

/sys:属于虚拟文件系统

/proc:系统主进程目录 系统环境变量 属于虚拟文件系统,内存中的数据,如内核、程序进程、外部设备的状态,网络状态等,处于动态变化中

/tmp :临时存放目录

文件类型:

红色 (软件包)
绿色 (可执行文件)
黑色 普通文件
蓝色 目录文件
亮蓝色 链接文件

]]>
/101305/feed 0
友情链接:万达直属QQ  万达主管QQ  万达直属QQ  万达主管  万达娱乐  万达娱乐招商  万达主管QQ  万达招商QQ  万达娱乐招商QQ  万达娱乐直属QQ