UCA-Linux系统工程师中级知识(三)【7-9】

本文介绍了Linux系统的输入输出及重定向操作,包括标准输入输出设备、输出重定向的覆盖和追加,以及错误重定向。接着讲解了软件包的安装与管理,如dpkg和apt工具的使用,以及源码包的安装过程。此外,还涵盖了系统监控,如查看系统信息、进程状态和内存使用情况,以及进程管理,包括进程状态、top系统监视器的使用等。

目录

七:输入输出及重定向

1、输入输出

2、输出重定向

(1)错误实例

3、输入重定向

(1)管道符号 |

(2)文件操作命令

八、软件包的安装与使用

1、dpkg

(1)桌面版可直接双击安装

(2)apt(Advanced Packaging Tool)包管理工具

(3)获取deb包  (用外网提取deb包,内网安装)

2、源码包安装

 九、系统监控及进程管理

1、系统监控

(1)查询系统信息:

(2)查看/修改主机名:

(3)查看最近用户登录:

2、进程管理

(1)相关指令

(1)Linux进程的五种状态

(2)free查看系统内存使用状况

3、top系统监视器

(1)top详解

(2)top基本命令

(3)常用信号

(4)前台进程和后台后台进程

(5)lsof:查看进程打开的文件或打开文件的进程


UCA-Linux系统工程师初级知识(一)【1-3】
UCA-Linux系统工程师初级知识(二)【4-6】​​​​​​​
 

七:输入输出及重定向

1、输入输出

Linux标准输入设备是键盘,标准输出设备是显示器,标准错误输出指的是显示器
    设备          设备名     文件描述符       类型
    键盘       /dev/stdin     0           标准输入
    显示器     /dev/stdout     1           标准输出
    显示器     /dev/stderr     2           标准错误输出

2、输出重定向

把要输出到显示器的内容,输出到文件中;>表示覆盖写入 >>追加写入
示例:
    echo uos > test
    cat test
    echo bing > test
    cat test
    echo txuos >> test
    cat test

(1)错误实例

1、错误重定向:2>错误重定向
示例:
    wadwadwad 2> test
    cat test

2、双重输出重定向
    find / -user uos > test
    cat test
    find / -name passwd >file 2> test    #将正确的输出结果与错误输出结果一次性单独地送到不同的地方
    cat test
    cat file

    如果用户将不管是正确输出还是错误输结果都送到同一个指定的地方则可使用“&> 或 &>>” 来完成。
    find / -name passwd &> test
    cat test    
    find / -name passwd > test 2>&1        #脚本里使用,将错误结果也输入进文件里
    cat test

3、输入重定向

不使用标准输入端口输入文件,而是使用指定的文件作为标准输入设备;使用“<”来重定向输入源;使用 << 让系统将一次键盘的全部输入,先送入虚拟的‘当前文档’,然后一次性输入。

示例:
    cat > ok << EOF    #交互式
    123
    456
    EOF        #结束符
    cat ok


(1)管道符号 |

1、将前一个命令的执行结果作为后一个命令的执行参数
    cat /etc/passwd | grep root
    cat /etc/passwd | grep ^root

(2)文件操作命令

 1、more    文件分页查看,空格向下一屏,Ctrl+B 返回上一屏
 2、less    文件分页查看, 使用[pageup] [pagedown]来往前往后翻看文件,回车一行,空格翻页,q退出

    head /etc/passwd    默认前10行        
    head -5 /etc/passwd
    tail /etc/passwd    默认后10行
    tail -n 5 /etc/passwd
    tail -f /var/log/message    实时监测文件
    wc -l /etc/passwd   显示行数
    sort -rnk 3 -t : /etc/passwd    

        -r 以相反的顺序来排序
        -n依照数值的大小排序
        k是指按照那一列进行排序
        -t <分隔字符>指定排序时所用的栏位分隔字符。
    uniq -c uosfile
        -c 在每行旁边显示该行重复出现的次数
    sort uosfile | uniq -c
        -r 以相反排序

df -Th | grep sda2 | tr -s " " | cut -d " " -f 6 | cut -d "%" -f 1

cut -d自定义分隔符,-f分隔符后第几行, tr -s 把连续重复的字符以单独一个字符表示   

paste file1 file2 file3  把每个文件以列对列的方式,一列列地加以合并


八、软件包的安装与使用

1、dpkg

Debian Linux系统用来安装、创建和管理软件包的实用工具

    dpkg -l            #显示安装软件列表
    dpkg -l vsftpd              #查看是否安装vsftpd
    cd /home/uos/Desktop
    wget http://ftp.de.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.3-12_amd64.deb      

(1)桌面版可直接双击安装

    dpkg -I /home/qin/Desktop/vsftpd_3.0.3-12_amd64.deb     --info查看软件包信息
    dpkg -c /home/qin/Desktop/vsftpd_3.0.3-12_amd64.deb     --contents列出 deb 包的内容
    dpkg -i /home/qin/Desktop/vsftpd_3.0.3-12_amd64.deb     安装软件包
    dpkg -L vsftpd      查询vsftpd安装的文件
    dpkg -s vsftpd      查询vsftpd的详细信息
    dpkg -r vsftpd      --remove删除软件包,不清理配置文件
    dpkg -P vsftpd      --purge删除软件包,清理配置文件    
    wget http://mirrors.163.com/deepin/pool/main/a/apache2/apache2_2.4.33-4deepin_amd64.deb
    dpkg -i apache2_2.4.33-4deepin_amd64.deb    报错,存在依赖关系

(2)apt(Advanced Packaging Tool)包管理工具

    update - 更新可用软件包列表
    upgrade - 通过 安装/升级 软件来更新系统

    apt install apache2  报错,因为之前安装apache2和apache2-bin的残留
    dpkg -P apache2 
    apt install -y apache2
    apt list   列出所有可安装软件
    apt search uos      查询软件
    apt show apache2    查询apache2的详细信息
    apt remove apache2  删除软件包,不清理配置文件
    apt purge apache2   删除软件包,清理配置文件
    apt autoremove      自动删除不需要的包,例如apache2删除后的依赖包
    apt install -f      不解决依赖关系,强制安装

(3)获取deb包  (用外网提取deb包,内网安装)

    apt purge -y apache2    #会同时清除软件包和软件的配置文件        
    apt autoremove -y        #自动删除不需要的包,例如apache2删除后的依赖包
    apt clean            #删除包缓存中的所有包
    ls -l /var/cache/apt/archives/    #包缓存已清空
    apt install -d -y apache2    #把包下载到缓存中而不安装
    mkdir /home/qin/Desktop/apache2
    cp /var/cache/apt/archives/*.deb /home/qin/Desktop/apache2
    dpkg -i /home/qin/Desktop/apache2/*.deb    #安装软件包
    systemctl start apache2
    systemctl status apache2

2、源码包安装

    wget http://nginx.org/download/nginx-1.14.2.tar.gz
    tar xzvf nginx-1.14.2.tar.gz -C /tmp
    ./configure --help
    ./configure --prefix=/usr/local/nginx   --without-http_rewrite_module --without-http_gzip_module
    make && make install
    /usr/local/nginx/sbin/nginx
    netstat -upant | grep nginx


 九、系统监控及进程管理

1、系统监控

(1)查询系统信息:

    uname   显示系统信息
    uname -r    输出内核发行号
    uname -a    详细显示操作系统信息

(2)查看/修改主机名:

    hostname    查看主机名
    hostname uossystem  临时修改主机名
    vim /etc/hostname   永久修改主机名

(3)查看最近用户登录:

    last        查看最近登录的用户
    lastlog   查看所有用户的最近登录情况

2、进程管理

(1)相关指令

    ps aux  查看进程信息 
    a   表示所有关联到终端的进程,如果同时使用 x 则代表所有进程;
    u   表示列出进程的用户    

    ps aux 返回详解:
    USER    该进程是哪个用户运行的   
    PID     进程ID号
    %CPU    占用的CPU百分比
    %MEM    占用的内存百分比   
    VSZ    占用的虚拟内存(KB)  
    RSS    占用的物理内存大小(KB)
    TTY     在哪个终端运行的;
            tty1-tty6是本地字符界面终端;
            pts/0~255表示虚拟终端,一般是远程连接的终端;
            ?表示不属于任何终端,是由系统启动的
    STAT    进程状态
    START   进程的启动时间  
    TIME    进程占用CPU的运算时间,注意不是系统时间 
    COMMAND 所执行的指令

(1)Linux进程的五种状态

    R   运行状态:正在运行或在运行队列中等待
    S   休眠状态,可中断:在等待某个条件的形成或接收到信号
    D   不可中断状态:指的并不是CPU不响应外部硬件的中断,而是不响应异步信号;通常是长时间I/O等待引起
    Z   僵死状态:进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放
    T   停止状态:处于后台挂起或暂停状态,如:使用ctrl+z后台挂起就会产生该状态进程

状态后缀:
    <:优先级高的进程
    N:优先级低的进程
    L:有些页被锁进内存
    s:进程的领导者(在它之下有子进程)
    l:多线程
    +:位于后台的进程组

(2)free查看系统内存使用状况

    free -m     以MB为单位显示内存使用情况;-g是以GB为单位;默认是按照KB为单位
    total   物理内存总量
    used    已用物理内存量
    free    空闲物理内存量
    shared  被共享使用的物理内存大小
    buff/cache  表示磁盘缓存的大小
    available   还可以被应用程序使用的物理内存大小,available = free + buffer + cache

3、top系统监视器

(1)top详解

    第一行:系统当前时间 系统运行时间 当前用户登陆数 CPU平均负载(这里有三个数值,分别是系统最近1分钟,5分钟,15分钟的平均负载)

    第二行:total进程总数、 running正在运行的进程数、 sleeping睡眠的进程数、stopped停止的进程数、 zombie僵尸进程数。

    第三行:CPU使用率
    %us 用户空间占用CPU百分比
    %sy 系统内核占用CPU百分比
    %ni 调整过用户态优先级的进程的CPU时间占比
    %id 空闲的CPU百分比
    %wa 等待I/O完成的CPU时间百分比
    %hi 指的是cpu处理硬件中断的时间
    %si 指的是cpu处理软中断的时间
    %st 当Linux系统是在虚拟机中运行时,等待CPU资源的时间占比
    通常id%值可以反映一个系统cpu的闲忙程度

    第四、五行:物理内存和swap使用情况

    第六行:进程详细信息
    PID 进程PID号
    USER    运行进程的用户
    PR  从系统内核角度看的进程调度优先级
    NI  进程的nice值,即从用户空间角度看的进程优先级。值越低,优先级越高
    VIRT    进程申请使用的虚拟内存量
    RES 进程使用的物理内存量
    SHR 进程使用的共享内存量
    S   进程状态
    %CPU    CPU占用百分比
    %MEM    物理内存占用百分
    TIME+   进程创建后至今占用的CPU时间
    COMMAND 运行进程使用的命令

(2)top基本命令

    top常用快捷键
        h   查看帮助信息
        q   退出top
        k   杀掉进程
        N   按照PID对进程排序。
        M   按%MEM对进程排序。
        P   按%CPU对进程排序。
        T   按TIME+对进程排序
        kill终止进程
    kill -l 查看所有信号

(3)常用信号

        1(HUP):重新加载进程
        9(KILL):强制杀死进程
        15(TERM):正常停止一个进程

(4)前台进程和后台后台进程

    前台进程:一个命令执行后,独占shell终端,并拒绝其他输入
    后台进程又称为守护进程,不受终端控制

示例:
    ping www.baidu.com
    ctrl+z    将当前正在运行的命令放入后台并挂起(暂停)
    ctrl+c    终止前台进程
    ping www.baidu.com &    &表示将当前执行的命令放入后台并继续运行
    jobs    查看后台进程
    fg 1    fg [%作业号]    前台恢复运行
    kill -9 %2  kill [%作业号]     给对应的进程发送终止信号

(5)lsof:查看进程打开的文件或打开文件的进程

示例:
    lsof -p 1359    查看某个进程打开的所有文件
    lsof -u root    查看某个用户打开的所有文件
    lsof -u ^root   查看不是某个用户打开的文件,也就是取反,在用户名前加^
    lsof /dev/null  查看某个文件被哪些进程打开使用
    lsof -i:22  查看某个端口的使用情况

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITC小浪花、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值