• linux之任务调度,磁盘分区,yum下载


    一。crond任务调度

      调度机制:

       基本语法

    crontab [选项]
    
        -e : bianji crontab定时任务
        -l : 查询crontab
        -r : 删除当前用户所有的crontab任务

      例子:

    每分钟执行查看一次/ect目录,把目录内容写进/tml/a.txt下
    
    具体实现步骤:
    1.crontab –e
    2.*/ 1 * * * * ls -l /etc >> /tmp/a.txt
    3.保存退出

      参数细节说明:

       特殊符号说明:

     二。Linux 磁盘分区、挂载

      分区方式:

      1.mbr分区

    1.最多支持四个主分区
    2.系统只能安装在主分区上
    3.扩展分区要占一个主分区
    4.mbr最大只支持2TB,但拥有最好的兼容性

      2.gpt分区

    1.支持无限多个主分区(但操作系统会限制,比如windows下最多支持128个主分区)
    2.最大支持18EB的容量(1EB=1024PB)
    3.windows7 64位后支持gpt模式

      windows下的磁盘分区

       linux下的分区

      1.Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系统的一部分。

      2.Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录, 且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

       硬盘说明:

      现在主要的硬盘都是scsi硬盘。

      linux中对scsi硬盘的标识为"sdx~"。

      如:

      sda1:表示该磁盘的分区1。

      sda2:表示该磁盘的分区2。

       挂载的案例:

      需求是给我们的 Linux 系统增加一个新的硬盘,并且挂载到/home/newdisk。

    步骤:
    1.虚拟机添加硬盘
    2.分区
        fdisk /dev/sdb
        m    选择帮助
        n    增加分区
        p    划主分区
        1    主分区1
        1    默认
        w    写入分区信息并退出
    
    3.格式化
        mkfs -t ext4 /dev/sdb1
    
    4.挂载
        mount /dev/sdb1 /home/newdisk
    
    
    5.设置自动挂载
        vim /etc/fstab
        (内容如下)
        mount -a   立即生效

       查看磁盘系统整体使用

    df -lh

      查看指定目录的磁盘占用情况

    du             /目录
        -h    带计量单位
        -s    指令目录占用磁盘大小
        -a    含文件
        -c  列出明细,并显示汇总值
        --max-depth=1    子目录深度

      例子:

    查询  /opt 目录的磁盘占用情况,深度为 1
    du -ach --max-depth=1 /opt

      常见案例:

    1.统计/home 文件夹下文件的个数
        ls -l /home | grep '^-' | wc -l
    2.统计/home 文件夹下目录的个数
        ls -l /home | grep '^d' | wc -l
    3.统计/home 文件夹下文件的个数,包括子文件夹里的
        ls -lR /home | grep '^-' | wc -l
    4.统计文件夹下目录的个数,包括子文件夹里的
        ls -lR /home | grep '^d' | wc -l

    三,网络配置

      linux在nat模式下,原理如下:

       查看网络ip和网关:

      首先查看虚拟网络编辑器:

       修改ip地址,这里的ip是虚拟网络的ip

       查看网关:

       查看windows中的vmnet8

      1。使用命令查看:

    ipconfig

      2.界面查看:

       ping测试主机之间的网络联通:

    ping 目标ip                测试当前服务器是否可以连接目的主机
    ping www.baidu.com

      搭建linux网络环境:

      1.使用界面化配置:

       此方法缺点:
      linux 启动后会自动获取 IP,缺点是每次自动获取的 ip 地址可能不一样。这个不适用于做服务器,因为我们的服务器的 ip 需要时固定的。

      2.指定ip修改配置文件方法。

    vim  /etc/sysconfig/network-scripts/ifcfg-eth0

      

     修改文件后,要重启服务才生效

    service network restart

    四。进程管理

      1.在 LINUX 中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个 ID 号。

      2.每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。

      3.每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。

      4.一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。

      显示系统执行的进程

      查看进行使用的指令是 ps ,一般来说使用的参数是 ps -aux,ps -ef,正常与grep连用。

     

       ps指令详解:

      BSD风格详解

    user             用户名称
    pid                进程号
    %cpu            进程占用cpu百分比
    %%mem            进程占用物理内存的百分比
    vsz                进程占用虚拟内存的大小
    rss                进程占用物理内存的大小
    tty                终端名称(后台则为?)
    stat            进程状态
        S:睡眠
        s:会话的先导进程
        N:进程拥有比普通优先级更低的优先级
        R:正在运行
        D:短期等待
        Z:僵尸进程
        T:被跟踪或者被停止
    start            进程启动时间
    time            使用cpu总时间
    command            启动进程所用的命令和参数,如果过长会被截断显示

      system v风格详解

    uid             用户id
    pid                进程id
    ppid            父进程id
    C                进程占cpu百分比
    stime            进程启动时间
    tty                终端名称(后台则为?)
    cmd                启动进程所用的命令和参数

      例子:

    1.查看sshd进程的父进程id是多少

      终止进程kill和killall

      若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。

      基本语法:

    kill 进程号
        -9 强迫进程立即停止
    killall 进程名称

      查看进程树pstree

    pstree [选项]
        -p    查看进程pid
        -u      查看进程所属用户

      服务service管理

      服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是 Linux 中非常重要的知识点。

      基本使用:

    service 服务名 [start | stop | restart | reload | status]

      例子:

      1.查看当前防火墙的状况,关闭防火墙和重启防火墙(iptables)

       service这种方式关闭或者打开服务只是临时生效。重启后,还是回到以前对服务的设置。

      查看服务名:

      /etc/init.d 此文件夹下放着系统都有哪些服务

    ls -l /etc/init.d/

       服务运行级别:

    查看或者修改默认级别:    vi /etc/inittab

      Linux 系统有 7 种运行级别(runlevel):常用的是级别 3 和 5

      运行级别 0:系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动

      运行级别 1:单用户工作状态,root 权限,用于系统维护,禁止远程登陆

      运行级别 2:多用户状态(没有 NFS),不支持网络

      运行级别 3:完全的多用户状态(有 NFS),登陆后进入控制台命令行模式

      运行级别 4:系统未使用,保留

      运行级别 5:X11 控制台,登陆后进入图形 GUI 模式

      运行级别 6:系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动

      开机流程说明:

       chkconfig指令

      通过 chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭

      基本语法

    chkconfig                              查看每个服务的配置
    chkconfig 服务名                          查看具体服务的配置
    chkconfig --level 5 服务名  on/off     给服务设置是否自动启动

      chkconfig 重新设置服务后自启动或关闭,需要重启机器 reboot 才能生效。

       动态监控进程

    top

      与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程。

      基本语法:

    top [选项]
        -d            指定每隔几秒更新,默认3秒
        -i            不显示任何闲置或者僵尸进程
        -p id号        监听指定进程
    
    
    交互操作:
    P        以cpu使用率排序,默认就这个
    M        以内存使用率排序
    N        以pid排序
    u        监听具体用户
    k        终止指定进程
    q        退出top

     五。rpm和yum

      rpm

      一种用于互联网下载包的打包及安装工具.它生成具有.RPM 扩展名的文件。RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 windows 的 setup.exe

       rpm包的简单查询指令:

    rpm    –qa                查询已安装的 rpm 列表

      rpm包名的基本格式:

    firefox:名称
    45.0.1-1:版本号
    el6.centos.x86_64:centos6.X---64位

      rpm其他指令

    rpm -q 软件包名                     查看是否已经安装
    rpm -qi 软件包名                 查看软件包信息
    rpm -ql 软件包名                 查看软件包中的文件安装位置
    rpm -qf 文件(如:/etc/passwd)     查看某个文件属于哪个rpm包

      卸载rpm

    rpm -e 包名
    rpm -e firefox

      包依赖问题

      如果其它软件包依赖于你要卸载的软件包,卸载时则会产生错误信息

     rpm -e --nodeps 包名                强制删除

      安装rpm包:

    rpm -ivh RPM 包全路径名称
    
    i:install 安装
    v:verbose 提示
    h:hash 进度条

      

    例子:安装firefox
    
    1.挂载centos的iso镜像文件
    2.media下找到rpm
    3.拷贝到opt下
    4.安装

      yum

      Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联网。类似python中的pip。

      基本指令

    yum list|grep xx        查询yum服务器上是否有需要安装的包
    yum install xxx            下载安装

      清华开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/

  • 相关阅读:
    来看看面试必问的HashMap,一次彻底帮你搞定HashMap源码
    深入浅出!springboot从入门到精通,实战开发全套教程!
    讲一讲Java的字符串常量池,看完你的思路就清晰了
    面向对象的这些核心技术,你掌握后包你面试无忧
    他凭借这70份PDF,3170页文件,成功斩获了含BATJ所有的offer
    springboot实战开发全套教程,让开发像搭积木一样简单!Github星标已上10W+!
    这行代码告诉你!为什么你地下城与勇士(DNF)的装备强化老是失败?
    精益求精!Spring Boot 知识点全面回顾,带你重新细读源码!
    太妙了!Spring boot 整合 Mybatis Druid,还能配置监控?
    putchar(".:-=+*#%@"[(int)(d * 5.0f)])
  • 原文地址:https://www.cnblogs.com/LZXlzmmddtm/p/12070749.html
Copyright © 2020-2023  润新知