码迷,mamicode.com
首页 > 系统相关 > 详细

gz___13linux

时间:2016-05-23 13:29:41      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:

目录

一、????简介????3

1、????计算机资源????3

2、????操作系统的种类????3

3、????Linux含义????3

4、????发展史????3

5、????GNU/Linux特点????4

6、????Linux的主要产品????4

7、????Red Hat Linux主要特点????4

8、????Red Hat Linux的版本????4

9、????软件安装????4

二、????安装Linux????5

1、????安装虚拟机软件????5

2、????创建新的虚拟机????5

3、????安装Linux????8

三、????操作系统目录????10

四、????常用Shell????10

1、????什么是shell????10

2、????shell命令语法????11

3、????常用shell命令????11

五、????vi编辑器????12

1、????什么是vi????12

2、????vi操作模式????12

3、????vi命令语法????12

4、????vi快捷键????13

5、????安装vi软件????13

六、????单用户模式破解密码????15

七、????引导系统????16

1、????选择操作系统????16

2、????选择登录界面????16

3、????挂载文件系统????18

八、????用户管理????19

1、????用户和组介绍????19

2、????用户和用户组配置文件????19

3、????用户组管理????21

4、????用户管理????21

5、????密码管理????22

6、????禁止帐号登录????23

7、????添加删除组成员????23

8、????其它相关命令????24

9、????批量添加用户????24

10、????赋予普通用户特殊权限????25

九、????文件管理????26

1、????文件权限????26

2、????查看目录下的文件????26

3、????目录管理????27

4、????文件创建与删除????27

5、????复制和移动????28

6、????文件统计????28

7、????搜索匹配行????28

8、????显示文件内容????29

9、????更改文件权限????29

10、????链接文件????30

11、????查找文件????31

12、????其它相关命令????31

十、????配置网络????32

1、????配置网络信息????32

2、????启动网络设备????32

3、????测试网络是否连接????33

十一、????ftp服务????33

1、????安装ftp????33

2、????启动ftp????33

3、????上传软件????34

十二、????搭建LAMP环境????35

1、????关于安装方式????35

2、????编译安装的步骤????35

3、????卸载之前的软件????35

4、????安装apache????36

5、????安装mysql????37

?

  1. ?
  2. 简介

?

  1. 计算机资源

?

  • 软件资源
  • 硬件资源

?

  1. 操作系统的种类

?

  • Windows
  • Mac
  • Linux
  • Unix

?

  1. Linux含义

?

  • 狭义????:是指linus开发一段内核代码
  • 广义????:是指软件开发商将自己公司的软件打包linux操作系统的发行版

?

  1. 发展史

?

  1. UNIX

    ?

  • 1968年Multics项目
  • 1970年 UNIX诞生
  • 1973年用C语言重写UNIX
  • 1975年 Bell实验室允许大学使用UNIX

?

  1. Linux

?

  • 人物 Linus
  • 1991年 0.0.1版本
  • 1992年 0.0.2版本
  • 1994年 1.0版本
  • 2003年 2.6版本

?

  1. 开源文化

?

  • 人物 Stallman
  • 1983年 GNU计划
  • 1985年 FSF基金会
  • 1990年Emacs、GCC、程序库
  • 1992年 GNU/Linux

?

  1. GNU/Linux特点

?

  • 开放性
  • 多用户
  • 多任务
  • 良好的用户界面
  • 设备独立性

?

  1. Linux的主要产品

?

  • Red Hat Linux
  • SuSE Linux
  • Debian Linux
  • Red Flag Linux
  • Blue Point Linux

?

  1. Red Hat Linux主要特点

?

  • 安装简单
  • 集成大量应用软件
  • 文档丰富
  • 符合UNIX和Linux的标准
  • 市场占有率最高

    ?

  • 操作
  • 软件安装

?

  1. Red Hat Linux的版本

?

  • Red Hat Enterprise Linux:企业版
  • Fedora Core:个人用户版

?

  1. 软件安装

?

  • .rpm????????:二进制软件包
  • .tar.gz????????:源代码包

?

?

?

?

?

?

?

?

  1. 安装Linux

?

  1. 安装虚拟机软件

?

技术分享

?

技术分享

?

  1. 创建新的虚拟机

?

技术分享

?

选择自定义安装

?

技术分享

?

选择在后面安装操作

技术分享

?

?

?

?

?

?

?

选择操作系统类型

?

技术分享

?

选择操作系统的安装位置:

?

技术分享

?

为操作系统分配内存:

?

技术分享

?

?

选择网络连接类型:

技术分享

?

?

?

?

?

?

?

创建新的虚拟磁盘

技术分享

?

设置linux的硬盘空间:

技术分享

?

前期设置基本完毕,只需要指定镜像文件所在位置即可:

?

技术分享

?

选择第一张光盘(镜像)文件:

?

技术分享

技术分享

  1. 安装Linux

?

  1. 选择分区方式:

?

技术分享

?

windows:c d e f

????????f:/server/apache/htdocs/index.php

?

Linux:树状结构

????????/usr/index.txt

?

技术分享

?

linux安装系统时最少要指定两个分区:

?

根分区

swap分区:又称交换分区,当系统内存不够使用时,会自动从swap分区中划分一部份

内存的一到二倍,如果内存小于1G,划分2倍,如果大于等于1G,划分相同的空间即可。

?

技术分享

?

?

?

?

?

  1. 设置防火墙

?

技术分享

?

  1. 设置根用户口令

?

在linux中,有一个超级用户:root,下面选项是设置root的密码

?

技术分享

?

  1. 选择安装软件包

?

技术分享

?

X窗口系统

GNOME 或KDE任选其一

编辑器

图形化互联网

基于文本的互联网

服务器配置工具

万维网服务器

windows文件服务器

FTP服务器

SQL服务器

开发工具

管理工具

?

?

?

  1. 操作系统目录

?

  • /bin????????:系统命令目录
  • /dev????????:设备目录
  • /home????:用户的家????

    每个系统用户在/home都有一个自己的家

    如:zhangsan????????/home/zhangsan

    每个用户登录到系统后会自动登录到自己的家

    root的家在/root文件夹中

  • /lib????????:系统库目录
  • /media ????:多媒体目录
  • /mnt????????:挂载目录
  • /proc????????:系统内存目录
  • /sbin????????:超级用户系统命令目录
  • /tmp????????:系统临时文件目录
  • /var????????:经常变化的文件的目录????数据库日志????网页文件
  • /boot ????:系统启动文件所在目录
  • /etc????????:配置文件目录
  • /lost+found????:失物认领处
  • /opt????????:第三方应用程序所在目录
  • /root????????:超级用户root的家
  • /usr????????:系统应用程序所在目录

?

  1. 常用Shell

?

  1. 什么是shell

?

shell:就是命令集,用户通过输入shell命令调用系统内核完成一些功能

?

技术分享

?

?

?

  1. shell命令语法

?

命令选项????参数

命令

命令选项

命令参数

?

选项前面,通常需要加上: "-"

?

  1. 常用shell命令

?

  • ls????????:查看目录下的所有文件

-l????:查看文件详细信息

-a????:查看所有文件,包括隐藏文件

技术分享

  • pwd????????:查看当前工作路径

    技术分享

  • cd????:切换工作路径

    技术分享

  • clear????:清屏

    技术分享

  • logout????:登出
  • shutdown????????:关机

-h :关机

????????-r :重启

-k :警告

-c:取消关机

  • halt????????:关机
  • reboot????:重启

?

ctrl+alt+f(1---6) ????:字符界面

ctrl+alt+f7????????:图形界面

?

?

?

?

  1. vi编辑器

?

  1. 什么是vi

?

visual interface:可视化接口????命令行里的编辑器

?

  1. vi操作模式

?

  1. 命令模式

    打开文件后,默认处于命令模式,命令模式无法编辑文件

  2. 输入模式

    在命令模式下按:i进入输入模式,便于编辑文件内容

  3. 末行模式

    编辑内容完毕后,按:esc进入到命令模式,再按:进入末行模对文件进行保存

?

技术分享

?

  1. vi命令语法

?

  • vi filename????:编辑指定的文件,如果文件不存在则创建
  • vi + filename????:打开文件时,光标定位在最后一行
  • vi +n filename????:打开文件时,光标定位在第n行
  • vi +/string filename :打开文件时指定关键词,关键词高亮显示
  • vi filenamefilename????:编辑多文件

?

技术分享

技术分享

在编辑多文件时,进入到下一个文件 :n 进入到上一个文件:prev

?

?

?

?

  1. vi快捷键

?

i????在光标前输入

a????在光标后输入

:????进行末行模式

esc????编辑模式进入到命令模式

:w????保存

:q????退出

:x????保存并退出相当于 :wq

:set nu????显示行号

:set nonu取消行号

yy????复制一行

dd????删除一行

p????粘贴

:数字????光标直接定位到指定行

:w!或q! 强制保存或强制退出

/关键词????查找文件中的关键词并高亮显示

?

  1. 安装vi软件

?

rpm :实现软件安装、卸载、升级、查询…..

????q:查询

????a:全部软件包

????e:卸载

????i:安装

????v:显示进度

????h:以‘#‘显示

?

  1. 查询是否已安装vi软件

?

技术分享

?

?

?

?

?

?

?

  1. 如果查到,需要删除

?

技术分享

?

  1. 挂载第二张光盘,查找文件

?

弹出光驱:

?

技术分享

?

选择光盘:

?

技术分享

?

点击ok按钮,可以发现光盘被重新挂载回来,如果没有显示,需要输入:

?

mount /media/cdrecorder

?

技术分享

?

在当前文件夹下,查找要安装的文件

技术分享

?

  1. 安装文件

?

技术分享

?

最后再确认查询一次

?

  1. 单用户模式破解密码

?

启动系统:

技术分享

看到以上菜单,按e进行编辑,可以看到以下界面:

?

技术分享

?

对以上界面的菜单再进行编辑,按e

?

看到下面界面时,将后面内容删除,输入:single,再回车

技术分享

?

看到以下界面:

?

技术分享

最后:按b启动系统

?

技术分享

?

最后:reboot

?

  1. 引导系统

?

  1. 选择操作系统

?

/etc/grub.conf

?

1)查看grub配置文件

?

技术分享

/etc/grub.conf是 ../boot/grub/grub.conf的链接文件

?

  1. 配置文件的详细解释

?

技术分享

?

3)设置grub密码

?

技术分享

?

  1. 选择登录界面

?

/etc/inittab

?

linux有字符界面和图形界面,启动后默认进入到哪一种界面,有/etc/inittab文件决定

?

?

?

?

?

?

?

  1. linux运行级别:

?

技术分享

?

第18行,表示默认进入到图形界面

?

0:关机

1:单用户模式

2:多用户模式,没有NFS

3:多用户模式(字符模式)

4:自定义模式

5:图形模式

6:重启模式

?

  1. 执行对应的文件

?

技术分享

第21行:无论哪种运行级别,启动时都要执行/etc/rc.d/rc.sysinit文件用于初始化

第23行~~29行:每一种运行级别需要执行的文件目录

技术分享

每个目录下都有匿干文件,都是S或K命名:

k:需要关闭的服务

s:需要开启的服务

?

  1. 挂载文件系统

?

/etc/fstab

?

  1. 什么是挂载

?

技术分享

?

将硬盘中某个区域与操作系统目录进行映射就是挂载

?

  1. 查看文件内容

?

技术分享

?

第1列:硬件资源

第2列:挂载点

第3列:挂载类型

第4列:挂载参数

第5列:是否备份

第6列:自检顺序????????0:不自检

?

?

?

?

?

?

?

?

?

  1. 用户管理

    打开之前都要加 vi

?

  1. 用户和组介绍

?

技术分享

?

用户隶属于用户组的

?

  1. 用户和用户组配置文件

?

  1. /etc/group

?

用户组配置文件

?

在这个文件中,有很多行,每一行表示系统中的一个用户组

?

技术分享

?

每一行共分四列

?

第1列:用户组组名

第2列:组密码????????真正的密码存储在/etc/gshadow文件中了

第3列:用户组组ID 用户组的唯一标识

????????0:超级用户的组

????????1~499 :系统用户组

????????500~~~:用户自定义组

第4列:组成员

?

?

?

?

?

?

  1. /etc/gshadow

?

用户组密码配置文件

?

技术分享

第1列:组名

第2列:组密码

第3列:组管理员

第4列:组成员

?

  1. /etc/passwd

?

用户配置文件

?

技术分享

?

第1列:用户名

第2列:用户密码,这里仅有一个"x",真正的密码存储在/etc/gpasswd文件中

第3列:用户ID????????0:超级用户root????????1~~499:系统用户 500~~:自定义用户

第4列:所属组组ID

第5列:备注信息

第6列:用户的主目录(家)当用户登录到系统时就是登录在它的家中

第7列:shell类型

?

  1. /etc/shadow

?

用户密码配置文件

?

技术分享

?

第1列:用户名

第2列:用户密码

?

?

?

  1. 用户组管理

?

  • groupadd组名????????????添加用户组

????????-g????:添加组时指定组ID

?

技术分享

?

  • groupmod组名????????修改用户组信息

????????-n????:修改组名

????????-g????:修改组ID

?

技术分享

?

  • groupdel组名????????????删除用户组

    ?

技术分享

?

注意:如果一个组下有用户,是不能删除这个组的

技术分享

?

  1. 用户管理

?

  • useradd [选项] 用户名????????????添加用户

    ?

添加用户时,如果不指定组,那么,系统会创建一个与用户同名的组,再将用户放入组中

?

????????-g group_name????:添加用户指定所属组

????????-d home????????????:添加用户时指定主目录

技术分享

技术分享

?

?

?

?

?

?

  • usermod [选项] 用户名

????-c comment????:修改备注信息

????-l login_name????:修改用户名

????-d home_dir????:修改用户主目录

????-g group_name????:修改用户的所属组

?

技术分享

?

  • userdel [参数] 用户名

????-r

技术分享

?

测试:

直接用user5登录系统是失败的,没有密码的用户默认是不允许登录的

?

?

  1. 密码管理
  • passwd [选项] 用户????????

????-S????:查看用户密码状态

????-l????:锁定用户的密码(禁止登录)

????-u????:解除用户密码的锁定

????-d????:删除用户密码

?

设置用户密码:

?

技术分享

技术分享

  1. 禁止帐号登录

?

  1. 禁止某个帐号登录

?

/etc/shadow

?

技术分享

?

建议:

passwd -l 用户名

?

2)禁止所有帐号登录

?

/etc/nologin

?

在/etc/下只有创建nologin文件,那么所有帐号就不允许登录

?

技术分享

?

  1. 添加删除组成员
  • gpasswd [选项] 组名

?

????-a user_name????:添加组成员

????-d user_name????:删除组成员

?

技术分享

将user2添加到group1组中

group2是user2的主组

group1是user2的附属组

技术分享

一个用户登录后默认的身份是它的主组身份

可以使用newgrp对它的所属组身份进行切换,前提它必须也属性这个组

当前用户身份切换到哪个组,创建的文件的所属组就是哪个组

  1. 其它相关命令

?

  • su????????:切换用户

    root-----à普通????不需要密码

    普通用户之间????需要密码

    普通----àroot????????需要密码

  • newgrp????:切换组身份
  • whoami????:查看当前登录用户名称
  • id????????:查看用户信息
  • groups????:查看用户组信息

    技术分享

  • chfn [用户名称]????:设置用户备注信息
  • finger [用户名称]????:查看用户备注信息

技术分享

?

  1. 批量添加用户

?

如果想在linux中创建很多帐号,可以将这些信息先放入在一些文本文件中,再批量导入用户系统

?

  • 编辑用户文件

    技术分享

  • 编辑密码文件

    技术分享

    ?

    ?

    ?

  • newusers????

技术分享????????

?

  • pwunconv????将/etc/shadow中的密码写回到 /etc/passwd文件中

技术分享

?

  • chpasswd????将我们编写的密码文件写入到/etc/passwd文件中

技术分享

  • pwconv????将/etc/passwd中的密码写回/etc/shadow

技术分享

?

技术分享

?

  1. 赋予普通用户特殊权限

    ?

  • /etc/sudoers

    在这个文件中,记录了哪些用户可以执行哪些命令

  • visudo

    这个命令用来管理/etc/sudoers文件

  • sudo某指令

?

/etc/sudoers

?

?

技术分享

技术分享

?

whereis:查找命令所在目录

#### 注意下偶尔发现 which也可以

?

?

  1. 文件管理

?

  1. 文件权限

?

读????????????r????????4

写????????????w????????2

运行????????x????????1

?

文件的分为三种权限:

?

拥有者权限

组内用户权限

组外用户权限

?

user.txt????user1????group1

?

  1. 查看目录下的文件

?

ls [选项] [路径或文件名]

?

-l????:查看详细信息

-a????:查看所有文件,包括隐藏文件

?

技术分享

?

第1列:文件权限

  • ---????????????---????????????---

类型????拥有者权限????所属组权限????组外用户权限

第2列:文件节点数

第3列:文件拥有者

第4列:文件所属组

第5列:文件大小

第6列:文件最后修改时间

第7列:文件名

?

  1. 目录管理

?

  • mkdir目录名????????创建目录

-p????:递归创建

-m????:创建目录时指定权限

技术分享

技术分享

技术分享

?

  • rmdir目录名????????删除目录(只能删除空目录)

-p????:递归删除

技术分享

?

  1. 文件创建与删除

?

  • touch 文件名????????创建文件

    技术分享

    ?

  • rm文件名????????删除文件

    -r????:递归删除(用于删除文件夹)

    -f????:关闭确认

    技术分享

    技术分享

?

?

?

  1. 复制和移动

?

  • cp [选项] <源文件路径><目标文件路径>????????复制文件

    -R????:递归复制

    -p????:复制过程中保持文件原有属性

    -v????:显示复制过程

    技术分享

  • mv [选项] [源文件或目录] <目标文件或目录>????剪切文件

-v????:显示过程

技术分享

?

????????同时,mv也可以实现重命名的功能

?

技术分享

?

  1. 文件统计

?

  • wc [选项] <文件列表>????????统计文件内容

?

-c????:统计字符数

-l????????:统计行数

-w????:统计单词数

?

技术分享

?

  1. 搜索匹配行

?

  • grep [选项] <‘字符串‘><源文件>

?

-n????:显示行号

-c????:共匹配多少行

-i????????:忽略大小写

?

技术分享

?

rpm–qa |grep vi

?

  1. 显示文件内容

?

  • cat????:显示文件内容
  • tac????:倒序显示文件内容

?

技术分享

?

  1. 更改文件权限

?

  • chmod????????更改文件权限

????????????-R????:递归改变

  • chown????????更改文件拥有者

    -R ????:递归改变

  • chgrp????????????更改文件所属组

    -R????:递归改变

技术分享

?

改变123文件夹及子文件的权限为777(递归改变)

技术分享

?

  1. 链接文件

?

用途:

  1. 保护源程序
  2. 访问方便

?

  • ln [选项] <源文件或目录><目标文件或目录>

-s :软链接

-d:硬链接

?

软链接:

?

技术分享

?

特点:

更改一个文件会影响会另一个文件

删除源文件会影响链接文件的使用

?

硬链接:

技术分享

硬链接文件在外观上与普通文件一样

修改一个文件会影响另一个文件

源文件删除后,硬链接文件不会受到影响

?

?

  1. 查找文件

?

  • find [目录列表] [匹配参数] [匹配标准]

    ?

-name :以文件名查询

-group????:以文件所属组查询

-user????:以用户名查询

?

技术分享

?

  1. 其它相关命令

?

  • df????????????查看硬盘空间

????????-l:查看本地硬盘

-h:以1024进制显示

-H:以1000进制显示

-T:显示分区类型

-t:只显示指定的分区类型

-x:不显示指定的分区类型

技术分享

  • du????????????查看文件大小

-b:以字节为单位

-k:以千字节为单位

-m:以兆为单位

-h:以1024进制显示

-H:以1000进制显示

-s:显示总计

技术分享

技术分享

?

  • mount ????:挂载设备
  • umount????:卸载设备
  • eject????????:弹出光盘

    ?

技术分享

?

  1. 配置网络

?

  1. 配置网络信息

?

/etc/sysconfig/network-scripts/ifcfg-eth0

?

在这个文件中,保存了第一块网卡的配置信息

????

DEVICE????:设备名

ONBOOT????:当系统启动后是否自动启动网卡设备

BOOTPROTO????:获取IP方式 static:静态获取

IPADDR????:ip地址

NETMASK????:子网掩码

GATEWAY????????:网关

?

自己的centeros5.5 必须要经过 安装Centos5.5安装增强工具彻底成功才行。

看下面 十四 –>2.->具体内容

技术分享

?

  1. 启动网络设备

?

  1. service

?

service networkstart|restart|stop

?

技术分享

  1. ifup、ifdown

?

ifup:启用

ifdown:关闭

?

技术分享

技术分享

?

  1. 测试网络是否连接

特别注意:虚拟机的网卡要设置成 桥接

  • ifconfig????:查看当前网络设备

    技术分享

  • ping

    技术分享

######(不在过程中) 补充查看网关 cat /etc/sysconfig/network

#####在由于我的centos5.5 一开始不能ping通外网 不能ping 网关

所以解决办法:

看下面 十四 –>4.->具体内容 参考对于本人的linux可行!(针对自己的linux发现:

一切完后,还要重启自己的电脑,是windows电脑 不是 linux 虚拟主机)

?

?

  1. ftp服务

默认拒绝root 用户 登陆的!

  1. 安装ftp

    ?

  • 服务:vsftpd
  • 位置:光盘1
  • 软件:vftpd-2.0.1-5.i386.rpm
  • 配置:/etc/vsftpd/vsftpd.conf
  • 端口:21

Setup 进入配置 ftp选中即可

  1. 启动ftp

    记得每次上传文件都要 启动ftp 服务

Service vsftpd status

技术分享

关闭对应的防火墙:

技术分享

  1. 上传软件

?

软件(1)

技术分享

?

软件(2)

技术分享

?

技术分享

?

将上传的软件放在/root目录下

?

技术分享

?

?

  1. 搭建LAMP环境

?

  1. 关于安装方式

?

1).rpm????????二进制软件包

2).tar.gz????????源代码软件包

?

  1. 编译安装的步骤

?

1)configure????????配置????????????--prefix=/指定安装路径

2)make????????????生成

3)make install????安装

?

  1. 卸载之前的软件

?

因为在linux中,默认安装了apache、mysql、php软件,它们都是以rpm包格式安装,所以我们需要先将这些软件删除才可以继续安装我们现在的源代码包。

?

技术分享

技术分享

技术分享

技术分享

rpm -e httpd –nodeps

强制删除

?

查看系统是否已安装GCC

技术分享

?

  1. 安装apache

?

  1. 解压apache软件,并进入到解压之后的文件夹

    tar -zxf httpd-2.2.11.tar.gz

技术分享

?

x : 从 tar 包中把文件提取出来
z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
v : 显示详细信息
f : xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz

?

?

  1. configure

?

./configure --prefix=/usr/local/apache --enable-so

?

技术分享

?

  1. make

?

make

?

技术分享

?

  1. make install

?

技术分享

?

make install

?

  1. 开启apache服务,访问测试

?

开启服务:/usr/local/apache/bin/apachectlstart|stop|restart

?

在/usr/local/apache/htdocs/创建test.html文件

?

打开浏览器:

localhost/test.html

?

?

?

  1. 安装mysql

?

  1. 解压mysql

?

技术分享

  1. 将解压出来的文件夹放入在/usr/local/下,并重命名为mysql,并进入

cp -Rp mysql-standard-5.0.27-linux-i686-glibc23 /usr/local/mysql

技术分享 ????

cd /usr /local/mysql

?

添加mysql用户名和用户组

userdel -r mysql

技术分享

groupadd mysql

useradd -g mysql mysql

  1. 初始化mysql数据库

?

技术分享

scripts/mysql_install_db --user=mysql

?

可以再次查看mysql/data/mysql下

?

技术分享

?

  1. 设置相关权限

这个软件的整体的权限配置

技术分享

?

chown -R root .

chown -R mysql data #####chown -R mysql /usr/local/mysql/data

chgrp -R mysql .

?

netstat -netup

  1. 启动mysql服务

bin/mysqld_safe --user=mysql &

技术分享

?

  1. 测试服务运行

?

技术分享

?

  1. 安装php

?

  1. 解压文件,并进入到文件夹中

?

技术分享

?

  1. configure

?

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql

?

会遇到:

error:?xml2-config?not?found.?Please?check?your?libxml2?installation.

解决办法 :十四_>3.->如下内容

技术分享

?

  1. make

?

?

  1. make install

?

?

  1. 整合LAMP环境

?

  1. 打开apache配置文件,添加AddType

?

技术分享

?

指定解析的php文件类型

?

  1. 重启apache,创建php文件用于测试

/usr/local/apache/bin/apachectl 如果在bin目录中运行 就是./apachectl

技术分享

?

看到以上界面说明可以解析php程序

?

  1. 创建php配置文件

?

技术分享

?

通过上图可以看出,并没有在/usr/local/php/lib下加载到php的配置文件,所以我们需要去找到php配置文件再复制过来

?

从软件包中查找php.ini-dist,然后复制过来

?

技术分享

?

然后,重启apache,再重新刷新页面,可以看到,正确加载到php配置文件了

?

技术分享

?

  1. 创建session路径

?

打开php配置文件,配置session保存路径

技术分享

?

查看session保存路径

技术分享

?

  1. 创建数据库操作案例

?

创建数据表:

?

技术分享

?

创建php程序:

?

技术分享

?

运行结果:

?

技术分享

  1. 配置mysql、apache开机启动

?

打开 /etc/rc.local,linux系统每次启动后都会自动执行这个文件,在文件中,加入以下两行内容:

?

技术分享

?

  1. 配置apache、mysql管理命令

?

Apache

?

ln -s /usr/local/apache/bin/apachectl /sbin/apache

技术分享

?

Mysql

ln -s /usr/local/mysql/support-files/mysql.server /sbin/mysql

技术分享

?

十三、ssh服务

?

  1. 安装ssh服务

?

  • 服务:sshd
  • 位置:光盘2
  • 软件:openssh-server-3.9p1-8.RHEL4.1
  • 配置:/etc/ssh/sshd_config
  • 端口:22

?

  1. 启动ssh服务

?

技术分享

?

?

?

  1. 使用ssh客户端

?

技术分享

?

?

登录时,指定用户名

?

技术分享

?

  1. ssh命令

?

  • ssh主机

  • ssh用户@主机

    技术分享

  • ssh主机–l 用户名–p 端口

?

?

  • scp

    ?

????scp本地文件远程文件????????上传

?

????scp远程文件本地文件????????下载

?

????scp–r文件夹文件夹????????递归上传或下载

?

????scp–P 端口文件文件????????指定端口

?

技术分享

?

?

?

  1. 补充

?

  1. Linux下which、whereis、locate、find 命令的区别。

?

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索。这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用。

which 查看可执行文件的位置

whereis 查看文件的位置

locate 配 合数据库查看文件位置

find 实际搜寻硬盘查询文件名称

?

  1. which

语法:

[root@redhat ~]# which 可执行文件名称

例如:

[root@redhat ~]# which passwd

/usr/bin/passwd

which是通过 PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件

?

  1. whereis

语法:

[root@redhat ~]# whereis [-bmsu] 文件或者目录名称

参数说 明:

-b : 只找二进制文件

-m: 只找在说明文件manual路径下的文件

-s : 只找source源文件

-u : 没有说明文档的文件

例如:

[root@redhat ~]# whereis passwd

passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

将和passwd文件相关的文件都查找出来

?

[root@redhat ~]# whereis -b passwd

passwd: /usr/bin/passwd /etc/passwd

只将二进制文件 查找出来

?

和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。

但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

?

  1. locate

语法:

[root@redhat ~]# locate 文件或者目录名称

例 如:

[root@redhat ~]# locate passwd

/home/weblogic/bea/user_projects/domains/zhanggongzhe112/myserver/stage/_appsdir_DB_war/DB.war/jsp/as/user/passwd.jsp

/home/weblogic/bea/user_projects/domains/zhanggongzhe112/myserver/stage/_appsdir_admin_war/admin.war/jsp/platform/passwd.jsp

/lib/security/pam_unix_passwd.so

/lib/security/pam_passwdqc.so

/usr/include/rpcsvc/yppasswd.x

/usr/include/rpcsvc/yppasswd.h

/usr/lib/perl5/5.8.5/i386-linux-thread-multi/rpcsvc/yppasswd.ph

/usr/lib/kde3/kded_kpasswdserver.la

/usr/lib/kde3/kded_kpasswdserver.so

/usr/lib/ruby/1.8/webrick/httpauth/htpasswd.rb

/usr/bin/vncpasswd

/usr/bin/userpasswd

/usr/bin/yppasswd

…………

?

  1. find

语法:

[root@redhat ~]# find 路径 参数

参 数说明:

时间查找参数:

-atime n :将n*24小时内存取过的的文件列出来

-ctime n :将n*24小时内改变、新增的文件或者目录列出来

-mtime n :将n*24小时内修改过的文件或者目录列出来

-newer file :把比file还要新的文件列出来

名称查找参数:

-gid n :寻找群组ID为n的文件

-group name :寻找群组名称为name的文件

-uid n :寻找拥有者ID为n的文件

-user name :寻找用户者名称为name的文件

-name file :寻找文件名为file的文件(可以使用通配符)

例 如:

[root@redhat ~]# find / -name zgz

/home/zgz

/home/zgz/zgz

/home/weblogic/bea/user_projects/domains/zgz

/home/oracle/product/10g/cfgtoollogs/dbca/zgz

/home/oracle/product/10g/cfgtoollogs/emca/zgz

/home/oracle/oradata/zgz

?

[root@redhat ~]# find / -name ‘*zgz*‘

/home/zgz

/home/zgz/zgz1

/home/zgz/zgzdirzgz

/home/zgz/zgz

/home/zgz/zgzdir

/home/weblogic/bea/user_projects/domains/zgz

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00006

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00002

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00004

/home/weblogic/bea/user_projects/domains/zgz/zgz.log

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00008

/home/weblogic/bea/user_projects/domains/zgz/zgz.log00005

?

当我们用whereis和locate无法查找到我们需要的文件时,可以使用find,但是find是在硬盘上遍历查 找,因此非常消耗硬盘的资源,而且效率也非常低,因此建议大家优先使用whereis和locate。

locate 是在数据库里查找,数据库大至每天更新一次。

whereis 可以找到可执行命令和man page

find 就是根据条件查找文件。

which 可以找到可执行文件和别名(alias)

?

  1. LAMP 配置遇到的各种问题:

以下可以参考,都可以解决遇到的问题,说是参考,因为里面涉及的路径或文件稍微不同!

  1. Address already in use: make_sock: could not bind to address 0.0.0.0:80

版权声明:本文为博主原创文章,未经博主允许不得转载。

Redhat64位服务器重启后出现该问题,研究了一下午,发现解决办法:

问题说明80端口被占用,用netstat -nlp |grep :80命令看看有什么进程占用了80端口,发现是httpd进程。killall -9 httpd杀掉所有的httpd进程后,用service httpd start命令重启apache服务器,发现现在能够正常重启,不会出现上述问题,但是,服务器上的网站还是打不开。继续远程用telnet ******(IP) :80看看服务器的80端口是否开启,结果没启动。检查了一系列东西,最后发现是防火墙的问题,service iptables stop关闭防火墙后,远程测试能够正常访问服务器。但是问题又来了,访问的不是预想的网站,而是服务器上的/var/www/html文件夹。检查apache的conf文件发现该文件根本就没起作用。这时候我猜应该服务器上安装有多余一个apache。于是我用find命令查找后发现得去是还有一个conf文件。这回我弄懂了,service httpd start命令启动的不是我预想的apache,而是另外一个。所以我用killall -9 httpd杀掉所有的httpd进程后,在apache的bin目录下找到apachectl 用他启动我们制定的apache服务器。最后测试,好使了。

Linux中软件是一个头疼问题。同样的软件可以装很多次。

?

  1. 5步骤 可以解决 Oracle VirtualBox 安装增强工具包:"building the main guest additions module 失败" 原因及解决方法

Centos5.5安装增强工具


1.#yum update?----这一步 不可以省了! 还有说主要是升级内核 yum update kernel 就行了,但是我没有尝试!

把系统的所有软件升级到最新版本。

2.#yum install gcc

安装编译系统

3.#yum install kernel-devel

安装外置核心模块。

4.#reboot

?重启以使所有的升级或安装生效。

5.#sh ./VBoxLinuxAdditions.run

执行此文件

  1. error:?xml2-config?not?found.?Please?check?your?libxml2?installation.

重装mysql+apache+php,configure php的时候得到错误信息

shell#./configure --with-mysql=/usr/lib/mysql --with-apxs2=/usr/local/apache/bin/apxs --prefix=/usr/local/php

configure: error: xml2-config not found. Please check your libxml2 installation.

错误原因,xml2-config这个文件没找到。

/*原因可能出在我这次安装redhat,有很多东西没选上,所以出此问题。*/

根据错误提示,安装libxml2。RHEL_5.2的安装光盘上提供了很多rpm包,我的是dvd光盘,位置在/media/CentOS_5.5_Final/CentOS

cd /media/CentOS_5.5_Final/CentOS

ls *libxml*

?

[root@localhost Server]# ls *libxml*

libxml2-2.6.26-2.1.2.8.i386.rpm libxml2-python-2.6.26-2.1.2.8.i386.rpm

libxml2-devel-2.6.26-2.1.2.8.i386.rpm perl-libxml-perl-0.08-1.2.1.noarch.rpm

[root@localhost Server]# rpm -ivh libxml2-devel-2.6.26-2.1.2.8.i386.rpm

warning: libxml2-devel-2.6.26-2.1.2.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

error: Failed dependencies:

zlib-devel is needed by libxml2-devel-2.6.26-2.1.2.1.i386

[root@localhost Server]# ls *zlib-devel*

zlib-devel-1.2.3-3.i386.rpm

[root@localhost Server]# rpm -ivh zlib-devel-1.2.3-3.i386.rpm

warning: zlib-devel-1.2.3-3.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing... ########################################### [100%]

1:zlib-devel ########################################### [100%]

[root@localhost Server]# rpm -ivh libxml2-devel-2.6.26-2.1.2.8.i386.rpm

warning: libxml2-devel-2.6.26-2.1.2.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing... ########################################### [100%]

1:libxml2-devel ########################################### [100%]

[root@localhost Server]#

好了,没有问题了,

?

  1. CentOS虚拟机设置访问外网

实践内容及目的:

1、使用网桥模式,将多台linux虚拟机桥接在一起。(如果有实体主机,原理一样。)

2、配制网络,使虚拟机和主机,虚拟机和虚拟机之间能够网络互通。

3、虚拟机可以访问外网。(如能ping 通www.baidu.com)

? ?

需要设置的参数:

主机ip地址:192.168.1.101 (这个自己将这个ip配制死了,不会由dhcp动态分配,在下面的操作,这步已经默认做好。)

虚拟机1与虚拟机2通过网桥连接,并和主机设置成同一个网段以便主机,虚拟机之间都可以相互通信

虚拟机1IP:192.168.1.11

虚拟机2IP:192.168.1.22

网关地址:192.168.1.1(这是路由器地址,通过设置主机与虚拟机的网关ip,进而可以访问外网)

技术分享

? ?

一、环境准备:

在virtualbox虚拟机管理器中,安装了一个redhat操作系统"Red_hat_32_vt"(这是以前安装了)。

今天先克隆了一台一模一样的虚拟机,并命名为"Red_hat_Second"(本想将前面那台虚拟机改成Red_hat_First,但改不了)

技术分享

技术分享

备注:1、这里是用虚拟机来模拟真实的服务器。在学习网络知识及linux系统知识,虚拟机和真实物理主机基本没有区别。

? ? ? ? ? ?2、用vmware,或者kvm安装虚拟机也是一样可以的。

? ? ? ? ? ?3、物理主机(windows)系统中的ip是192.168.1.101

? ? ? ? ? ?4、路由器的ip是192.168.1.1 这里的路由器就是一个内外网连接的网关。

? ?

二、设置桥接模式

在virtual box和vmware中这一步很简单。kvm中不太一样。但原理是一样的。

技术分享

三、设置网络

1、查看网络配制

刚刚安装好的虚拟机,里面还是原始的网络配制。只有一个回环网卡。

通过ifconifg命令可以查看到。

技术分享

? ?

2、添加网卡

从上面看到只有回环网卡,现在需要添加一块网卡来进行后续的网络配制和操作。

如果不添加网卡并配制好网络,会发现根本就不能和物理主机通信,

技术分享技术分享

? ?

可以通过命令行的方式来添加一块网卡:

# 命令行添加一块网卡,并设置其ip为192.168.1.22

ifconfig eth0 192.168.1.22 netmask 192.168.1.255

技术分享

技术分享

但是命令行添加的,只是临时添加,换个终端环境或者下次重启服务器,这个设置就会失效。所以现在考虑从

配制中添加,永久添加。

为了使后面的配制不受干扰,先将前面命令行方式添加的网卡关掉。

ifconfig eth0 down

? ?

通过添加配制来添加网卡:

进入 /etc/sysconfig/network-scripts/ 网络配制目录

技术分享

技术分享

以 ?ifcfg- ?开关配制文件就是网卡所对应的网络配制,可以通过类似方式添加新的网卡eth0

cp ifcfg-lo ifcfg-eth0

先看一下回环网卡的配制配制吧。我将部分信息用红色字标注了下。

技术分享

技术分享

依葫芦画瓢,将ifcfg-eth0改成我们想要的配制成我们需要的样子,

技术分享技术分享

? ?

3、测试内部网络

重启网络:

service network restart

技术分享技术分享

? ?

再将另一台虚拟机以同样的方式配制,另一台虚拟机的ip是192.168.1.11

好,现在,主机,两台虚拟机都处于同一网段,那他们应该是可以相互通信了。ping测试验证一下:

技术分享

技术分享

4、设置外部网络

通过前面的设置,主机,两台虚拟机之间都可以互相两两通信了。但是好像不能访问外网。

ping www.baidu.com

技术分享

技术分享

通过错误信息,可以发现,虚拟机对"www.baidu.com" 这个域名不认识。好的。那就我们来配制一下DNS.

? ?

配制DNS:

DNS怎么配制,先通过windows看一下windows上的dns是怎么配制的,在配制到linux上去就可以了。

我的winddows机器上:

技术分享技术分享

? ?

配制DNS的两种方法:

第一种方法:通过 /etc/resolv.conf dns配制文件来进行配制

进入linux虚拟机

vim /etc/resolv.conf ?

编辑dns配制文件,在后面加上如下红色部分:

技术分享

技术分享

备注:上面两个nameserver,第一个是主dns服务器,第二个务dns服务器。

? ?

第二种方法:在网卡配制文件ifcfg-eth0中,添加dns配制

技术分享

技术分享

注意:在这里添加的话,需要重启网络哦!

? ?

好的,DNS已经配制好了,那么能否ping 通www.baidu.com呢

技术分享

技术分享

发现还是ping 不通。怎么回事呢。

? ?

配制网关:

dns设置对了,还是ping不通www.baidu.com

检查一下,现在是可以ping 通主机,虚拟机,还有网关。而且dns也配制正确,按理说,应该是可以访问外网了啊。

但是还有关键的一步:配制默认网关,没有做好。没有配制好默认网关,怎么和外界通信呢。

好现在就来配制网关:还是有两种方法?

第一种方法:通过命令行进行临时配制:

命令行添加默认网关:

route add defalult gw 192.168.1.1

默认网关,就是找不到对应路由的情况下,就走这条路由(默认网关),这是设置访问外网所必要的设置。

? ?

为了不影响下面的步骤,先将命令行配制好的网关删掉

删除默认网关:

route del default gw 192.168.1.1

? ?

第二种方法:在网卡配制文件中进行永久配制,注意红色标注部分。这个配制完了,需要重启网络。

技术分享

技术分享

service network restart 对于我自己的电脑,在此还要重启windows电脑,而不是linux虚拟主机这台电脑!

技术分享技术分享

? ?

? ?

现在可以ping 通www.baidu.com了,就意味着可以访问外网了。好了,此次实践到此结束。

  1. linux下mysql root密码忘记修改方法

分类: Mysql/postgreSQL

一.MySQL密码的恢复方法之一

如果忘记了MySQL的root密码,可以用以下方法重新设置:

1.切换到root下

su root

2. KILL掉系统里的MySQL进程;

killall -TERM mysqld

3. 用以下命令启动MySQL,以不检查权限的方式启动;

/usr/local/mysql/bin/safe_mysqld --skip-grant-tables &

4. 然后用空密码方式使用root用户登录 MySQL;

/usr/local/mysql/bin/mysql -u root

5. 修改root用户的密码;

mysql> update mysql.user set password=PASSWORD(‘123456‘) where User=‘root‘;

mysql> flush privileges;

mysql> quit

重新启动MySQL,就可以使用新密码登录了。

二. MySQL密码的恢复方法二

有可能你的系统没有 safe_mysqld 程序(ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复

1.切换到root下

su root

2. 停止mysqld;

/etc/init.d/mysql stop

3. 用以下命令启动MySQL,以不检查权限的方式启动;

mysqld --skip-grant-tables &

4. 然后用空密码方式使用root用户登录 MySQL;

mysql -u root

4. 修改root用户的密码为123456(当然,你需要将123456改成你要设置的密码);

mysql> update mysql.user set password=PASSWORD(‘123456‘) where User=‘root‘;

mysql> flush privileges;

mysql> quit

重新启动MySQL

/etc/init.d/mysql restart

就可以使用新密码 123456 登录了。

gz___13linux

标签:

原文地址:http://www.cnblogs.com/yizhinageyuanfang/p/5519463.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!