Linux系统安装
1.准备软件
1)iso安装光盘
2)vmware虚拟机
2.程序包
1)配置ip地址
2)取消桌面包
3)安装开发工具包
3.第一次进入系统时
1)关闭两道防火墙(5秒倒计时)
4.进了系统之后
1)ifconfig
查看ip是否配置
2)iptables -L
查看第一道防火墙是否关闭
3)sestatus
查看第二道防火墙是否关闭
4)init 0
关机
5)init 6
重启
5.安装完系统之后
1)调配内存(256M)
2)制作快照(还原系统)
6.网络边通(win7和linux)
1)网卡模式要一致
vmnet1
2)ip要在现一个段
linux:192.168.20.1
win7:192.168.20.2
7.系统之间通讯(win7和linux)
1)远程操作
putty
2)远程传输
winscp
Linux常用命令
linux常用指令:
-----------------------------------------------------
基础命令
宿主目录
目录结构
文件管理
目录管理
用户管理
别名管理
压缩包管理
网络设置
shell技巧
帮助方法
基础命令:
1.init 0
关机
2.init 6
重启
3.ls
列出当前目录下的文件
4.cd
切换目录
5.pwd
查看当前路径
7.cd -
切换最近使用过的两个目录
8.ctrl+c
中断当前程序
9.ctrl+l(clear)
清屏
根目录下核心目录:
1./mnt
测试目录
2./root
root用户的家目录
3./home
普通用户的家目录
4./tmp
临时目录(比如文件上传时)
5./var
存放软件日志的地方
6./boot
系统启动文件
7./etc
系统默认放置配置文件的地方
8./bin
所有用户都能执行的程序
9./sbin
只有root才能执行的程序
10./usr
用户自己的软件都可以放到这儿来
11./dev
存放硬件设备的地方(/dev/cdrom)
12./media
挂载光盘使用的
挂载光盘:
mount /dev/cdrom /media
文件管理:
1.创建文件
touch file1
2.删除文件
rm -rf file11
3.修改文件名
mv file1 file11
4.查看文件内容
cat file1
5.复制文件
cp file2 file22
6.移动文件
mv file1 file11
7.编辑文件
vi file1
8.批量创建文件
touch file{1..10}
9.查看文件前3行
cat file1 | head -3
10.查看文件后3行
cat file1 | tail -3
11.查找文件
1)find
find / -name httpd.conf
2)updatedb
locate httpd.conf
12.查找文件内容
cat httpd.conf | grep -i listen
目录操作:
1.创建目录
mkdir dir1 dir2 dir3
2.删除目录
rm -rf dir1 dir2
3.重命名目录或移动目录
mv dir1 dir11
4.查看目录
ls
5.递归创建目录
mkdir -p a/b/c/d/e/f/g
6.递归查看目录
tree a
用户管理:
1.添加用户
useradd user2
2.设置密码
passwd user1
3.删除用户
userdel -r user1
4.查看用户
id user1
别名管理:
1.添加别名
alias chttp='cat /etc/httpd/conf/httpd.conf'
2.删除别名
unalias chttp
3.查看别名
alias
zip压缩包:
1.制作
zip -r myshop15.zip myshop15
2.解压
unzip myshop15.zip
3.查看
unzip -l myshop15.zip
gz压缩包:
1.制作
tar czf myshop15.tar.gz myshop15
2.解压
tar xzf myshop15.tar.gz
3.查看
tar tf myshop15.tar.gz
网络设置:
1.查看ip
ifconfig
ifconfig eth0
ifconfig lo
2.临时设置ip
ifconfig eth0 192.168.20.3
3.永久设置ip
vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.20.3
NETMASK=255.255.255.0
shell技巧:
1.tab补全
命令+tab
2.history
查看命令历史
3.!203
调用历史中编号为203的命令
4.!h
调用历史中最后一次以h开头的命令
获取帮助:
ls --help
man ls
iptables防火墙:
1.查看
iptables -L
2.清空
iptables -F
3.保存
service iptables save
selinux防火墙:
1.编辑
vi /etc/selinux/config
SELINUX=disabled
2.重启系统
init 6
Linux启动流程、rpm软件包和用户权限
上次复习:
--------------------------------------------------------
1.基础命令
2.目录结构
3.用户家目录
4.文件管理
5.目录管理
6.用户管理
7.别名管理
8.压缩包
9.网络设置
10.shell技巧
11.防火墙
1)iptables防火墙
2)selinux防火墙
今天内容:
--------------------------------------------------------
1.linux启动流程
2.rpm软件包
3.用户权限
linux启动流程:
1.grub启动引导界面
2.找到linux内核
3.启动init程序
4.执行/etc/rc.d/rc.sysinit脚本
5.执行/etc/rc.d/rc脚本并进入3级别
6.启动以S开头的标记文件
7.启动/etc/rc.d/rc.local
8.进入登录界面
如何设置一个程序开机启动:
1.vi /etc/rc.d/rc.local
service httpd start
linux系统级别:
0 关机
1 单用户模式
2 不用
3 进入3级别,字符系统
4 不用
5 进入5级别,图片系统
6 重启
linux密码破解:
按两下a键,输入一下1,进入单用户模式,并重设密码
yum仓库设置:
1.cd /etc/yum.repos.d
2.rm -rf CentOS-Base.repo
3.vi CentOS-Media.repo
[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///media
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
4.yum安装rpm包
yum -y install mysql*
5.yum卸载rpm包
yum -y remove mysql*
6.yum查看rpm包
yum list
用户权限:
drwxr-x--- 2 root root 4096 Jan 20 19:39 mnt
rwx root对mnt目录具有读、写和执行的权限
r-x root组内其他用户对mnt目录具有读和执行权限
--- other其他所有用户对mnt目录没有任何权限
权限:
r 读
w 写
x 执行
用户:
所有者 user u
所属组 group g
其他用户 other o
u+g+o=a
#目录的rwx
r 查看目录里面的文件(4)
w 在目录里创建或删除文件(2)
x 切换进目录(1)
#文件的rwx
r 查看文件内容
w 在文件里写内容
x 执行该文件(文件不是普通文件,是程序或脚本)
drwxr-x--- 2 root root 4096 Jan 20 19:39 mnt
需求1:让user1对mnt目录具有rwx的权限
chmod o+r,o+w,o+x mnt
-rwxr-x--- 2 root root 4096 Jan 20 19:39 my.sh
需求2:让user1对my.sh文件具有x的权限
chmod o+x my.sh
需求3:让所有用户对my.sh都拥有x权限
chmod a+x my.sh
需求4:让user1对mnt目录具有r权限,让user2对mnt目录具有rx的权限,让user3对mnt目录具有rw的权限,让user4对mnt目录具有rwx的权限
setfacl -m u:user1:r mnt
setfacl -m u:user2:rx mnt
setfacl -m u:user3:rw mnt
setfacl -m u:user4:rwx mnt
acl权限:
1.查看mnt拥有的acl权限
getfacl -m mnt
2.设置mnt的acl权限
setfacl -m u:user1:rwx mnt
3.删除mnt的user1拥有的acl权限
setfacl -x u:user1 mnt
4.删除mnt上所设置过的所有acl权限
setfacl -b mnt/
sudo权限:
1.设置
visudo
%user1 localhost=/usr/sbin/useradd,/usr/sbin/userdel
2.使用
sudo /usr/sbin/useradd user5
sudo /usr/sbin/userdel user5
Linux服务进程和任务计划
上次复习:
----------------------------------------------------
1.启动流程
1)/etc/inittab
2)/etc/rc.d/rc.sysinit
3)/etc/rc.d/rc 3
4)/etc/rc.d/rc.local
2.rpm包管理
1)yum工具
3.用户权限
1)chmod
2)acl
3)sudo
今天内容:
----------------------------------------------------
1.服务进程
2.任务计划
软件安装和调试:
1.安装软件
rpm -ivh httpd-2*
2.修改配置文件
vi /etc/httpd/conf/httpd.conf
Listen 88888
3.启动服务
service httpd restart
4.查看进程
pstree | grep httpd
5.查看端口
netstat -tunpl |grep httpd
6.关闭软件
service httpd stop
7.关闭进程
pkill httpd
top实时观察进程、内存和CPU情况:
1.load average: 0.00, 0.00, 0.00
1分钟、5分钟和15分钟平均负载
2.Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
cpu空闲率为99.7%
3.Mem: 255412k total, 162852k used, 92560k free, 41192k buffers
内存空闲率为92M
uptime命令:
1.服务器工作时间
2.在线用户
3.平均负载
who命令:
1.获取目前在线用户的详细信息
last命令:
1.获取最近系统的重要操作
任务计划:
1.一次性任务计划
at
1)添加
at 18:20
at>init 6
at>ctrl+d
2)查看
atq
3)删除
atrm 2
2.周期性任务计划
crontab
1)添加
crontab -e
00 01 * * 0 /sbin/init 6 #每周日凌晨1点
2)查看
crontab -l
3)删除
crontab -r
#删除所有crontab任务计划
shell脚本:
#备份网站数据的shell脚本
#需求:每周一凌晨3点钟对网站进行备份,备份要求如下:(myshop15)
1).首先对网站进行压缩,压缩模式:myshop15-2016.1.21.tar.gz
2).把压缩文件移动指定目录(/mnt)
3).完成备份的任务计划
第一步:写脚本
cat /root/backup.sh
#!/bin/bash
t=`date +%Y.%m.%d`
f="cartoon-${t}.zip"
d="cartoon"
cd /var/www/html
zip -r $f $d &>/dev/null
mv $f /mnt
第二步:写任务计划
00 03 * * 1 /root/backup.sh
第三步:查看备份文件
ls /mnt
lamp环境编译
上次复习:
-------------------------------------------------
1.服务进程
1)pstree
2)netstat -tunpl
3)top
4)uptime
5)who
6)last
2.计划任务
1)at一次性计划任务
2)crontab周期性计划任务
今天内容:
-------------------------------------------------
lamp环境编译:
1.linux
2.apache
3.mysql
4.php
#环境:通过apache能够找到php来解析php脚本,通过php能够操作mysql数据库
查看内存:
1.free(k|m|g)
查看硬盘:
1.fdisk -l
查看系统挂载表:
1.df -h
linux下源代码(C语言)如何编译:
1.生成编译配置文件(Makefile)
2.开始编译(make)
3.开始安装(make install)
安装httpd-2.2.9.tar.gz源代码:
1) ./configure --prefix=/usr/local/apache
2) make
3) make install
apache服务器配置
上次复习:
--------------------------------------------------
1.检查编译环境(开发工具)
2.检查环境中是否已安装lamp软件
3.安装php依赖包
4.安装apache软件包
5.安装mysql软件包
6.安装php软件包
7.安装php的模块(pdo-mysql)
今天内容:
--------------------------------------------------
web服务器:
1.apache web服务器(并发数比较低,但是稳定性高)
2.nginx web服务器(并发数比较高,但是稳定性不高)
apache web服务器:
1.apache配置文件
2.apache虚拟目录
3.apache服务权限
4.apache虚拟主机
apache配置文件:
1.apache的主目录
ServerRoot "/usr/local/apache2/"
2.apache的服务端口
Listen 80
3.包含php解析器动态模板
LoadModule php5_module modules/libphp5.so
4.网站根目录
DocumentRoot "/usr/local/apache2//htdocs"
5.网站根目录的服务权限
<Directory "/usr/local/apache2//htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Deny from 192.168.20.2
</Directory>
6.修改默认首页
DirectoryIndex index.php index.html
7.错误日志
ErrorLog "logs/error_log"
8.实时观察一个文件的最后10行
tail -f error_log
9.访问日志
CustomLog "logs/access_log" common
10.用apache去执行cgi脚本
ScriptAlias /cgi-bin/ "/usr/local/apache2//cgi-bin/"
11.识别php文件
AddType application/x-httpd-php .php
12.配置虚拟主机
Include etc//extra/httpd-vhosts.conf
apache虚拟目录:
Alias /dvd "/media/CentOS"
<Directory "/media/CentOS">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
客户端:
http://192.168.20.1/dvd
虚拟主机:
www.lampym.com -> myshop15
bbs.lampym.com -> bbs
mysql.lampym.com -> phpmyadmin
设置win7中的域名解析表:
C:WindowsSystem32driversetchosts:
192.168.20.1 www.y15.com
192.168.20.1 bbs.y15.com
192.168.20.1 mysql.y15.com
在linux下如何设置虚拟主机:
vi /usr/local/apache2/etc/extra/httpd-vhosts.conf
NameVirtualHost 192.168.20.1:80
<VirtualHost 192.168.20.1:80>
DocumentRoot "/usr/local/apache2/htdocs/myshop15"
ServerName www.y15.com
</VirtualHost>
<VirtualHost 192.168.20.1:80>
DocumentRoot "/usr/local/apache2/htdocs/bbs"
ServerName bbs.y15.com
</VirtualHost>
<VirtualHost 192.168.20.1:80>
DocumentRoot "/usr/local/apache2/htdocs/phpmyadmin"
ServerName mysql.y15.com
</VirtualHost>
设置apache主配置文件:
vi /usr/local/apache2/etc/httpd.conf
Include etc//extra/httpd-vhosts.conf
重启apache服务:
/usr/local/apache2/bin/apachectl restart