vsftpd主动模式:数据端口是20,连接端口是21
vsftpd被动模式:数据端口是大于1024,连接端口是21
ssh指纹存在客户端那边,密钥是客户端产生,然后传递给服务器
客户端访问smb是怎么访问的?
点击连接到服务器smb://192.168.1.250
nfs开机自动挂载的类型是nfs,有ip地址挂载的一定是nfs类型的挂载
httpd实现在浏览器输入www.uplook.com/logs会有对应的网页出现
Alias /logs /var/www/test
重启服务
vim /etc/hosts
ip 对应的www.uplook.com/logs
一个网卡对应一个虚拟主机
<VirtualHost *:80>
ip:端口
动态:填表会提交表的信息,会和用户一个交互的过程
cgi-bin支持脚本
学习源码包安装
下载老师的software-httpd下载下来
cat 出来的是乱码
file 出来的是信息
利用cp拷贝并改名
tar -cf -c是创建,f是文件
-x是解压
tar xf(减号可以省略)
-C改变至目录
tar xf httpd-2.2.9.tar.gz -C/usr/local/src
cd /usr/local/src
ll
cd 进去
要用的就是configure
做编译安装:编译安装的三部曲,编译三部曲
vim configure
编译安装/源码安装/翻译安装
1.编译环境 需要编译器gcc
源码安装的优点是可定制性强
MPM={进程/线程/event}
rpm -qa | gcc检测有没有gcc
若没有gcc
./configure--prefix=/usr/local/apache软件包的安装目录制定在这个目录下
就会提示error
yum install gcc -y
安装完gcc后再去执行./configure --prefix=/usr/local/apache
a.指定安装路径
b.启用或禁用某项功能
c.和其他软件关联
d.检查安装环境,例如是否有编译器,是否满足软件的依赖需要
若以后编译gnix就写这个目录:/usr/local/ngix
在/usr/local/local/src/httpd2.最终生成Makefile这个文件
若编译失败,就执行make clean 清除掉已经编译产生的*.o目录文件,再重新编译
第二部:
make回车 意思是按Makefile文件编译 -j 2 指定两颗cpu编译
编译完了就会自动离开目录
make install安装
mpm是工作模式,默认用的是prefork进程模式
/usr/local/apache/htdocs编译安装的文档目录
/usr/local/apache/error错误日志
此时已经安装好了,去找他
第三部:
cd /usr/local/apache
有bin命令目录,
cd /usr/local/apache/conf
想提供一个注意怎么做?
cd ..
cd htdocs进入写html的目录
不受systemctl控制
要用这个:
cd bin
apachectl start启动服务
systemctl stop httpd
./apachectl start
rpm装的
编译装的
两个80端口,只能运行一个,先停掉一个httpd,再开启一个./apachectl start
tar czvf test2dir.gz testdir压缩(会保留原来的文件)
tar xzvf test2dir.gz解压(会保留原来的压缩包)
开始学习shell(6天):
考点:
1.Shell是什么,有什么功能,有哪几种类型,有什么特性?
答:shell就是一个命令解释器,负责人与计算机交互的功能
是一种程序设计语言,由变量、关键字、各种控制语句构成
是一种解释性语言:shell/perl/python/java
复杂科学运算、交叉平台不适合用shell
管理、维护系统编程可以用shell
当前系统中支持哪些shell(shell的类型)
cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
usr是软链接,不用管
注意:各种脚本内凡是/bin/sh表示使用默认的shell
一般情况下:
linux系统默认使用的是/bin/bash
unix系统默认使用的是/bin/ksh
centos主流的shell类型是/bin/bash
查看当前使用的shell是什么:echo $SHELL
chsh -s /bin/ksh 更改shell永久更改当前的shell set
前提要有ksh这个命令,没有的话就装:yum install ksh -y
临时更改就用ksh,exit是退出
bash的特性:
①支持历史记录、命令记忆功能
history 查看历史记录 vim ~/.bash_history
最多1000条
②!747直接执行历史第747条记录
alt . 上面命令的最右边的参数
!sys 执行理事记录中最新以sys开头的命令
上下方向键可以翻动历史记录
history -c删除历史命令清除历史命令,还有文件的存在echo>~/.bash_history
历史记录的条数:
echo $HISTSIZE默认为1000条
vim /etc/profile进入HISTSIZE配置文件
/HISTSIZE搜索得到条数,可以改
命令和文件补全纠错功能tab
支持快捷键:
ctrl+l,a,e,u,k(和u是一对),c,d
别名alias
支持定义环境变量:例如ls的高亮效果
进程的前后操作:
一个程序怎么在前台打开:直接输入程序名;
在后台打开:程序名 &
通配符:
*所有
?匹配任意一个字符
{}1..4表示1~4
[]匹配一个字符
ls a[1-3].txt
ls a[!1-3].txt也是和?一样占了一个位置,!要放在中括号里面
(cd /root;touch aa.txt)可以开启子shell:在shell环境中在开启一个shell,新开启的被称为子shell,而原来的shell称为父shell,子shell看不到,执行完之后就关了子shell
管道 输出输入重定向
|
>
>>
<
<<
0 1 2 &>>
$取变量的值
&后台运行
;命令的分隔符,两边命令互不干扰
&&逻辑与 ||逻辑或 \n \t
\r要与-ne一起用
echo -e"nihao\tlitao"使用\t,\n之前要加-e
题目:创建tom用户,若存在就不创建,要求运用逻辑或:
id tom || useradd tom
题目:创建一个目录/bb,然后在目录里面创建一个文件test.txt,提示,可以利用逻辑与先判断那个目录存不存在,然后利用或
ls /bb && touch/bb/test.txt || mkdir /bb;touch /bb/test.txt
命令的引用
‘’ 强引 能够屏蔽除了自己以外的所有特殊字符
“” 弱引 能够屏蔽大部分特殊字符,屏蔽不了$和·
·· 反引号 使用的是命令执行结果
echo “date”
[root@server testdir]# echo "todayis `date`"
today is 2017年 12月 11日 星期一 14:50:27 CST题目:vim 由那个软件包提供?
题目:查询vim是由哪个软件包提供的?
rpm -qf·which vim·
哈哈,rpm -qf是可以通过命令的路径来查看那个命令是由哪个软件包安装的
$()和反引号的区别是:前者可以嵌套,后者不能嵌套
2.Shell脚本创建,运行方式(执行方法),排错?
脚本的创建:
由文本文件构成 解释型语言
脚本:命令的堆砌、加上流程控制语句
把平时在终端上执行的非交互式命令一次性写到一个文本文件里面,然后给一个命令解释器。
交互式命令:fdisk vim man等等
非交互式命令:ls cd touch等等
创建一个shell脚本:
组成shell的元素:
①脚本的名字,以.sh为结尾
vim one.sh
②制定一个命令解释器,写注释(作者、版本、创建时间、更新时间、脚本的功能)
除了第一行#!之外的全部以#开头的全部都是注释行
#!/bin/bash -->用来指定脚本中的命令使用的解析环境是什么
perl:#!/usr/bin/perl
python:#!/usr/bin/python
③命令、流程控制语句等 要执行的命令
创建一个简单的shell脚本
vim one.sh保存退出
执行脚本:
bash one.sh
sh one.sh
. one.sh
加上执行权限之后:绝对路径脚本名即可
3.Shell变量?
变量不能以数字开头啊
变量的分类:自定义变量,环境变量,位置变量,特殊变量,预定于变量
num=100;touch ${num}haha防止歧义
变量的范围是只在当前的shell中有效
进入子shell的话用bash回车,返回的话用exit回车
unset是清除变量的值
环境变量:用来指定操作系统运行环境的一些参数,在父shell里面设置的变量在子shell里面生效的话,说明这个变量是环境变量,我们可以把拥有继承性的变量称为环境变量
查看系统的环境变量env或env | grep litao
将自定义变量变为系统的环境变量export 变量名:export litao=66666可以覆盖之前定义的变量,在子shell里面可以引用父shell定义的环境变量,在子shell里面创建的export环境变量在父shell里面不能引用
echo $PS1一级提示符[\u@\h \W]\$,可以更改^@^
echo $PS2二级提示符>
cat > a.txt << ok(此处写什么无所谓,只是开头和结尾的呼应)
>sdfa
>dfasfa
>ok回车就是写完了,这是非交互式的,可以写在脚本里面
位置变量:
[root@server scripts]# echo$PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
删除 yum remove 名子
PATH=$PATH:/usr/local/apache/bin临时生效,增加其他命令的目录,以便于可以直接使用命令
bc是计算器scale=2精确到两位小数,默认整除,ctrl+d是退出
2^15=32768
RANDOM产生随机数0~32768
原来RANDOM随机数是这样得来的,求余有规律,求余%5就是0~4,求余%3就是0~2,
永久生效,写到配置文件
echo $((7+8+8+7+9+11))可以计算,一个小括号是命令,两个小括号是计算
产生随机数0~4:
echo $((RANDOM%5)) 或 echo $[RANDOM%5]
产生随机数1~5:
echo $((RANDOM%5+1)) 或 echo $[RANDOM%5+1]
4个环境变量配置文件 开机自动读取配置文件内容
/etc/profile
/etc/bashrc
~/.bashrc别名
~/.bash_profile是修改umask的
适用范围
/etc 对所有用户生效
~ 对当前用户生效
登陆shell的类型
登陆shell 读4个环境变量的配置 输入用户名就是登陆