zoukankan      html  css  js  c++  java
  • <实训|第十一天>学习一下linux中的进程,文件查找,文件压缩与IO重定向

    [root@localhost~]#序言
      在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h。。。
    每天都要检查一下服务器,看看是否出现异常。那么今天我们就讲解一下关于运维工程师例行事务的知识!


     开班第十一天:

    [root@localhost~]#今天的课程大纲
    1. 查看进程,中断进程,切换进程
    2. 内存与swap分区
    3. linux中文件查找的基本方法
    4. linux中是如何解压缩文件的
    5. 关于I/O重定向的知识点
    6. 远程scp配合管道

    详细讲解:

    [root@localhost~]#查看进程,中断进程,切换进程
      
    查看进程,我们一般使用ps或者top来查看,ps可以查看当前终端运行的进程。
    ps -ef和ps aux可以查看当前系统所有的进程,top也可以查看运行的进程,通过M来按照内存排序,P按照cpu的使用率来排序。

     ②中断进程,在使用top查看当前的进程时候,我们可以通过kill + pid来结束某个进程。也可以使用pkill/killall + 进程名,
    不过这种方法尽量少用或者不用,因为你会杀掉某个含有你进程名的重要进程,除非在你非常确定的情况下。

    这里有必要说一下kill的理解,kill的本质并不是结束进程,很多人都会理解为杀掉。

    但这是我们口头说的,kill的本质其实是对进程发送信号,-1信号重启,-15信号是让进程自己退出,-9信号是系统强制结束某个进程。我们一般情况下,尽量慎重-9,原因你可以想象一下。

       ③后台任务进程的切换,假如我们使用命令:firefox &,这代表我们启动firefox,但是是后台启动,我们可以使用jobs来查看当前后台运行的任务,fg %num可以把firefox放到前台运行,只用ctrl+c来终止firefox。我们也可以使用ctrl+z来停止当前的firefox,可以使用bg %num来解停止状态。前面说的杀死进程,这我们也可以使用kill +num来结束某个任务。

    [root@localhost~]#内存与swap分区
    在linux中,内存也是一个很重要的方面,我们可以使用free -m来查看当前的内存使用情况。
    这也是一个运维工程师每天必须要关注的。
    下图中我们可以看到我们的内存使用情况,那么大家知道我现在系统中干净内存和总共可使用内存各是多少吗?
    干净内存=free=1392,总共可使用内存=free+cached=1392+177,这个值跟1595接近,
    所以我们每天可以直接看1595那个值来估计内存的事情的情况。

     上面有一个swap分区,这个分区的存在是为了缓解我们linux系统中内存不足的情况,当我们的系统中的内存使用情况比较紧缺的   时候,这时候系统就会把swap分区暂时当做内存来使用,关于swap分区设置的大小我们可以根据电脑实际内存来控制,一般就是 为实际内存的两倍。

    [root@localhost~]#linux中文件查找的基本方法
    文件找在linux中是一项非常重要的技能,一个运维工程师要做到随心所欲的在系统中寻找到自己想要的文件。
    我们在linux中常使用的文件查找方法有find和locate。①find命令。很多很多参数,我就简单写几个,如果不懂的可以查看man手册。

      find /文件路径 -name "*.iso" 通过文件名查找

      find /文件路径 -iname "*.iso" 查找不区分大小写

      find /文件路径 -inum "num" 通过inodenum查找硬链接的文件

      find /文件路径 -size +4G 查找文件大于4G的文件

      find /文件路径 -perm 777 查找权限为777的文件

     ②通过locate来查找文件,locate -b +直接文件名,查找出来的是带上文件路径一起查的。

      这里我说一下find和locate的区别:find查找文件的原理是扫描磁盘,locate查找文件的原理是查找自己的数据库,所以find的速度较慢,但是文件搜索精确,locate速度较快,但是更新较慢。locate在每天会执行周期任务,从而更新自己的数据库,如果你现在新建一个文件,通过locate是查找不到的,或许明天早上你就能查找到了。

    [root@localhost~]#linux中是如何解压缩文件的
    linux中打包和压缩的概念是完全不同的两个概念,所以不要弄混,打包是把几个文件放在一起,压缩才是跟windows中压缩差不多的概念。
    windows和linux文件共享,两个系统都识别的文件格式是zip,所以以zip文件传输是最好的,zip a.zip,unzip a.zip.

    linux中常用的压缩文件格式有gz和dz2,我说一下他们创建压缩文件具体的流程:创建tar包-->压缩tar包-->解压tar包-->解tar包,但是实际中我们没必要一步一步完成,直接两步进行到底。

     ①gz格式:tar czvf a.tar.gz b/ tar xvf a.tar.gz,分别是gz格式的压缩和解压。

     ②dz2格式:tar cjvf a.tar.dz2 b/ tar xvf a.tar.dz2,分别是dz2格式的压缩和解压。

    其实可以看出解压是一样的,因为解压的时候会自动判定压缩包的格式。其中解压的时候我们可以使用参数-C来确定解压的路径。

    我们可以在不解压的情况下查看压缩包的内容,tar tf a.tar.gz,也可以解压其中的某一个文件出来,tar xvf a.tar.gz b/a.txt。

    [root@localhost~]#关于I/O重定向的知识点
    在linux中,我们有三个标准的输入输出,标准输出stdout,标准错误输出stderr,标准输入stdin,他们的文件描述符分别是1,2,0。下面演示一个例子:
    例子说:a.txt存在,b.txt不存在,使用ls的时候,b.txt是stdout,a.txt是stdout,所以全部重定向&>到io.txt中,会显示一个错误,一个正常。

    这里讲一下键盘输入,管道输入都是标准输入。linux中需要了解的一个here document和here string。

    here document:cat>file<<EOF,我们从键盘输入,然后成为一个文件内容。

    here string:bc<<<12+23,表示计算器从字符串中读取数据来进行计算。

    [root@localhost~]#远程scp配合管道
    我们一般使用scp来远程拷贝文件,一般的命令为:scp root@ip地址:/路径 /路径。
    说道scp,不得不说说ssh了,在今后很多情况下,我们都是需要通过ssh来远程服务器,修复维护等。
    在很多情况下,我们可以使用ssh默认不登录的进行远程的监控:
    例如:ssh root@ip "uptime",查看系统运行了多长时间了,uptime也可以换成各种命令。看,我的服务器已经运行182天了。
    当然,我们也可以是用ssh进行远程文件的压缩拷贝传输:
      ssh root@ip地址 "cd / && tar -c 目录 | gzip -f" |tar -xzf-
    意思就是远程创建一个tar包,使用gzip压缩,然后通过管道重定向传输到本地。压缩文件的传输,剩了好多流量。

     总结:

    [root@localhost~]#来自爱家人爱老婆的IT男
    今天的重点是进程和文件查找,以及重定向,希望大家好好学习,天天向上!喜欢的朋友可以点一下订阅,非常感谢大家的支持!
    博客园:爱家人爱老婆的IT男
    QQ群:145252709,我会上传资源,同时会有很多大神跟你们讨论学习分享 
    微信公众号:程序猿的野生香蕉【获取文章中出现的工具】
     
    
    
    博客园:爱家人爱老婆的IT男 QQ群:145252709,我会上传资源,同时会有很多大神跟你们讨论学习分享 微信公众号:程序猿的野生香蕉【获取文章中出现的工具】
  • 相关阅读:
    Microsoft Enterprise Library 5.0 系列(二) Cryptography Application Block (初级)
    Microsoft Enterprise Library 5.0 系列(五) Data Access Application Block
    Microsoft Enterprise Library 5.0 系列(八) Unity Dependency Injection and Interception
    Microsoft Enterprise Library 5.0 系列(九) Policy Injection Application Block
    Microsoft Enterprise Library 5.0 系列(三) Validation Application Block (高级)
    软件研发打油诗祝大家节日快乐
    从挖井的故事中想到开发管理中最容易忽视的几个简单道理
    ITIL管理思想的执行工具发布
    管理类软件设计“渔”之演化
    20070926日下午工作流与ITILQQ群 事件管理 讨论聊天记录
  • 原文地址:https://www.cnblogs.com/bokeyuanlibin/p/5738408.html
Copyright © 2011-2022 走看看