一、关机和重启命令
    1. shutdown -h now   关机   -h 关机  now马上
    2. reboot           重启

二、临时修改一下我们的ip地址
    1. ifconfig eth0 192.168.204.250

三、显示网络信息
    1. ifconfig

四、smb文件服务器
    1. 启动smb服务
    service smb start     开启smb服务
    service nmb start     关闭smb服务
    service smb restart   重启smb服务

    2. 退出smb用户
    在cmd里面敲:net use * /del /y

    3. samba配置文件
    cd /etc/samba/smb.conf

    4. 设置samba的共享文件到htdocs(apache服务器)的指向文件
    ①修改配置文件:vim smb.conf
    ②[www]
        browseable = yes                   浏览
        path = /usr/local/apache2/htdocs   路径
        writable = yes                     写入
        public = yes                       共享
    ③给htdocs所有人的权限
    chmod -R 777 htdocs
    ④重启apche和samba

    5. 查看是否安装了samba
    rpm -q samba

    6. 默认安装了客户端
    samba-winbind-clients-3.6.23-33.el6.i686
    samba-client-3.6.23-33.el6.i686
    samba-common-3.6.23-33.el6.i686
    samba-winbind-3.6.23-33.el6.i686
    samba4-libs-4.2.10-6.el6_7.i686
    7. 安装
    在安装samba 之前 必须要挂载成功光盘
    而且 yum源也要调整完成
    yum -y install samba
    c. 启动服务
    service smb start
    service nmb start
    或者
    /etc/rc.d/init.d/smb start
    /etc/rc.d/init.d/nmb start
    smbd   用户验证和文件共享
    nmbd   浏览共享和计算机名解析

    8. 需要调整几个内容一定要修改
    ①物理机和虚拟机网络一定要通信ping
    ②防火墙必须关闭
    ③setup->防火墙设置 *不能存在  保存退出
    ④增强安装组件 selinux
    vim /etc/selinux/config
    SELINUX = disabled

    9. samba 用户管理(添加samba用户才可以访问samba的内容比,首先必须是系统用户  添加linux系统用户)
    a.添加系统用户
    useradd 用户名
    passwd  用户名
    b. 然后设置samba用户和用户密码
    smbpasswd -a 用户名 # 加用户
    smbpasswd 用户名    # 改smb密码

    root用户管理的命令
    pdbedit -a 用户名   新建samba账号
    pdbedit -x 用户名   删除samba账号
    pdbedit -L          列出samba用户列表
    pdbedit -Lv         列出samba 用户列表的详细信息

    建立samba连接
    1. 为了安全 不要把root改为samba用户
    2. 重启服务
    service smb restart
    service nmb restart

    3. window连接samba
    使用windows 键+r 呼叫运行窗口 在运行窗口中输入服务器地址
    \\服务器地址
    \\192.168.204.138

    输入用户名和密码 都是 smb用户名和密码
    查看有哪些客户端连接
    smbstatus
    如果想要退掉用户 请在windows里面cmd命令中输入下面内容
    net use * /del /y
    如果samba访问不了
    1.  防火墙没有关
    2.  selinux没有改
    3.  网络不通!
    配置文件
    vim /etc/samba/smb.conf

    10.就是将某个文件设置为根目录文件(apache)
    目的:就是将某个文件设置为根目录文件

    10.1 开启sabma
    service smb start
    service nmb start

    10.2 修改apache配置文件
    vim /usr/local/apache2/etc/httpd.conf
    将所有子配置文件内容全部关闭
    148 #LoadModule rewrite_module modules/mod_rewrite.so 前面加上#号
    455 #Include etc//extra/httpd-autoindex.conf 前面加上#号
    467 #Include etc//extra/httpd-vhosts.conf 前面加上#号
    跳转到215行和216行左右

    215 DocumentRoot "/usr/local/apache2//htdocs"
    216 <Directory "/usr/local/apache2//htdocs">
    将上面两行注释 并且复制一个内容且改为下面内容

    215 DocumentRoot "/home/lixiang/"
    216 <Directory "/home/lixiang">
    保存并退出

    10.3 重启apache
    sto
    sta

    10.4 修改lixiang文件夹权限
    chmod 777 lixiang
    如果你想要访问phpmyadmin
    请在 /usr/local/apache2/htdocs 目录下面使用
    cp -r ./phpmyadmin/   /home/lixiang/phpmyadmin

五、apache的基本内容
    1. apche相关目录和文件
        1.1  网站默认根目录(www)  cd /usr/local/apache2/htdocs
        1.2  主配置文件           cd /usr/local/apache2/etc/httpd.conf
        1.3  子配置文件           cd /usr/local/apache2/etx/extra/http-*.conf
        1.4  网站日志文件目录     cd /usr/local/apache2/logs

    2.启动httpd服务(apache服务器)
        2.1  service httpd start                     开启apache服务器
        2.2  service httpd stop                      关闭apache服务器
        2.3  service httpd restart                   重启apache服务器
        2.4  /usr/local/apache2/bin/apachectl start  开启apache服务器
        2.5  /usr/local/apache2/bin/apachectl stop   关闭apache服务器

六、目录的基本内容
    1. 目录操作(cd)
        1.1  cd       切换所在目录
        1.2  cd       回到登录用户家目录
        1.3  cd -     进入上一次操作的目录
        1.4  cd ..    进入上一级目录
        1.5  tab键    可以对我们的目录和文件进行补全
        1.6  pwd      显示当前所在目录

    2. 显示目录下的内容(多个选项可以一起使用而且大部分没有任何顺序)
        2.1  ls       直接回车 显示目录下的内容
        2.2  ls -l    长格式显示  别名(ll)
        2.3  ls -a    显示所有文件(包含隐藏文件:文件前面带点的文件是隐藏文件)
        2.4  ls -h    人性化显示  文件大小显示为 M K G T
        2.5  ls -ahl  我想要所有文件人性化 长格式显示

    3.创建和删除目录(蓝色名字的文件是目录)
        3.1  mkdir -p 目录名      创建目录   -p 递归创建
        3.2  rm -rf   文件/目录   删除目录   -r 删除目录 -f强制

七、其它命令
    1.  ctrl+c         终止命令执行
    2.  ctrl+l         清屏
    3.  whereis 命令   查找命令的命令+帮助文档的位置
    4.  who -a         使用-a选项会显示所有信息查看当前用户登陆
    例子:root  pts/0   2018-03-24 10:56 (192.168.42.23)
    第一列显示用户名称
    第二列显示用户连接方式。Tty意味着用户直接连接到电脑上,而pts意味着远程登录。
    第三、四列分别显示日期和时间
    第五列显示用户登录IP地址。
    5.  last            列出目前和过去所有登录系统的用户信息
    6.  lastlog         查看用户最后一次登录的信息

八、文件操作命令
    1. 创建文件  新建文件
    格式:touch 文件名
    例子:touch xiaoyu.avi

    2. cat 文件名   查看文件
    格式:cat install.log
    例子:cat -n install.log
    技巧:-n 查看文件同时显示行号

    3. more  文件名  分屏显示
    例子:more install.log
    技巧:空格向下翻页  b 向上翻页 q退出

    4. head -要查看的条数 文件名  从前往后开始
    例子:head -10 install.log

    5. tail -要查看的条数 文件名  从后往前
    例子:tail -2 install.log

九、文件和目录都能操作的命令
    1. rm -rf  文件/目录      -r 删除目录 -f强制

    2.  cp  复制拷贝  copy
    格式: cp  源文件  目标位置
    拷贝文件  cp ./liuqiang   ./liumang/liuqiang
    拷贝目录  cp  -r  ./liumang  ./shehui/liumang   -r  复制目录

    3.  mv  剪切或者改名
    格式: mv  源文件  目标位置
    剪切  mv  ./sheyuxiang  ./dasemo/sheyuxiang
    改名  mv  ./liumang  ./wenhua
    既要剪切 也要改名  mv ./qinshou ./dasemo/qinshouqiang

十、文件的颜色
    1.  绿色文件:   可执行文件,可执行的程序
    2.  红色文件:   压缩文件或者包文件
    3.  蓝色文件:    目录
    4.  白色文件:   一般性文件,如文本文件,配置文件,源码文件等
    5.  浅蓝色文件: 链接文件,主要是使用ln命令建立的文件
    6.  红色闪烁:   表示链接的文件有问题
    7.  黄色:       表示设备文件
    8.  灰色:       表示其他文件

十一、linux 常见目录(以下目录必须全部记录)
    1.     /               根目录
    2.     /root/          超级用户的家目录
    3.     /home/          普通用户的家目录
    4.     /bin/           命令保存目录(普通用户的命令)
    5.     /sbin/          命令保存目录(超级用户的命令)
    6.     /dev/           设备文件保存目录
    7.     /etc/           配置文件的保存目录
    8.     /lib/           函数库保存目录
    9.     /mnt/           系统挂载目录(推荐使用)
    10.    /media/         挂载目录
    11.    /tmp/           临时目录
    12.    /proc/          直接写入内存
    13.    /usr/           系统软件资源目录
    14.    /var/           系统相关文件内容
    15.    /var/log/       系统日志

十二、权限管理
    1. 权限位(权限位是十位)
    例子:- rwx rwx ---
    第一位:代表文件类型
    -:普通文件
    d:目录文件
    l:链接文件
    b:块设备文件
    c:字符设备文件
    p:管道文件
    第二位到第四位  所有者权限 u=user
    第五位到第七位  所属组权限 g=group
    第八位到第十位  其他人权限 o=other
    r   读取     4
    w   写入     2
    x   执行     1
    -  无权限

    2. 修改权限(ls -lh 显示权限)
    chmod  权限  文件名
    逻辑描述法
    chmod u+x    sheyuxiang
    chmod u-x    sheyuxiang
    chmod u=rwx  sheyuxiang
    chmod g=rwx  sheyuxiang
    数字描述法
    r=4  w=2 x=1
    chmod 777    sheyuxiang
    chmod 755    sheyuxiang

    例子1:请将其他人权限上加上rwx对于sheyuxiang这个文件
    chmod o=rwx  sheyuxiang
    例子2:请将其他人权限改为rw 对于sheyuxiang这个文件
    chmod o=rw   sheyuxiang  = 赋予相应权限
    chmod o-x    sheyuxiang  - 去除相应权限
    例子3:请将所有权限设置为 可读可执行权限
    chmod 555   sheyuxiang
    例子4:改变一个目录的所有人属性并同时改变改目录下所有文件的属性
    chown -R 权限 文件名   R是目录下所有文件
    注意:这个在服务器里不能随便敲的,不能在根目录下进行此命令,因为有些进程是指定权限(如755、700...)才能运行的...所以会出错。

十三、rwx 权限对于目录和文件实际意义不一致
    1.  文件:
        r 查看文件内容
        w 修改文件内容
        x 执行文件
    2.  目录:
        r 列出文件
        w 创建删除文件
        x 进入目录

十四、修改所有者和所属组(chown)
    20.1  改变文件所有者
    格式:chown  用户名  文件名
    例子:chown  sanpi   sheyuxiang
    *注意:这个用户名必须存在

    20.2  改变所有者同时改变所属组
    格式:chown 用户名:用户组 文件名
    例子:chown sanpi :sanpi  desemo

十五、查找命令(whereis,find,grep,管道符)
    1. whereis  命令  作用: 查找命令的命令  同时可以找到帮助文档的位置(掌握)
    2. find 搜索命令  在系统中搜索符合条件的文件名(重点重点重点)

        2.1  按照文件名查找
        find   查找位置   -name  文件名
        find      /       -name  “要查找的文件名”(区分大小写)
        find      /       -iname “要查找的文件名”(不区分大小写)

        2.2  按照文件大小查找
        -size  按照文件大小
        +50k    大于50k
        -50k    小于50k
        50k     等于50k
        b k M G
        find / -size +50k  查找根目录下文件大于50k的所有文件

        2.3  按照文件类型查找
        -type   类型    按照文件类型查找  f 文件  d 目录 l 链接
        find  /root -type f 查看家目录下面所有文件类型为文件的全拿出来包括隐藏

        2.4  在查询出来的结果中 直接进行命令操作
        find /root  -name “sheyuxiang” -exec ls -l {} \;
        find 空格 要查找的位置 空格  按照什么方式查找  空格 文件名  空格 -exec 空格 要操作的命令  空格 {} 空格  \;
        {} 是用来放置你前面的查询出来的结果
        \ 是转义  表示一个命令使用其本身的意义 不能用别名
        ; 语句的结束
        注意: 固定格式  只能这样写 而且这样写要注意空格
        v) 逻辑连接符  -a(and)   -o (or)
        多条件查找 条件之间可以可使用 逻辑连接符
        find  / -size +50k -a -size -100k

    3.  grep “字符串”  文件名   在文档中搜索符合条件的内容(重点重点重点)
    -v  反向选择
    -i  忽略大小写
    grep -i “INSTALL” ./install.log
    grep -v “INSTALL” ./install.log

    4.  管道符
    命令1 | 命令2   命令1 执行的结果 作为命令2的操作对象
    ls -l /etc | more  分屏的形式显示 etc目录向下的所有内容   向下翻页 空格  b 不能操作
    ls -l /etc | grep yum

十六、解压和压缩(linux  压缩类型 tar.gz  tar.bz2)
    1.  压缩
    ①tar -zcvf  压缩文件名  源文件
    -z   识别.gz 格式
    -c   压缩
    -v   显示压缩过程
    -f   执行压缩包名
    tar -zcvf  sheyuxiang.tar.gz   ./sheyuxiang
    注意 压缩的选项不要改变顺序

    ②tar  -jcvf 压缩文件的名字   源文件
    -j  识别 .bz2 格式
    tar -jcvf sheyuxiang.tar.bz2 ./sheyuxiang

    2.  解压缩
    2.1 tar -zxvf 压缩文件路径
    tar -zxvf sheyuxiang.tar.gz
    -x 解压缩

    2.2 tar -jxvf  sheyuxianbg.tar.bz2
    -x 解压缩

    2.3 -C 指定路径
    tar -jxvf  解压缩文件路径  -C 要解压缩的位置路径
    -C 指定路径

十七、挂载命令
    linux 所有的存储设备都必须挂载才能使用(linux中的挂载点就是windows中的盘符)如果你挂载的是光盘 那么必须提前将光驱中放置光盘
    1. 放入光盘 iso

    2. 建立挂载点
    mkdir  /mnt/cdrom

    3.  mount  设备描述文件  挂载点(必须存在目录 并且目录必须是空目录)
    mount /dev/sr0  /mnt/cdrom
    如果出现下面的这句话 说明你光盘挂载成功
    mount: block device /dev/sr0 is write-protected, mounting read-only

    4.  光盘卸载
    umount /mnt/cdrom
    报错:
    umount: /mnt/cdrom: device is busy.
            (In some cases useful info about processes that use
             the device is found by lsof(8) or fuser(1))
    计算机想说: 大哥能不能行了 我不想自杀
    重点注意: 一定要退出你当前挂载点目录之后再进行卸载

十八、网络命令
    1.  ifconfig  与windows里面ifocnfig -all 是一样 显示网络信息
    ip地址 192.168.10.0-255

    2.  ping网络连通性测试
    ping 192.168.204.171
    ping -c 次数 ip  ping 多少次
    ping -c 10 192.168.204.171

    3.  netstat查看网络状态命令
    -t  查看tcp端口
    -u  查看udp 端口 udp 用户数据报协议  即时通讯
    -l  监听
    -n  显示ip和端口
    -a  查看所有连接
    netstat -talun | grep :80   查看80端口是否被使用
    netstat -talun | grep :3306 查看3306端口是否被使用
    :80    apache
    :3306  mysql

    4.网卡修改路径
        4.1  /etc/sysconfig/network-scripts/ifcfg-eth0

    5.eth0网卡丢失解决方法?
        5.1  vi  /etc/sysconfig/network-scripts/ifcfg-eth0   把HWADDR=00:0C:29:44:D4:F0删除掉 在设置过IP地址
        5.2  rm  -rf  /etc/udev/rules.d/70-persistent-net.rules
        5.3  reboot

十九、vim编辑器(vim是全屏幕纯文本编辑器)
    图示:
        进入 vim filename
                          命令模式

        插入模式(退出esc键)    编辑模式(:命令以回车运行)

    1.  插入模式 千万别ctrl+s
    a  后插入模式(追加)
    i  前插入模式 (插入)
    o  下插入模式
    A  在本行 末尾进行插入
    I  在本行 行首进行插入
    O  上插入模式

    2.  插入模式-->命令模式 ESC键
    命令模式->编辑模式
    :w  保存
    :wq 保存并退出
    :q 不保存退出
    :q! 不保存退出(!强制)
    注意: 快捷键 ZZ 表示保存并退出 但是这个快捷键需要在命令模式下使用
    请各位记住非常重要  如果你使用putty 进入vim模式  不要按 ctrl+s

    3. 命令模式操作(linux 是鼠标操作 vim中都是通过快捷键操作来进行操作,这些快捷键可以替代鼠标)
    3.1 光标操作:
    :n         n代表移动到第几行
    :set nu    显示行号
    :set nonu  隐藏行号
    在命令模式下
    h左 j下 k上 l右
    gg         移动到文件头
    G          移动到文件尾
    Ctrl+b     向后翻整页
    Ctrl+f     向前翻整页

    4. 删除 操作 剪切
    dd         删除单行
    ndd        删除多行 n代表你要删除的行数
    dG         从光标所在行删除到文件末尾

    5. 复制和粘贴
    yy         复制单行
    nyy        复制多行  n代表你要复制的行数
    p          将内容粘贴在当前光标所在行的下一行(小写)
    np         粘贴n行

    6. 撤销和反撤销
    u          撤销    windows相当于 ctrl+z
    ctrl+r     反撤销  windows 相当于ctrl+y

    7. 查找
    /          查找内容
    n          下一个
    N          上一个

二十、用户与用户组管理
    1. 用户信息文件  /etc/passwd    查看所有用户
    2. 影子文件      /etc/shadow    查看哪些用户有密码
    3. 组信息文件    /etc/group     查看系统中有哪些用户组
    4. 添加用户      useradd  用户名
    5. 设定密码      passwd   用户名    注意:要写用户名不写用户名默认修改root用户密码
    6. 删除用户      userdel -r 用户名  -r 连带家目录一起删除
    7. 添加组        groupadd 组名
    8. 删除组        groupdel 组名

    9. 把已经存在的用户加入到组中
    gpasswd -a 用户名  组名   -- 用户加入到组中
    gpasswd -d 用户名  组名  -- 把用户从用户组中删除

    10. su 用户名      切换用户身份

二十一、软件包管理
    1. windows 和linux 的软件不能通用  windows的.exe文件  不能在linux下直接安装
    缺点: 所有软件都要在linux当中独立开发
    优点: windows的病毒和目录都无法在linux下面安装

    2. 软件包选择原则
    ①如果软件包安装之后 是给大量客户端访问我们使用 就安装源码包
    ②如果软件包安装之后是给本机或者少量客户端使用我们建议二进制包安装

    3. 软件包分类
        3.1 源码包
        优点: 开源  自定义  本身编译  效率高
        缺点: 编译时间长 一旦报错 不容易排错
        3.2 二进制(rpm)包
        优点: 简单  安装速度快
        缺点: 不开源  自定义性能差 软件版版本依赖性高
        A----->B------>C 树形依赖
        A----->B------->C----->A  环形依赖(库软件依赖)

二十二、服务管理
    服务分类 (要点:我们知道,在Linux当中呢,所有的可执行文件要想运行,
    归根结底就一个方法:就是用:绝对路径找到这个可执行文件的名字+start|stop|restart)
    1. rpm包安装服务(独立服务)
        chkconfig --list 查看到的服务都是rpm包安装的服务
        启动两种方法:
        ①. service 服务名 start|stop|restart(service是到/etc/init.d去搜索可执行文件,并且service是红帽子系统的特有命令)
        ②. /etc/rc.d/init.d/服务名 start|stop|restart (万能方法)

    2. 源码包安装服务(安装路径一般是 /usr/local)
      启动(就是用:绝对路径找到这个可执行文件的名字+start|stop|restart)
      /usr/local/apache2/bin/apachectl start|stop|restart(apache的启动)
      自启动
      vim /etc/rc.local

二十三、进程的管理
    1.  进程管理的主要任务
    ①判断服务器是否健康
    ②查看所有正在运行的进程
    ③强制终止进程

    2. 查看进程
        2.1 ps  aux  查看当前系统所有运行的进程
        -a  显示所有前台进程
        -u  显示用户名
        -x  显示所有后台进程
        a. user 用户名
        b. pid   进程id
        c. %CPU  CPU占用百分比
        d. %MEM  内存占用的百分比
        e. command  进程本身
        前台进程是使用之后不可以操作别的命令等待进程结束之后再次操作
        后台进程是不需要等待进程结束就可以执行别的命令 后台进程使用需要在后面加上&

    3. pstree查看进程树
    -p  查看pid

    4. top(常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析)
    第一行 : 系统当前时间 系统持续时间 1,5,15,分钟之内的平均负载 0.1
    第二行  进程总数
    第三行 cpu占用率  %id 空闲的百分比
    第四行  内存使用率

    操作命令 进程排序
    M  内存排序
    P  cpu 排序
    q  退出

    5. 终止进程
    kill PID  -- 结束单个进程
    kill 2414 副进程
    kill 2406 主进程
    刚才我们删除一个副进程 主进程如果没有被删除没有问题 但是如果我们删除一个主进程那么所有的副进程全部消失
    pkill -9 进程名  结束一类进程   -9 强制

二十四、PHP的配置文件
    1. cd /usr/local/php/etc/php.ini

二十五、MySQL主要内容(数据库)
    1. mysql的配置文件
    cd /etc/my.cnf

    2. mysql的启动
    ①/usr/local/mysql/bin/mysqld_safe --user=mysql &
    ②service mysqld start

    3. MySQL的关闭
    ①mysqladmin -u root -p shutdown
    ②service mysqld stop

    4. mysql -uroot -p快速进入mysql登陆页面?
    ①/usr/local/mysql/bin/mysql -u root -p
    ②ln -s /usr/local/mysql/bin/mysql /bin/
    加一个软连接就行了,他说Linux先找命令,先找 ebin 下的和sbin下的,和/usr/bin下和/usr/sbin下的!

    5. MySQL命令开启和关闭需要设置的命令
    ①cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

    6. mysql的错误日志存放地方
    ①/var/log/mysqld.log

二十六、phpize的配置文件(是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块)
    1.  /usr/local/php/bin/phpize

二十七、session的基本内容
    1. 存储文件    /tmp

二十八、设置权限:localhost 远程连接linux下mysql  root没有权限登录mysql 执行以下命令给权限
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你当前数据库的密码' WITH GRANT OPTION

二十九、修改家目录的名字
    1. vim /etc/sysconfig/network  添加内容如下
    [root@11gnode2 ~]# cat /etc/sysconfig/network
    NETWORKING=yes    不用修改
    HOSTNAME=【11gnode2】 这是修改家目录的名字