admin管理员组

文章数量:1794759

Linux基础(较全)

Linux基础(较全)

Linux 0.目录

文章目录
  • Linux
    • 0.目录
    • 1.Linux简介
      • 1.1 Linux是什么
      • 1.2 Linux发行版?
      • 1.3 LInux应用领域?
      • 1.4 Linux vs Windows?
    • 2.Linux(虚拟机)安装
      • 2.1 系统分区
      • 2.2 注意事项
    • 3.常用目录结构
    • 4.常用命令
    • 5.VI编辑器
      • 5.1 编辑模式
        • 5.1.1 模式切换
        • 5.1.2 移动光标
        • 5.1.3 编辑
        • 5.1.4 退出
      • 5.2 输入模式
      • 5.3 末行模式
    • 6.软件安装
      • 6.1 二进制包安装
        • 6.1.1 RPM包安装
        • 6.1.2 yum安装
      • 6.2 源码包安装
    • 7.用户管理
      • 7.1 用户相关文件
      • 7.2 用户管理命令
      • 7.3 组管理命令
    • 8.权限管理(缺)
    • 9.文件系统管理
      • 9.1 硬盘(缺)
      • 9.2 文件系统
        • 9.2.1 linux文件系统特性
        • 9.2.2 常见文件系统
      • 9.3 命令
      • 9.4 手动创建分区
        • 9.4.1 MBR分区
        • 9.4.2 GPT分区
        • 9.4.3 swap分区
      • 9.5 磁盘配额
        • 9.5.1 依赖
        • 9.5.2 概念
        • 9.5.3 配额步骤
      • 9.6 LVM逻辑卷
        • 9.6.1 步骤
    • 10.启动引导与修复
      • 10.1 系统运行级别
        • 10.1.1 开机执行文件
      • 10.2 启动引导程序
        • 10.2.1 grub引导程序
        • 10.2.2 /boot/grub目录
        • 10.2.3 grub配置文件
        • 10.2.4 grub加密
      • 10.3 系统修复模式
        • 10.3.1 单用户模式
        • 10.3.2 光盘修复模式
    • 11.服务管理
      • 11.1 服务分类
      • 11.2 管理
        • 11.2.1 RPM包独立服务
        • 11.2.2 基于xinetd服务
        • 11.2.3 源码包服务
    • 12.系统管理
      • 12.1 进程管理
      • 12.2 工作管理
      • 12.3 资源查看
      • 12.4 定时任务
    • 13.日志管理(缺)
      • 13.1 rsyslogd服务
      • 13.2 日志轮替

1.Linux简介 1.1 Linux是什么
  • Linux是一种自由和开放源码的类UNIX操作系统,1991年由林纳斯托瓦兹创建,主要受Minix和UNIX思想启发。

  • Linux遵循GNU通用公共许可证(GPL),所有人都可以自由使用源代码,也可以自由修改并重新发布

  • Linux是基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统

  • Linux能运行主要的UNIX工具软件、应用程序和网络协议,继承了UNIX以网络为核心的设计思想。

1.2 Linux发行版?

LInux发行版简单的来说就是将Linux内核和应用软件做封装

市场上主流的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等

1.3 LInux应用领域?

从嵌入式设备到超级计算机、并到服务器领域确定了地位、通常服务器使用LAMP(Linux+Apache+Mysql+PHP)和LNMP(Linux+Nginx+Mysql+PHP)组合

目前,linux不仅在家庭中,企业中使用国家层面也在使用Linux

1.4 Linux vs Windows? 比较WindowsLinux
界面界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。
驱动程序驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。
使用使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。图形界面使用简单,容易入门。文字界面,需要学习才能掌握。
学习系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。
软件每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。大部分软件都可以自由获取,同样功能的软件选择较少。
2.Linux(虚拟机)安装

VMware虚拟机:www.vmware

VMware安装linux特点:

  • 不需要分区和重启即可同一PC上两种操作系统
  • 本机和虚拟机可以网络通信
  • 可以随时修改虚拟机配置

安装步骤:

2.1 系统分区
  • 分区表
    • MBR分区表
      • 最大2.1TB,4分区数
      • 主分区(最多四个)
      • 扩展分区(1个,不能写数据)
      • 逻辑分区
    • GPT分区表
      • 最大9.4ZB,没有限制分区数(理论)
  • 格式化
    • 又称逻辑格式化,是指用户选定文件系统(类型:ext4)
  • 挂载
  • 2.2 注意事项
    • linux严格区分大小写

    • linux一切皆文件

    • linux不靠扩展名区分文件类型

    • linux所有存储设备都必须挂载后才能使用

    • Windows程序不能直接在linux中使用

    • linux文件默认使用\\n换行(LF),window默认使用\\r\\n(CR LF),ios默认使用\\r(CR)

    3.常用目录结构 目录作用
    /bin存放系统命令的目录
    /sbin存放系统命令的目录
    /boot系统启动目录
    /dev设备文件目录
    /etc配置文件目录
    /home普通用户家目录
    /lib系统调用的函数库
    /mnt挂载目录
    /opt软件安装目录
    /proc虚拟文件目录(内核、进程、外部设备状态、网络状态)
    /sys虚拟文件目录(内核相关)
    /rootroot家目录
    /tmp临时目录
    /usr系统软件资源目录
    /var动态数据保存目录(缓存、日志、软件运行文件)
    4.常用命令 命令作用
    目录操作ls查看目录下文件
    cd切换目录
    pwd查看当前目录
    mkdir创建目录
    rmdir删除目录
    文件操作touch创建空文件、修改元数据
    stat查看详细信
    cat查看文件内容
    more分屏查看文件内容
    less分行查看文件内容
    head查看文件头部
    tail查看文件尾部
    ln软连接
    目录文件都可操作rm删除
    cp复制
    mv移动或者重命名
    权限控制chmod修改权限
    chown修改文件所有者和所属组
    chgrp修改文件所属组
    帮助命令man显示联机帮助手册
    info完整的帮助信
    help查看内置命令信
    搜索命令whereis搜索系统命令(帮助文档位置)
    which搜索系统命令
    locate搜索普通文件
    find在目录中搜索文件
    grep显示匹配的行
    |管道管道
    文本操作awk文本处理工具
    grep匹配 过滤
    cut截取
    sed文本处理工具
    压缩、解压命令zip压缩
    unzip解压.zip
    gzip压缩
    gunzip解压.gz
    bzip2压缩
    bunzip2解压.bz2
    tar -c压缩
    tar -x解压.tar
    tar -z.tar.gz
    tar -j.tar.bz2
    关机重启sync刷新文件系统缓冲区(数据同步)
    shutdown关机-h或重启-r
    reboot重启
    halt关机(不安全)
    poweroff关机(不安全)
    init关机或重启(不安全)
    网络命令ifconfig配置网络接口
    ping通过ICMP网络探测
    netstat查看网络状态、查看端口
    write向指定用户发信
    wall向所有用户发信(包括自己)
    mail给其他用户发邮件
    系统痕迹命令w显示正在登陆的用户信
    who显示正在登陆的用户信(简单)
    last查看所有登陆过的用户信
    lastlog查看最后登陆过的用户信
    lastb查看登陆错误信
    挂载命令mount挂载
    umount卸载
    5.VI编辑器

    vi 、vim 打开文件,进入编辑模式

    三种模式:编辑模式、输入模式、末行模式(有不同叫法)

    5.1 编辑模式 5.1.1 模式切换

    : 进入末行模式 i、a、o 进入输入模式(前、后、下行) I、A、O进入输入模式(行首、行尾、上行)

    5.1.2 移动光标
    • 字符间 h: 左;j: 下;k: 上;l: 右
    • 单词 w: 移至下一个单词的词首 e: 跳至当前或下一个单词的词尾 b: 跳至当前或前一个单词的词首
    • 行内 0: 绝对行首 ^: 行首的第一个非空白字符 $: 绝对行尾
    • 行间 G:文章末尾 3G:第3行 gg:文章开头
    • 翻屏 ctrl:f,b
    5.1.3 编辑
    • 删除&替换单个字符 x:删除光标位置字符 3x:删除光标开始3个字符 r:替换光标位置字符
    • 删除命令 : d dw,dd
    • 复制粘贴&剪切 yw,yy p P
    • 撤销&重做 u 撤销 ctrl+r 重做 撤销的操作 . 重复上一步的操作
    5.1.4 退出
    • 直接退出

      ZZ:没修改退出

    • 进入末行模式退出

      wq:保存并退出

      q!:不保存退出

    5.2 输入模式
    • 标准输入

    • 模式切换

      Esc进入编辑模式

    5.3 末行模式
    • 模式切换

      Esc Esc 进入编辑模式

    • 退出

      :q 退出 没有动过文件 :wq 保存并退出 动过了,不后悔 :q! 不保存并退出 动过了,后悔了 :w 保存 :w! 强行保存 :wq --> :x

    • 高级操作

      :set 设置 set nu 设置行数 / 查找 s/// 查找并替换

    6.软件安装

    软件包分为源码包和二进制包

    6.1 二进制包安装 6.1.1 RPM包安装
    • 命令

      安装命令:rpm -ivh 包全名

      服务启动:service 服务名 start

      升级命令:rpm -Uvh 包全名

      卸载命令:rpm -e 包名

    • 默认安装位置

      /etc/ 配置文件

      /usr/bin/ 可执行文件

      /usr/lib/ 函数库

      /usr/share/doc/ 使用手册

      /usr/share/man/ 帮助文件

    6.1.2 yum安装
  • 安装yum
  • 安装软件:yum -y install 软件名
  • 6.2 源码包安装

    安装步骤

  • 下载软件包

  • 解压缩

  • 进入解压目录

  • 编译前准备

    ./configure
  • 编译

    make
  • 编译安装

    make install
  • 卸载:删除文件目录即可

    7.用户管理 7.1 用户相关文件 目录作用说明
    /etc/passwd用户信文件用户名:密码:用户ID:组ID:用户说明:用户家目录:用户命令行
    /etc/shadow影子文件用户名:加密密码:更改时间:更改间隔:有效期:到期前警告天数:过期后宽限天数:失效时间:保留
    /etc/group组信文件组名:组密码位:组内其他用户(组)
    /etc/gshadow组影子文件保存组密码
    /home/用户名、/root用户家目录
    /var/spool/mail/用户名邮箱目录
    /etc/skel用户模版目录
    7.2 用户管理命令 命令作用
    useradd添加用户
    passwd设置密码
    usermod修改用户
    userdel删除用户
    su切换用户
    7.3 组管理命令 命令作用
    groupadd添加用户组
    groupdel删除用户组
    gpasswd添加删除组成员
    newgrp改变有效组
    8.权限管理(缺) 9.文件系统管理 9.1 硬盘(缺) 9.2 文件系统 9.2.1 linux文件系统特性

    super block(超级块):记录date block、inode的情况

    date block(数据块):数据实际存储

    inode(i节点):类似元数据

    9.2.2 常见文件系统 常见文件系统简介
    extlinux早期文件系统
    ext2升级版(更大分区和文件)
    ext3升级版(日志功能和可靠性)
    ext4CentOS6.x默认文件系统(颠覆性)
    xfsCentOS7.x默认文件系统(XFS+LVM)
    swap交换分区文件系统(暂时代替内存)
    nfs网络文件系统
    iso9660光盘标准文件系统
    fatWindows的fat16
    vfatWindows的fat32
    NTFSWindows的NTFS
    ufsSunOS和Solaris
    proc基于内存的虚拟文件系统
    sysfs基于内存的虚拟文件系统
    tmpfs基于内存的虚拟文件系统
    9.3 命令 命令作用
    df统计空间大小
    du统计文件大小
    fsck文件系统修复命令
    dumpe2fs显示磁盘状态
    stat显示文件状态
    file判断文件类型
    fdisk分区命令
    parted分区命令
    parkporbe强制重读分区文件、重新挂载所有分区(几乎不用)
    mkfs格式化(创建文件系统)
    free查看内存
    swapon增加swap分区容量
    9.4 手动创建分区 9.4.1 MBR分区 fdisk /dev/sdb #进入分区交互界面 n #创建分区 p #查看分区 m #帮助 l #显示文件系统类型 w #保存退出 mkfs -t ext4 /dev/sdb1 #格式化 mkdir /disk1 #创建挂点 mount /dev/sdb1 /disk1 #挂载 vi /etc/fstab #自动挂载 #查看 mount fdisk -l df #修复权限 mount -o remount,rw / 9.4.2 GPT分区 parted /dev/sdb #进入分区交互界面 mklabel gpt #修改类型 mkpart #创建分区 mkfs #创建文件系统 resize #修改分区大小 re #删除分区 print #查看分区 #挂载…… 9.4.3 swap分区 fdisk /dev/sdb #进入分区交互界面 mkswap /dev/sdb1 #创建swap分区 swapon name #增加分区 9.5 磁盘配额 9.5.1 依赖
    • 内核支持磁盘配额
      • grep CONFIG_QUOTA /boot/config-2.6.32-279.e16.i686
    • 已安装quota
      • rpm -qa |grep quota
    9.5.2 概念
    • 用户配额和组配额
    • 磁盘容量限制和文件个数限制
    • 软限制和硬限制
    • 宽限时间
    9.5.3 配额步骤
  • 将分区挂载到目录上

  • 用户、用户组、目录(条件)

  • 开启磁盘配额功能

    mount -o remount,usrquota /disk vi /etc/fstab
    • defaults,usrquota
  • 建立配额文件(需关闭SELinux)

    quotacheck -avug quotacheck -avugm(跟目录)
  • 设置配额

    edquota -u username(进入命令行) edquota -p user1 -u user2(配额复制)
  • 启动关闭配额

    quotaon -avug /disk/ quotaoff -avug /disk/
  • 测试

    dd if=/dev/zero of=/disk/testfile bs=1M count=60
  • 非交互式配额

    setquota -u 用户 容量软限制 容量硬限制
  • 9.6 LVM逻辑卷 9.6.1 步骤
  • 将物理硬盘分区(也可以整体分区)

    fdisk
  • 将分区建立物理卷(PV)

    pvcreate /dev/sdb pvscan pvdisplay pvremove
  • 将物理卷整合为卷组(VG)

    vgcreate 选项 卷组名 物理卷名 vgscan
  • 把卷组划分为逻辑卷(LV)

    lvcreate 选项 卷组名
  • 10.启动引导与修复 10.1 系统运行级别

    查看:runlevel

    改变级别:init 级别

    级别:

    • 0:关机
    • 1:单用户模式
    • 2:不完全的命令行模式(无NFS)
    • 3:标准命令行模式
    • 4:系统保留
    • 5:图形模式
    • 6:重启动

    永久默认启动级别设置:/etc/inittab

    10.1.1 开机执行文件

    文件:/etc/rc.d/rc.local

    • /var/lock/subsys/local 开机触摸
    10.2 启动引导程序 10.2.1 grub引导程序

    优点:更多的文件系统、查找内核文件、启动时修改启动选项、动态配置grub配置文件

    10.2.2 /boot/grub目录

    作用:

    • 加载系统内核
    • 选择系统的菜单
    • 调用其他引导程序,实现多系统引导
    10.2.3 grub配置文件

    前四行:

    • 默认启动系统:0
    • 等待选择时间:5
    • 背景文件:
    • 隐藏按钮

    后每四行:可用系统

    • 标题
    • 启动目录:
    • 内核:
    • 虚拟文件系统:
    10.2.4 grub加密
  • grub-md5-crypt
  • 将秘钥放在grub配置文件背景文件后
  • 不能加lock
  • 10.3 系统修复模式 10.3.1 单用户模式

    修改密码:

  • 启动时按e,选中grub配置文件内核,按e
  • 在grub配置文件内核加空格1,进入系统
  • passwd root修改密码
  • 修改启动级别:

    • 修改/etc/inittab
    10.3.2 光盘修复模式
  • 光盘启动
  • chroot /mnt/sysimage
  • 修复
  • 11.服务管理 11.1 服务分类
    • RPM包安装服务
      • 独立服务
      • 基于xinetd服务
    • 源码包安装服务
    11.2 管理 11.2.1 RPM包独立服务
    • 启动

      • 使用/etc/init.d目录下启动脚本启动

        /etc/init.d/httpd start
      • 使用service命令启动

        service 独立服务名 start|stop|restart
    • 自启动

      • chkconfig命令设置

        chkconfig --level 级别 服务名 on|off
      • /etc/rc.d/rc.local文件配置

        vi /etc/rc.d/rc.local
      • ntsysv命令设置

        ntsysv --level 级别
    11.2.2 基于xinetd服务
    • 启动

      • 配置/etc/xinetd.d/telnet
      service 独立服务名 start|stop|restart
    • 自启动

      • chkconfig命令设置

        chkconfig 服务名 on|off
    11.2.3 源码包服务
    • 启动

      • 使用/usr/local/服务/bin/…启动脚本启动

        /usr/local/服务/bin/... start
    • 自启动

      • /etc/rc.d/rc.local文件配置

        vi /etc/rc.d/rc.local
    • 配置命令识别

      • service命令识别:软连接启动脚本到/etc/init.d目录下

      • chkconfig命令识别:启动脚本前加入

        #chkconfig: 运行级别 启动顺序 关闭 #description:说明 chkconfig --add 服务名
    12.系统管理 12.1 进程管理 ps 静态查看进程 top 动态查看进程 pstree 查看进程树 kill 杀死进程 killall 杀死进程 pkill 杀死进程 12.2 工作管理

    转入后台:

    • &
    • ctrl+z

    后台命令:

    • jobs -l 查看
    • fg %工作号 恢复到前台
    • bg %工作号 后台暂停>后台执行
    12.3 资源查看 vmstat 监控系统资源 dmesg 开机时内核检查 free 内存使用情况 /proc/cpuinfo cpu信 w 已经登陆用户信 who 已经登陆用户信 uptime 系统启动时间和平均负载 uname 查看系统与内核信 12.4 定时任务 at 一次性定时任务 crontab 循环定时任务 anacron 关机情况定时任务 13.日志管理(缺)

    常见日志文件目录:/var/log/

    13.1 rsyslogd服务

    配置文件:/etc/rsyslog.conf

    13.2 日志轮替

    @笔记分享

    本文标签: 基础Linux