Linux概述

作者: imec | 来源:发表于2017-04-15 17:31 被阅读0次

    吐槽一下简书居然不支持[TOC]...

    Linux概述


    Unix Linux
    商业付费软件 免费公开源代码
    多数是与硬件配套的 可运行在多种硬件平台上
    对硬件的要求更为苛刻 对硬件要求没有Unix高
    安装复杂 安装相对简易
    使用比较复杂 使用相比Unix要简单
    最稳定 稳定性次之

    Linux结构

    • 硬件
    • 内核kernel
      • 操作系统的核心
      • 指挥调度linux机器的运行,直接控制计算机的资源
      • 保护用户程序不受错综复杂的硬件世界的影响
    • 外壳shell
      • 是Linux的一个特殊程序,是用户与内核之间的命令解释器
    • 应用程序

    Linux特点

    • 多任务,多用户:CPU时间分片,分给不同的进程;允许多个用户同时登陆使用。
    • 管道,功能强大的shell: 管道-前一个程序的输出作为后一个程序的输入,shell是一种解释型高级语言。
    • 安全保护机制,稳定性好:防止系统及其数据未经许可而被非法访问,稳定性Unix好于Linux,Linux好于Windows。
    • 用户界面,强大的网络支持:常用命令行的方式,同时提供图形界面;TCP/IP协议就是Linux的缺省网络协议。
    • 移植性好:源代码用C语言写成,便于移植到其它计算机上。

    Linux文件和目录管理


    树型结构

    /bin:存放的是构建最小系统所需要的命令
    /sbin:即为System bin,是与操作系统有关的命令
    /boot:内核与启动文件
    /dev:存放的是各种设备文件
    /etc:存放的是系统软件的启动和配置文件
    /home:用户的主目录
    /root:超级用户root的家目录
    /usr:非系统的程序和命令
    /var:系统专用的数据和配置文件
    /opt:可选的应用软件包
    /tmp:临时文件存放点

    文件和目录的基本操作

    • 显示当前的工作目录:pwd
    • 变更工作目录:cd cd后面不跟任何路径,则是回到当前目录的家目录。
    • 新增目录:mkdir -m指定存取模式 -p建立目录时建立其所有不存在的父目录。
    • 删除目录:rmdir 删除空目录,如果删除非空目录,rm即可, –p删除目录及父目录
    • 复制文件或目录 :cp+源文件或目录+目的文件或目录
    • 移动文件或目录:mv +源文件或目录+目的文件或目录
    • 删除文件或目录:rm+文件或目录
    • 查找文件或目录:find +路径+参数 -name以指定字符串开头的文件名 -user 查找指定用户所拥有的文件

    查看文件内容

    • cat:直接查阅文件内容,不能翻页
    • more:翻页查看文件内容
    • less:翻页阅读,和more类似。但操作按键比more更加弹性。
    • head:查看文档的前面几行内容,默认为10行
    • tail:查看文件的后面几行内容,默认为10行

    Linux 文件系统管理


    存储在介质中数据的三个因素

    • 文件名:定位存储的位置
    • 数据:文件的具体内容
    • 元数据:文件有关的信息,例如文件的权限、所有者、文件的修改时间等

    Linux支持的文件系统类型可查看/proc/filesystems

    文件系统的分类

    是否有日志

    • 传统型文件系统:写入文件内容的时候,先写数据,再写元数据。例如 ext2
    • 日志型文件系统:写入文件内容的时候,先写日志记录文件(更安全)。 ext3=ext2+日志 ReiserFS基于平衡树,搜索快
      如何查找数据
    • 索引式文件系统:文件属性数据和实际内容放在不同的区块,例如Linux中默认的ext2中,文件属性数据存放在inode,实际内容放在block
    • 非索引式文件系统:只有block,数据需要一个block接一个block读取(下一个block位置存放在上一个block中),效率低。 FAT

    碎片整理:就是写入的数据的block太过分散,此时读取的效率会很低。磁盘整理的目的 就是将这些分散的block尽量的集中起来。

    配置文件系统分区

    创建分区:fdisk+设备名,输入完该命令之后,可以通过参数m查看按键操作说明,通过参数p可以得到本磁盘的相关信息,输入n命令可以新建一个分区。使用完n之后,新建分区的步骤如下:

    1. 选择分区类型
    2. 选择分区开始的磁柱
    3. 决定分区的大小
    4. 保存新建的分区
    5. 通过重启服务器或使用partprobe命令通知内核

    创建文件系统:mkfs 参数 设备名,-t指定文件系统类型 -b指定block大小,单位bytes,ext2和ext3仅支持1024/2048/4096三种

    挂载文件系统:挂载的过程就是将文件系统和目录树上的某一个目录结合。mount+设备名+挂载点 -t -b同上

    管理Linux文件系统

    查看分区使用情况:

    • df:查看文件系统的磁盘空间占用情况 –h以容易理解的格式打印出文件系统大小 –i显示inode信息而非块使用量。
    • du:查看文件或目录的磁盘使用空间 –a显示目录下的每个文件所占的磁盘空间 –s只显示大小的总和 -h以容易理解的格式输出文件大小值

    查看系统打开的文件:lsof

    • Isof filename显示打开指定文件的所有进程
    • Isof –c string显示以指定字符开头的进程所有打开的文件
    • Isof –u username显示所属user相关进程打开的文件

    修复文件系统:

    • fsck检查文件系统并尝试修复错误。执行fsck时,必须将要修复的设备进行 umount后,再执行fsck命令。
    • e2fsck:检查和修复ext2和ext3文件系统

    Linux用户和用户组管理


    • 用户ID信息文件 /etc/passwd
      • /etc/passwd的文件记录的是单个用户的登录信息
      • 里面有两条记录:root和smc
      • 每一条记录被冒号分割称7个字段
      • 分别是 用户名:密码:UID:GID:用户的描述:用户加目录:用户的shell类型
    • 组ID信息文件 /etc/group
      • /etc/group记录的是GID和用户组组名的一个对应关系

    用户管理常用命令

    • 用户查询常用命令:id(查询当前登录用户的GID、UID)、finger(查询当前用户属性信息,如家目录和用户类型)
    • 新增用户
    linux: ~ # useradd -d /home/ipcc -m -u 2000 -g mms -s /bin/csh ipcc
    说明:useradd[参数] [用户名] -d: 设置用户的家目录 -m: 设置的家目录不存在时自动创建 -u: 设置用户的UID -g: 设置初始GID或者组名 -s: 指定用户的shell
    如果没有设定参数,系统会自动读取/etc/default/useradd配置文件,指定相关用户组、shell等参数。
    如果要查询,可以输入linux:~ # useradd -D读取基本配置。
    
    • 删除用户
    linux:~ # userdel ipcc //删除ipcc用户 
    linux:~ # userdel -r iptv //删除iptv用户及其家目录
    
    • 设置用户密码
    linux:~ # passwd ipcc
    
    • 修改用户属性
    usedmod [用户名] -d: 修改用户家目录 -g: 修改初始用户组
    

    用户组管理常用命令

    • 新增用户组
    linux:~ # groupadd ipcc //不指定GID
    linux:~ # groupadd -g 2000 iptv //GID为2000
    
    • 删除用户组
    linux:~ # groupdel iptv
    
    • 修改用户组
    linux:~ # groupmod -g 2500 -n ipcc1 ipcc //修改GID为2500,组名为ipcc1
    

    Linux LVM配置


    • Logical Volume Manager
    • 建立在硬盘和分区之间的逻辑层
    • 提高磁盘分区管理的灵活性
      • 在传统的存储模型中,文件系统是直接构建在物理分区之上的,物理分区的大小决定了其上文件系统的存储容量,调整文件系统的存储容量变得比较繁琐
      • LVM设计的主要目标是实现文件系统存储容量可扩展性,使对容量的调整更简易

    架构

    • 物理分区:pp-physical partition,可以是硬盘的分区或者是RAID分区

    • 物理卷:PV-physical volume,是pp的LVM抽象,维护了pp的结构信息,是组成VG的基本逻辑单元,一般一个PV对应一个PP

    • 物理扩展单元:PE-physical extends,每个PV都会以pe为基本单元划分,是lvm的最小存储单元

    • 卷组:vg-volume group,由一个或者数个PV组成,可以看做LVM组合起来的大磁盘

    • 逻辑扩展单元:LE-logical extends,组成LV的基本单元,一个LE对应一个PE

    • 逻辑卷:LV-logical volume,建立在VG之上,文件系统之下,由若干个LE组成,文件系统是基于逻辑卷的

    • LVM是通过交换PE的方式来达到弹性变更文件系统的大小

    • 想扩增VG的容量则可以通过增加PV的方式

    • 一般LVM默认的pe的大小是4M,最多有65534个PE,所以LVM的VG最大为256G

    • LV和磁盘的dev/sda2分区类似,是用来格式化的单位。当对LV进行写入操作时LVM定位相应的LE,通过PV头部的映射表将数据写入到相应的PE上

    • LV实现的关键在于PE和LE之间建立的映射关系,不同的映射规则决定了不同的LVM存储模型

    优势

    • 文件系统可以跨多个磁盘
    • 动态地扩展文件系统大小
    • 增加新磁盘到LVM的存储池中

    注意要点

    • 按需分配文件系统的大小,多余的空间放在存储池中
    • 把不同的数据放在不同的卷组中,在系统升级或者数据迁移的时候较为方便

    LVM的配置流程

    • 物理分区阶段
      • 通过fdisk将systernID修改为LVM标记
    • PV阶段
      • 通过pvcreate将Linux分区处理成物理卷PV
    • VG阶段(含有多个PE)
      • 通过vgcreate将创建好的物理卷处理成卷组vg
    • LV阶段(可用于格式化)
      • 通过lvcreate将卷组分成若干个逻辑卷LV
    • 操作系统使用阶段
      • 通过mkfs工具将LV格式化
      • 最后挂载格式化后的LV到文件系统 mount

    物理卷管理

    • pvcreate创建物理卷
      • 将普通的分区加上pv属性
      • 例如将分区/dev/sda6创建为物理卷:pvcreate /dev/sda6
    • pvremove删除物理卷(语法和pvcreate一致)
    • pvscan查看物理卷信息
    • pvdisplay查看各个物理卷的详细参数

    卷组管理命令

    • vgcreate 创建卷组
    • vgscan 查看卷组信息
    • vgdisplay 查看卷组的详细参数
    • vgreduce 缩小卷组,把物理卷从卷组中删除
    • vgextend 扩展卷组,把某个物理卷添加到卷组中
    • vgremove 删除卷组

    逻辑卷管理

    • lvcreate 创建逻辑卷
    • lvscan 查看逻辑卷的信息
    • lvdisplay查看逻辑卷的具体参数
    • lvextend增大逻辑卷的大小
    • lvreduce减小逻辑卷的大小
    • lvremove 删除逻辑卷

    管理文件系统空间

    • 增大文件系统空间
      • 先卸载逻辑卷
      • 然后通过vgentend,lvextend等命令增大lv的空间
      • 再使用resize2fs将逻辑卷容量增加
      • 最后将逻辑卷挂载到目录树
    • 缩小文件系统空间
      • 先卸载逻辑卷
      • 使用resize2fs将逻辑卷容量减小
      • 然后通过vgreduce,lvreduce等命令减小lv的空间
      • 最后将逻辑卷挂载到目录树

    Linux 网络管理

    Linux 进程管理

    Linux 系统监控

    相关文章

      网友评论

        本文标题:Linux概述

        本文链接:https://www.haomeiwen.com/subject/jkxoattx.html