• Linux 学习记录 20170218


    一、Linux 硬件查看命令

        ----/proc 文件系统是一种内核和内核模块用来向进程(process) 发送信息的机制。我们可以从这个文件里获取到系统的相关信息。

    1.显卡信息
    dmesg | grep -i vga
    lspci | grep -i vga //查看显卡信息
    2.主板信息
    dmidecode | grep -i ‘serrial number’ //查看主板信息,查看主板的序列号
    3.CPU信息
    #通过/proc文件系统
    cat /proc/cpuinfo
    dmesg | grep -i cpu
    #通过查看开机信息
    dmidecode -t processor
    4.硬盘信息
    fdisk -l //分区情况
    df -h //大小情况
    du -h //使用情况
    dmesg | grep sda
    5.内存信息
    cat /proc/meminfo
    dmesg | grep mem
    free -m
    vmstat
    dmldecode | grep -i mem
    6.网卡信息
    dmesg | grep -i eth
    lspci | grep -i eth
    7.鼠标键盘和USB信息
    cat /proc/bus/input/devices 查看键盘和鼠标
    cat /proc/bus/usb/devices 查看USB设备
    cat /proc/interrupts
    8.声卡信息
    lspci | grep -i vga
    dmesg | grep -i vga
    9.其他命令
    lspci (显示外设备信息,如USB,网卡等信息)


    二、Centos7中systemctl命令详解


    三、文件管理命令

    Linux有一个根目录/, 也就是树状结构的最顶端,文件被组织到文件系统(file system)中,通常会成为一个树状(tree)结构。这个树的分叉的最末端都代表一个文件,而这个树的分叉处则是一个目录(directory, 相当于我们在windows界面中看到的文件夹)。

    cat 把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
    cat参数: 查看文件或者将文件输入到其他文件中(类似copy)

    查看某文件 

    cat test.php

    -n 或 –number 由 1 开始对所有输出的行数编号
    -b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
    -s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
    -v 或 –show-nonprinting
    cat例子:

    1
    2
    [root@raykaeso ~]# cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
    [root@raykaeso ~]# cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。

    chattr 改变文件属性。


    chattr参数:
    -R  递归处理,将指定目录下的所有文件及子目录一并处理。
    -v<版本编号>  设置文件或目录版本。
    -V  显示指令执行过程。
    +<属性>  开启文件或目录的该项属性。
    -<属性>  关闭文件或目录的该项属性。
    =<属性>  指定文件或目录的该项属性。
    chattr例子:

    1
    [root@raykaeso ~]# chattr +i nginx.conf #设置nginx.conf 不能进行任何形势的修改

    lsattr 查看文件的第二扩展文件系统属性。
    lsattr参数:
    -E:可显示设备属性的当前值,但这个当前值是从用户设备数据库中获得的,而不是从设备直接获得的。
    -D:显示属性的名称,属性的默认值,描述和用户是否可以修改属性值的标志。
    -R:递归的操作方式。
    -V:显示指令的版本信息。
    -a:列出目录中的所有文件,包括隐藏文件。
    lsattr例子:

    1
    2
    [root@raykaeso ~]# lsattr nginx.conf # 查看nginx.conf  chattr设置的权限
    -------------e- nginx.conf

    chmod 变更文件或目录的权限。
    chmod参数:
    -c或–changes  效果类似”-v”参数,但仅回报更改的部分。
    -f或–quiet或–silent  不显示错误信息。
    -R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
    -v或–verbose  显示指令执行过程。
    –help  在线帮助。
    –reference=<参考文件或目录>  把指定文件或目录的权限全部设成和参考文件或目录的权限相同
    –version  显示版本信息。
    <权限范围>+<权限设置>  开启权限范围的文件或目录的该项权限设置。
    <权限范围>-<权限设置>  关闭权限范围的文件或目录的该项权限设置。
    <权限范围>=<权限设置>  指定权限范围的文件或目录的该项权限设置。
    chmod例子:

    1
    [root@raykaeso ~]# chmod 777 raykaeso.txt #所有人可读/写/执行raykaeso.txt

    touch 改变文件或目录时间。
    touch参数:
    -a或–time=atime或–time=access或–time=use  只更改存取时间。
    -c或–no-create  不建立任何文件。
    -d<时间日期>  使用指定的日期时间,而非现在的时间。
    -f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
    -m或–time=mtime或–time=modify  只更改变动时间。
    -r<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。
    -t<日期时间>  使用指定的日期时间,而非现在的时间。
    –help  在线帮助。
    –version  显示版本信息。

    cp(copy) 复制文件或目录。
    cp参数:
    -a或–archive  此参数的效果和同时指定”-dpR”参数相同。
    -b或–backup  删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串。
    -d或–no-dereference  当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录。
    -f或–force  强行复制文件或目录,不论目标文件或目录是否已存在。
    -i或–interactive  覆盖既有文件之前先询问用户。
    -l或–link  对源文件建立硬连接,而非复制文件。
    -p或–preserve  保留源文件或目录的属性。
    -P或–parents  保留源文件或目录的路径。
    -r  递归处理,将指定目录下的文件与子目录一并处理。
    -R或–recursive  递归处理,将指定目录下的所有文件与子目录一并处理。
    -s或–symbolic-link  对源文件建立符号连接,而非复制文件。
    -S<备份字尾字符串>或–suffix=<备份字尾字符串>  用”-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字尾字符串是符号”~”。
    -u或–update  使用这项参数后只会在源文件的更改时间较目标文件更新时或是 名称相互对应的目标文件并不存在,才复制文件。
    -v或–verbose  显示指令执行过程。
    -V<备份方式>或–version-control=<备份方式>  用”-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这字符串不仅可用”-S”参数变更,当使用”-V”参数指定不同备份方式时,也会产生不同字尾的备份字串。
    -x或–one-file-system  复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不予复制。
    –help  在线帮助。
    –sparse=<使用时机>  设置保存稀疏文件的时机。
    –version  显示版本信息。

    find 查找文件或目录。
    find参数:
    -amin<分钟>  查找在指定时间曾被存取过的文件或目录,单位以分钟计算。
    -anewer<参考文件或目录>  查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录。
    -atime<24小时数>  查找在指定时间曾被存取过的文件或目录,单位以24小时计算。
    -cmin<分钟>  查找在指定时间之时被更改的文件或目录。
    -cnewer<参考文件或目录>  查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。
    -ctime<24小时数>  查找在指定时间之时被更改的文件或目录,单位以24小时计算。
    -daystart  从本日开始计算时间。
    -depth  从指定目录下最深层的子目录开始查找。
    -expty  寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录。
    -exec<执行指令>  假设find指令的回传值为True,就执行该指令。
    -false  将find指令的回传值皆设为False。
    -fls<列表文件>  此参数的效果和指定”-ls”参数类似,但会把结果保存为指定的列表文件。
    -follow  排除符号连接。
    -fprint<列表文件>  此参数的效果和指定”-print”参数类似,但会把结果保存成指定的列表文件。
    -fprint0<列表文件>  此参数的效果和指定”-print0″参数类似,但会把结果保存成指定的列表文件。
    -fprintf<列表文件><输出格式>  此参数的效果和指定”-printf”参数类似,但会把结果保存成指定的列表文件。
    -fstype<文件系统类型>  只寻找该文件系统类型下的文件或目录。
    -gid<群组识别码>  查找符合指定之群组识别码的文件或目录。
    -group<群组名称>  查找符合指定之群组名称的文件或目录。
    -help或–help  在线帮助。
    -ilname<范本样式>  此参数的效果和指定”-lname”参数类似,但忽略字符大小写的差别。
    -iname<范本样式>  此参数的效果和指定”-name”参数类似,但忽略字符大小写的差别。
    -inum<inode编号>  查找符合指定的inode编号的文件或目录。
    -ipath<范本样式>  此参数的效果和指定”-ipath”参数类似,但忽略字符大小写的差别。
    -iregex<范本样式>  此参数的效果和指定”-regexe”参数类似,但忽略字符大小写的差别。
    -links<连接数目>  查找符合指定的硬连接数目的文件或目录。
    -iname<范本样式>  指定字符串作为寻找符号连接的范本样式。
    -ls  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。
    -maxdepth<目录层级>  设置最大目录层级。
    -mindepth<目录层级>  设置最小目录层级。
    -mmin<分钟>  查找在指定时间曾被更改过的文件或目录,单位以分钟计算。
    -mount  此参数的效果和指定”-xdev”相同。
    -mtime<24小时数>  查找在指定时间曾被更改过的文件或目录,单位以24小时计算。
    -name<范本样式>  指定字符串作为寻找文件或目录的范本样式。
    -newer<参考文件或目录>  查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。
    -nogroup  找出不属于本地主机群组识别码的文件或目录。
    -noleaf  不去考虑目录至少需拥有两个硬连接存在。
    -nouser  找出不属于本地主机用户识别码的文件或目录。
    -ok<执行指令>  此参数的效果和指定”-exec”参数类似,但在执行指令之前会先询问用户,若回答”y”或”Y”,则放弃执行指令。
    -path<范本样式>  指定字符串作为寻找目录的范本样式。
    -perm<权限数值>  查找符合指定的权限数值的文件或目录。
    -print  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称之前皆有”./”字符串。
    -print0  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行。
    -printf<输出格式>  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式可以自行指定。
    -prune  不寻找字符串作为寻找文件或目录的范本样式。
    -regex<范本样式>  指定字符串作为寻找文件或目录的范本样式。
    -size<文件大小>  查找符合指定的文件大小的文件。
    -true  将find指令的回传值皆设为True。
    -typ<文件类型>  只寻找符合指定的文件类型的文件。
    -uid<用户识别码>  查找符合指定的用户识别码的文件或目录。
    -used<日数>  查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算。
    -user<拥有者名称>  查找符合指定的拥有者名称的文件或目录。
    -version或–version  显示版本信息。
    -xdev  将范围局限在先行的文件系统中。
    -xtype<文件类型>  此参数的效果和指定”-type”参数类似,差别在于它针对符号连接检查。

    locate 查找文件。
    locate参数:
    -d<数据库文件>或–database=<数据库文件> 设置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文件名为slocate.db,您可使用这个参数另行指定。
    –help  在线帮助。
    –version  显示版本信息。

    rm(remove) 删除文件或目录。
    rm参数:
    -d或–directory  直接把欲删除的目录的硬连接数据删成0,删除该目录。
    -f或–force  强制删除文件或目录。
    -i或–interactive  删除既有文件或目录之前先询问用户。
    -r或-R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
    -v或–verbose  显示指令执行过程。
    –help  在线帮助。
    –version  显示版本信息。

    whereis 查找文件。
    whereis参数:
    -b  只查找二进制文件。
    -B<目录>  只在设置的目录下查找二进制文件。
    -f  不显示文件名前的路径名称。
    -m  只查找说明文件。
    -M<目录>  只在设置的目录下查找说明文件。
    -s  只查找原始代码文件。
    -S<目录>  只在设置的目录下查找原始代码文件。
    -u  查找不包含指定类型的文件。

    which 查找文件。
    which参数:
    -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
    -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
    -w  指定输出时栏位的宽度。
    -V  显示版本信息。


    Linux下FTP服务器的搭建

    分类:Linux 时间:2014年12月21日

    VSFTP(Very Secure FTP)是一种在Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用。特点是小巧轻快,安全易用。并且是一个完全免费开放源码的FTP软件,下面主要介绍下Linux下FTP服务器的搭建。

    VSFTP的软件安装包是: vsftpd-2.2.2-12.el6_5.1.i686.rpm
    查询:[root@FTP ~]# rpm -q vsftpd
    安装:[root@FTP ~]# rpm -ivh vsftpd-2.2.2-12.el6_5.1.i686.rpm或者直接yum install vsftpd
    启动、停止及重启VSFTP的命令: [root@FTP ~]# service vsftpd start/stop/restart

    VSFTP配置文件:
    /etc/vsftpd/vsftpd.conf //主配置文件
    /etc/vsftpd.ftpusers //被禁止登录FTP的用户文件
    /etc/vsftpd.user_list //允许登录FTP的用户文件

    a、将登录后的用户限制在本地家目录下:
    #vi /etc/vsftpd/vsftpd.conf
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list
    新建受限用户的列表文件并加入受限用户名
    [root@FTP ~]# vi /etc/vsftpd.chroot_list
    raykeso

    重启ftp服务
    [root@FTP ~]# service vsftpd restart

    b、/etc/vsftpd/vsftpd.conf 主要参数讲解
    anonymous_enable=YES/no 是否允许匿名用户登录
    anonymous_enable=yes/no 是否允许匿名上传文件
    local_enable= YES/no 是否允许本地用户登录
    write_enable= YES/no 是否允许本地用户上传
    guest_enable=yes/no 是否允许虚拟用户登录;
    local_mask=022 设置本地用户的文件生成掩码为022,默认值为077
    dirmessage_enable= YES 设置切换到目录时显示.message隐含文件的内容
    xferlog_enable= YES 激活上传和下载日志
    connect_from_port_20=YES 启用FTP数据端口连接
    pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下
    userlist_enable= YES 允许vsftpd.user_list文件中的用户访问服务器
    userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器
    listen= YES/no 是否使用独占启动方式(这一项比较重要)
    tcp_wrappers= YES/no 是否使用tcp_wrappers作为主机访问控制方式


    Linux常用命令之grep

    分类:Linux 时间:2015年8月6日

    grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名,搜索的结果被输出到屏幕,不影响原文件内容。Linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

    grep参数:
    -a 不要忽略二进制数据;
    -A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容;
    -b 在显示符合范本样式的那一行之外,并显示该行之前的内容;
    -c 计算符合范本样式的列数;
    -C<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容;
    -d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作;
    -e<范本样式> 指定字符串作为查找文件内容的范本样式;
    -E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式;
    -f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式;
    -F 将范本样式视为固定字符串的列表;
    -G 将范本样式视为普通的表示法来使用;
    -h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称;
    -H 在显示符合范本样式的那一列之前,标示该列的文件名称;
    -i 胡列字符大小写的差别;
    -l 列出文件内容符合指定的范本样式的文件名称;
    -L 列出文件内容不符合指定的范本样式的文件名称;
    -n 在显示符合范本样式的那一列之前,标示出该列的编号;
    -q 不显示任何信息;
    -R/-r 此参数的效果和指定“-d recurse”参数相同,递归查找;
    -s 不显示错误信息;
    -v 反转查找;
    -w 只显示全字符合的列;
    -x 只显示全列符合的列;
    -y 此参数效果跟“-i”相同;
    -o 只输出文件中匹配到的部分。

    grep格式:
    grep match_pattern file_name

    grep例子:

    1
    2
    3
    4
    [root@localhost ~]# grep 'text' ./ -r -n #递归查找当前目录并显示所在行号。
    [root@localhost ~]# grep 'text' raykaeso.sql index.html #在多个文件中查找
    [root@localhost ~]# grep 'text' -v raykaeso.sql #排除匹配文本行,剩下的所有行
    [root@localhost ~]# grep 'text' -c raykaeso.sql #递归查找当前目录并统计出现的次数
     

    Centos7关闭防火墙

    分类:Linux 时间:2015年8月4日

    在centos7之前,我们临时性的完全关闭防火墙的命令:/etc/init.d/iptable stop。centos 7中防火墙是一个非常的强大的功能了,和之前的有些细微的区别。下面亲测centos7下关闭防火墙。

    永久性关闭防火墙:
    1、直接关闭防火墙

    1
    2
    [root@Linux ~]# systemctl stop firewalld.service #停止firewall服务
    [root@Linux ~]# systemctl disable firewalld.service #禁止firewall开机启动

    2、设置 iptables service

    1
    [root@Linux ~]# yum -y install iptables-services

    如果要修改防火墙配置,如增加防火墙端口3306

    1
    [root@Linux ~]# vi /etc/sysconfig/iptables

    增加规则

    1
    [root@Linux ~]# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

    保存退出后

    1
    2
    [root@Linux ~]# systemctl restart iptables.service #重启防火墙使配置生效
    [root@Linux ~]# systemctl enable iptables.service #设置防火墙开机启动



    1
    2
    3
    4
    5
    [root@localhost ~]# yum install php #安装php
    [root@localhost ~]# yum update php #更新php
    [root@localhost ~]# yum list php #列出所有php的程序包
    [root@localhost ~]# yum clean, yum clean all #清除所有
    [root@localhost ~]# yum remove php #删除php

    Linux常用命令之定时任务

    分类:Linux 时间:2015年8月2日

    定时任务的实现,可以让我们把很多重复的,有规律的事情交给机器做。我们就不用苦逼的烦躁做同一件事,这样也让我们做程序的有更多的乐趣和价值。用技术的手段解决常人花时间精力解决的问题。在Linux下实现定时任务主要有两个命令:at、crontab。今天就详细的讲解下这两个常用的Linux命令

    crontab命令被用来提交和管理用户的定时任务。当安装完成Linux系统,会自动启动crond进程。crond进程会每分钟检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
    crontab参数:
    -e:编辑该用户的计时器设置;
    -l:列出该用户的计时器设置;
    -r:删除该用户的计时器设置;
    -u<用户名称>:指定要设定计时器的用户名称。
    crontab的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour day month week command,时间字段都是整数, command:要执行的命令,可以是系统命令,也可以是自己编写的shell脚本文件。 在以上各个字段中,还可以使用以下特殊字符:
    星号(*):代表所有可能的值,全部。
    逗号(,):可以用逗号隔开的值指定一个列表范围。
    中杠(-):可以用整数之间的中杠表示一个整数范围。
    正斜线(/):可以用正斜线指定时间的间隔频率。
    crontab例子:

    1
    2
    3
    30 23 /usr/sbin/httpd restart    #表示每晚的23:30重启apache
    45 5,15,25 /usr/sbin/httpd restart  #表示每月5、15、25日的45重启apache
    23-3//usr/sbin/httpd restart #晚上23点到早上3点之间,每隔一小时重启apache

    at用于在指定时间执行命令
    at参数:
    -f:指定包含具体指令的任务文件;
    -q:指定新任务的队列名称;
    -l:显示待执行任务的列表;
    -d:删除指定的待执行任务;
    -m:任务执行完成后向用户发送E-mail。
    at例子:

    1
    2
    3
    4
    [root@Linux ~]# at now + 1 minutes
    atecho raykaeso
    at<EOT#这个用Ctrl+d
    job 2 at Sat Aug 17:31:00 2015
     

    Linux下Apache虚拟主机配置

    分类:Linux 时间:2015年7月6日

    Linux下Apache虚拟主机的三种配置。这样可以实现一台主机架构多个独立域名网站。其中基于域名的最为常见。性价比也最高。下面PHP程序员雷雪松详细的讲解下Linux下Apache虚拟主机配置的具体步骤。

    1、基于多ip地址的虚拟主机

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Listen 80
    <VirtualHost 12.34.56.78>
    DocumentRoot /home/httpd/html1
    ServerName www.ok1.com
    ErrorLog /usr/local/apache/logs/error1_log
    CustomLog /usr/local/apache/logs/access1_log combined
    </VirtualHost>
    <VirtualHost 87.65.43.21>
    DocumentRoot /home/httpd/html2
    ServerName www.ok2.com
    ErrorLog /usr/local/apache/logs/error2_log
    CustomLog /usr/local/apache/logs/access2_log combined
    </VirtualHost>

    2、基于多IP 和多端口的虚拟主机配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Listen 12.34.56.78:80
    Listen 12.34.56.78:8080
    Listen 87.65.43.21:80
    Listen 87.65.43.21:8080

    <VirtualHost 12.34.56.78:80>
    DocumentRoot /www/example1-80
    ServerName www.example1.com
    </VirtualHost>
    <VirtualHost 12.34.56.78:8080>

    DocumentRoot /www/example1-8080
    ServerName www.example1.com
    </VirtualHost>
    <VirtualHost 87.65.43.21:80>
    DocumentRoot /www/example2-80
    ServerName www.example1.org
    </VirtualHost>
    <VirtualHost 87.65.43.21:8080>
    DocumentRoot /www/example2-8080
    ServerName www.example2.org
    </VirtualHost>

    3、单个IP 地址的服务器上基于域名的虚拟主机配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    # Ensure that Apache listens on port 80
    Listen 80
    # Listen for virtual host requests on all IP addresses
    NameVirtualHost *:80
    <VirtualHost *:80>
    DocumentRoot /www/example1
    ServerName www.example1.com
    ServerAlias example1.com*.example1.com
    # Other directives here
    </VirtualHost>
    <VirtualHost *:80>
    DocumentRoot /www/example2
    ServerName www.example2.org
    # Other directives here
    </VirtualHost>
     

    使用yum安装LAMP

    分类:Linux 时间:2015年1月23日

    刚接触Linux时,新手可以是使用yum安装LAMP(Linux + Apache + MySQL +PHP).这个和windows下安装LAMP下一步一样简单。使用yum安装LAMP的前提准备:
    1、yum update 检查一下系统更新 初次安装可能更新的时间会比较长,请耐心等待。
    2、yum install gcc gcc-c++ ;安装gcc软件编译环境。
    3、yum erase httpd ;卸载系统自带的httpd (apache2.2.3)
    4、yum install zlib-devel libtool ncurses-devel libxml2-devel
    (zlib-devel 安装apache需要,否则出错 .libtool安装mysql时候需要.同时附带了autoconf automake imake 编译mysql 5.1.48时候会出错 需要autoconf重新配置一下)

    接下开始安装各个组件。
    apache
    [root@lamp ~]# yum install httpd httpd-devel
    安装好之后启动apache:/etc/init.d/httpd start

    mysql
    [root@lamp ~]# yum install mysql mysql-server mysql-devel
    启动mysql服务:/etc/init.d/mysqld start

    设置mysql密码:
    直接使用”mysql”进入数据库模式,
    mysql> USE mysql;
    mysql> UPDATE user SET Password=PASSWORD(‘newpassword’) WHERE user=’root';
    mysql> FLUSH PRIVILEGES;
    登陆
    mysql -u root -p
    Enter Password:

    创建一个用户管理数据库
    mysql > create database demo
    mysql >GRANT ALL PRIVILEGES ON demo.* TO ‘guest’@’localhost’ IDENTIFIED BY ‘guest’ WITH GRANT OPTION;
    mysql> UPDATE user SET Password=PASSWORD(‘guest’) WHERE user=’guest';

    设置MySQL字符集,vi /etc/my.cnf
    #MySQL字符集
    default-character-set = utf8
    character_set_server = utf8
    [client]
    default-character-set=utf8

    php
    [root@lamp ~]# yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml
    安装好php之后重启httpd : /etc/init.d/httpd restart

    设置成开机启动:
    chkconfig httpd on
    chkconfig mysqld on

    最后需要安装squid组件
    [root@lamp ~]# yum -y install squid
    整个过程我们不需要修改/etc/httpd/conf/httpd.conf 这就是版本高了的好处~

    附:Linux下Apache虚拟主机配置Apache反向代理实现负载均衡


    Linux下SVN命令大全

    分类:Linux 时间:2015年7月6日

    之前,写过一篇windows下的SVN客户端tortoisesvn管理工具的用法,现在也一样的介绍下在Linux下服务端SVN一些常用的命令。

    1、将文件checkout到本地目录
    svn checkout path(path是服务器上的目录)
    例如:svn checkout svn://192.168.1.1/pro/domain
    简写:svn co
    2、往版本库中添加新的文件
    svn add file
    例如:svn add test.php(添加test.php)
    svn add *.php(添加当前目录下所有的php文件)
    3、将改动的文件提交到版本库
    svn commit -m “LogMessage“ [-N] [–no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
    例如:svn commit -m “add test file for my test“ test.php
    简写:svn ci
    4、加锁/解锁
    svn lock -m “LockMessage“ [–force] PATH
    例如:svn lock -m “lock test file“ test.php
    svn unlock PATH
    5、更新到某个版本
    svn update -r m path
    例如:
    svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
    svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
    svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
    简写:svn up
    6、查看文件或者目录状态
    1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
    【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
    2)svn status -v path(显示文件和子目录状态)
    第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
    注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
    简写:svn st
    7、删除文件
    svn delete path -m “delete test fle“
    例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
    或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种
    简写:svn (del, remove, rm)
    8、查看日志
    svn log path
    例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化
    9、查看文件详细信息
    svn info path
    例如:svn info test.php
    10、比较差异
    svn diff path(将修改的文件与基础版本比较)
    例如:svn diff test.php
    svn diff -r m:n path(对版本m和版本n比较差异)
    例如:svn diff -r 200:201 test.php
    简写:svn di
    11、将两个版本之间的差异合并到当前文件
    svn merge -r m:n path
    例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
    12、SVN 帮助
    svn help
    svn help ci
    ——————————————————————————
    以上是常用命令,下面写几个不经常用的
    ——————————————————————————
    13、版本库下的文件和目录列表
    svn list path
    显示path目录下的所有属于版本库的文件和目录
    简写:svn ls
    14、创建纳入版本控制下的新目录
    svn mkdir: 创建纳入版本控制下的新目录。
    用法: 1、mkdir PATH…
    2、mkdir URL…
    创建版本控制的目录。
    1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
    调度,以待下一次的提交。
    2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
    在这两个情况下,所有的中间目录都必须事先存在。
    15、恢复本地修改
    svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
    用法: revert PATH…
    注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
    被删除的目录
    16、代码库URL变更
    svn switch (sw): 更新工作副本至不同的URL。
    用法: 1、switch URL [PATH]
    2、switch –relocate FROM TO [PATH…]
    1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
    服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
    方法。
    2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
    (比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
    这个命令更新工作副本与仓库的对应关系。
    17、解决冲突
    svn resolved: 移除工作副本的目录或文件的“冲突”状态。
    用法: resolved PATH…
    注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
    相关文件,然后让 PATH 可以再次提交。
    18、输出指定文件或URL的内容。
    svn cat 目标[@版本]…如果指定了版本,将从指定的版本开始查找。
    svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

  • 相关阅读:
    经方膏方
    荆防柴朴汤
    温经汤治痤疮
    经方治疗带状疱疹
    用排除法诊断半表半里证
    leaflet 学习备忘
    在线数据库设计 初稿 想法简单验证
    SVG PATH 生成器
    模仿bootstrap做的 js tooltip (添加鼠标跟随功能)
    js 生成随机炫彩背景
  • 原文地址:https://www.cnblogs.com/clphp/p/6412594.html
Copyright © 2020-2023  润新知