linux
linux
  linux 简介
    发行版本
      Debian 系
      RedHat 系
      Fedora
      RedHat
      Centos
      Debian
      Ubuntu
      ArchLinux
      OpenSuse
      一般用于服务器
      一般用于桌面，移动端，TV
      人气相对较弱，一般用于服务器
      轻量的Linux，适合有一定Linux基础，并且爱折腾的人使用
    包管理
      RedHat 系
      Debian 系
      要点
        RedHat 系
        Debian 系
        安装包格式
          rpm
        包管理工具
          yum
        安装包格式
          dpkg
        包管理工具
          apt-get
      rpm
        RedHat 系安装包格式
        命令
          安装
            rpm -ivh *.rpm
          卸载
            rpm -e packgename
          查询
            # 查看已安装的RMP包
rpm -qa | grep php
            # 查询软件的安装路径
rpm -ql xxx
            # 查询某个包
rpm -qa | grep xxx
          升级
            rpm -Uvh xxx
      yum
        RedHat 系包管理工具
        命令
          安装
            # 安装指定的软件
yum install <package_name>
          卸载
            # 删除指定的软件
yum remove <package_name>
          查询
            # 查找软件包
yum search <keyword>
            # 列出所有可安裝的软件清单
yum list
            # 列出所有可更新的软件清单
yum check-update
          升级
            # 更新指定的软件
yum update <package_name>
          清除缓存
            # 清除缓存目录下的软件包
yum clean packages
            # 清除缓存目录下的 headers
yum clean headers
            # 清除缓存目录下旧的 headers
yum clean oldheaders
            # 清除缓存目录下的软件包及旧的headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
      dpkg
        Debian 系安装包格式
        命令
          安装
            dpkg -i <package.deb>
          卸载
            dpkg -r <package>
          查询
            # 查看已安装的包
dpkg -l | grep 'php'
            # 列出 <package> 安装的所有文件清单。
dpkg -L <package>
      apt-get
        Debian 系包管理工具
  linux 目录
    /
      /bin
        bin是Binary的缩写, 这个目录存放着最经常使用的命令。
      /boot
        这里存放的是启动Linux时使用的一些核心文件，包括一些连接文件以及镜像文件。
      /dev
        dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备，在Linux中访问设备的方式和访问文件的方式是相同的。
      /etc
        这个目录用来存放所有的系统管理所需要的配置文件和子目录。
      /home
        用户的主目录，在Linux中，每个用户都有一个自己的目录，一般该目录名是以用户的账号命名的。
      /lib
        这个目录里存放着系统最基本的动态连接共享库，其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
      /lost+found
        这个目录一般情况下是空的，当系统非法关机后，这里就存放了一些文件。
      /media
        linux系统会自动识别一些设备，例如U盘、光驱等等，当识别后，linux会把识别的设备挂载到这个目录下。
      /mnt
        系统提供该目录是为了让用户临时挂载别的文件系统的，我们可以将光驱挂载在/mnt/上，然后进入该目录就可以查看光驱里的内容了。
      /opt
        这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
      /proc
        这个目录是一个虚拟的目录，它是系统内存的映射，我们可以通过直接访问这个目录来获取系统信息。
      /root
        该目录为系统管理员，也称作超级权限者的用户主目录。
      /sbin
        s就是Super User的意思，这里存放的是系统管理员使用的系统管理程序。
      /selinux
        这个目录是Redhat/CentOS所特有的目录，Selinux是一个安全机制，类似于windows的防火墙，但是这套机制比较复杂，这个目录就是存放selinux相关的文件的。
      /srv
        该目录存放一些服务启动之后需要提取的数据。
      /sys
        这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候，对应的文件和目录也在内核对象子系统中被创建。
      /tmp
        这个目录是用来存放一些临时文件的。
      /usr
        这是一个非常重要的目录，用户的很多应用程序和文件都放在这个目录下，类似于windows下的program files目录。
        /usr/bin
          系统用户使用的应用程序。
        /usr/sbin
          超级用户使用的比较高级的管理程序和系统守护程序。
        /usr/src
          内核源代码默认的放置目录。
      /var
        这个目录中存放着在不断扩充着的东西，我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
      /sbin
        s就是Super User的意思，这里存放的是系统管理员使用的系统管理程序。
      有星标的目录是linux系统中比较重要的目录，注意不要误删除或者随意更改内部文件。
  linux 命令
    文件目录
      查看文件内容
      chmod
        设置文件或目录的访问权限
      cp
        复制文件或目录
      mv
        移动文件或目录，为文件或目录改名
      rm
        删除文件或目录
      mkdir
        创建目录
      cat
      more
      less
      head
      tail
    文件查找
      find
        在目录结构中搜索文件
      locate
        查找符合条件的文档
      which
        在环境变量$PATH设置的目录里查找符合条件的文件
      whereis
        在特定目录中查找符合条件的文件
    磁盘管理
      cd
        切换目录
      pwd
        显示当前目录
      ls
        显示目录内容
      mount
        挂载文件到一个虚拟盘或虚拟文件夹中
      stat
        文件/文件系统的详细信息显示
    网络通讯
      ifconfig
        显示或设置网络设备
      ping
        检查网络是否连通
      netstat
        显示网络连接、路由表和网络端口信息
      telnet
        远端登入
    系统管理
      账户管理
      useradd
        添加账号
      userdel
        删除账号
      usermod
        修改账号
      passwd
        设置密码
      su
        切换账号
      sudo
        以系统管理者的身份执行指令
      ps
        显示当前进程 (process) 的状态
      kill
        删除执行中的程序或工作
      exit
        退出目前的shell
      date
        显示或设定系统的日期与时间
    备份压缩
      tar
        备份文件
      zip
        压缩文件为 zip 包
      unzip
        解压缩 zip 包