5.8 watch:监视命令执行情况

watch命令可以以全屏的方式动态显示命令或程序的执行情况。
 
-n    命令执行的间隔时间,默认为2s
-d    高亮显示命令结果的变动之处
-t    关闭watch命令在顶部显示的时间间隔、命令及当前时间的输出
 
每隔一秒高亮显示网络链接数的变化情况。
[root@cs6-mini ~]# watch -n 1 netstat -ant

Every 1.0s: netstat -ant                                                                Wed May 15 21:17:20 2019

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 10.0.0.100:22 10.0.0.1:11596 ESTABLISHED
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN

监测当前目录中lewen.log文件的变化

[root@cs6-mini ~]# echo 12345 >lewen.log
[root@cs6-mini ~]# echo 12345 >>lewen.log #另外一个窗口 [root@cs6-mini ~]# watch cat lewen.log
Every 2.0s: cat lewen.log Wed May 15 21:18:36 2019 12345
12345
-t参数不显示标题。
[root@cs6-mini ~]# watch -t cat lewen.log 12345
12345

5.9 which:显示命令的全路径

   which命令用于显示命令的全路径,我们常用这个命令来查找命令在哪里,which命令查找的范围是PATH环境变量的路径。
which命令用于在PATH环境变量里查找指定的命令。
-a    默认在PATH路径中由前往后查找命令,如果查找到了,就停止匹配。使用-a选项将遍历所有PATH路径,输出所有匹配项
[root@cs6-mini ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@cs6-mini ~]# which date
/bin/date
[root@cs6-mini ~]# which which #<==如果对指定命令设置了别名,那么使用which功能还将会显示别名的情况。
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
/usr/bin/which
[root@cs6-mini ~]# which cd #<==Bash内置命令无法使用which。
/usr/bin/which: no cd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) [root@doit ~]# which -a mysql
/usr/bin/mysql

5.10 whereis:显示命令及其相关文件全路径

    whereis命令用于定位指定命令的可执行文件、源码文件及man帮助文件的路径 
2)whereis命令用于在PATH环境变量里查找指定的命令。
 
-b    查找可执行文件
-s    查找源代码文件
-m    查找man帮助文件
 
[root@doit ~]# whereis  svn
svn: /usr/bin/svn /usr/share/man/man1/svn.1.gz
[root@doit ~]# whereis -b svn
svn: /usr/bin/svn
[root@doit ~]# whereis -s svn
svn:[root@doit ~]#
Linux工程师工作中用得最多的还是查找命令所在路径,因此which更常用。

5.11 locate:快速定位文件路径

 
yum  -y install mlocate
 
    Linux系统里有一个名为mlocate.db的数据库文件,这个文件包含系统文件的文件名及对应的路径信息。locate命令查找文件时就不用遍历磁盘,而是直接查找mlocate.db文件,这样可以快速给出结果,但会出现一个问题,如果是新添加的文件,那么mlocate.db文件就没有记录,因此使用locate命令时可以先用updatedb命令更新一下mlocate.db数据库文件。当然,mlocate.db还会由系统自带的定时任务执行updatedb命令定期更新。
 
2)locate命令用于从数据库中查找指定的命令。
 
 
-c     不显示匹配的内容,只显示匹配到的行数
-r     支持基本正则表达式匹配
-i     匹配时忽略大小写
-regex 支持扩展正则表达式匹配
 
查看数据库

[root@cs6-mini ~]# ll -h /var/lib/mlocate/mlocate.db
-rw-r-----. 1 root slocate 540K May 15 21:38 /var/lib/mlocate/mlocate.db
[root@cs6-mini ~]# cat /etc/cron.daily/mlocate.cron #<==系统自带的定时任务脚本。
#!/bin/sh
nodevs=$(< /proc/filesystems awk '$1 == "nodev" && $2 != "zfs" { print $2 }')
renice +19 -p $$ >/dev/null 2>&1
ionice -c2 -n7 -p $$ >/dev/null 2>&1
/usr/bin/updatedb -f "$nodevs"
使用通配符查找文件路径

[root@cs6-mini ~]# locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells
[root@cs6-mini ~]# locate /etc/sh*
/etc/shadow
/etc/shadow-
/etc/shells
[root@cs6-mini ~]# locate -c /etc/*sh*
21

5.12 updatedb:更新mlocate数据库

    updatedb命令可以创建或者更新locate命令使用的数据库。updatedb命令会因定时任务定期(每天)执行。
 
-U    更新指定目录相关的数据库信息。默认是扫描整个系统,耗时较长,因此可以使用这个参数
-v    显示命令的执行过程
 
 
查找文件路径。
[root@cs6-mini ~]# locate pwd
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
[root@cs6-mini ~]# updatedb
[root@cs6-mini ~]# locate pwd
/bin/pwd
/etc/.pwd.lock
/lib/modules/2.6.32-754.el6.x86_64/kernel/drivers/watchdog/hpwdt.ko
/sbin/unix_chkpwd
/usr/bin/pwdx
/usr/lib64/cracklib_dict.pwd
/usr/lib64/python2.6/lib-dynload/spwdmodule.so [root@cs6-mini ~]# locate -c pwd
15
[root@cs6-mini ~]# locate lewen.log
/root/lewen.log
[root@cs6-mini ~]# touch lewen20190115
[root@cs6-mini ~]# locate lewen
/home/lewen
/root/lewen.log
/root/lewen.nc
/root/lewen.txt
/var/db/sudo/lewen
/var/spool/mail/lewen
[root@cs6-mini ~]# updatedb -vU /root/
/root/test.txt
/root/fav.jpg
/root/.bashrc
/root/hello.txt
...
[root@cs6-mini ~]# locate lewen
/root/lewen.log
/root/lewen.nc
/root/lewen.txt
/root/lewen20190115  
 
 
5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视
如果因害怕而不敢问问题,可能会无法完成工作,甚至会失去成长机会;如果随意问问题又可能会被人鄙视,甚至丢掉工作,那么老男孩当初入职是怎么问问题的呢?且看下文:
1)首先问身边的中低运维同事。
因为大家水平相差不会太大,同事可能不会觉得你所问的问题太过简单,也有可能他们也不会,如果能给出解答则更好,就不用去问其他高级运维同事了。
2)如果中低运维同事也不会,再去问身边的高级运维同事,因为中低运维都不会,所以高级运维就不会觉得你的问题太过简单了。
3)如果前面的人都不会,最后再去问领导,首先领导可能不会觉得你的问题过于简单,反而还可能会觉得你爱思考,问的问题很有水平。
通过其他同级或高级别的同事,对你所问的问题进行试水、把关,从而不会给领导留下不好的感觉,切忌有问题不经过思考直接问领导,偶尔一次还可以,次数多了,结果可想而知。
但和技术不太相关,属于公司里的业务问题可以随时问,最好是尽早问。例如:网站业务细节、网站架构、运维文档、运维规范、流程制度等。
 

5.8-12 watch、which、whereis、locate、updatedb的更多相关文章

  1. Linux下查找文件:which、whereis、locate、find 命令的区别

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.which       查看可执行文件的位置,通过环境变量查whereis    查看文件的位置,通过数据库查,每 ...

  2. 摘要: Linux下which、whereis、locate、find命令的区别

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. which    ...

  3. Linux下的五个查找命令:grep、find、locate、whereis、which

    原文转自 http://www.cnblogs.com/wanqieddy/archive/2011/07/15/2107071.html 1.grep grep(General Regular Ex ...

  4. Linux下which、whereis、locate、find 命令的区别

    1.which 作用:查看可执行文件的位置(通过 PATH环境变量到该路径内查找可执行文件) 语法:which 可执行文件名称 示例: zsm@wilburUbun:/$ which passwd / ...

  5. Linux下which、whereis、locate、find命令的区别

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料(参考资料1),因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. w ...

  6. which、whereis、locate、find 命令用法

    which.whereis.locate.find 命令用法   大部分转自http://312788172.iteye.com/blog/730280,有修改 我们经常在linux要查找某个文件,但 ...

  7. [转]Linux下which、whereis、locate、find 命令的区别

    转自:http://312788172.iteye.com/blog/730280 我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料,因为有 ...

  8. linux中查找命令find、locate、whereis、which、type区别

    linux中查找命令find.locate.whereis.which.type区别 1. find Java代码 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/ ...

  9. Linux下which、whereis、locate、find 区别

    我们经常在linux要查找某个文件或命令,但不知道放在哪里了,可以使用下面的一些命令来搜索.which      查看可执行文件的位置 whereis    查看文件的位置 locate     配合 ...

  10. Linux下which、whereis、locate、find 命令查找文件

     转自:http://blog.csdn.net/gh320/article/details/17411743 我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索 ...

随机推荐

  1. Spring (二)SpringIoC和DI注解开发

    1.Spring配置数据源 1.1 数据源(连接池)的作用 数据源(连接池)是提高程序性能出现的 事先实例化数据源,初始化部分连接资源 使用连接资源时从数据源中获取 使用完毕后将连接资源归还给数据源 ...

  2. 学习WEB前端是应该自学还是参加培训机构?

    先说观点,我强烈建议每个人都要自学,不要参加培训班. 我干web前端工程师这个职位已经有6年多的时间,之前在蚂蚁金服做过2年,后来离开是因为加班实在熬不住才走的,像这些已经上市的互联网公司几乎没有不加 ...

  3. Score UVA - 1585

    ​ There is an objective test result such as "OOXXOXXOOO". An 'O' means a correct answer of ...

  4. mysql is null 和 =null 区别

    数据库中 null 表示 不可知,不确定所以 判断都用 字段 is null的方式进行判断而 = null .<> null 的判断结果,仍然是不可知,不确定,所以 不会返回任何结果.或者 ...

  5. 仅用一句SQL更新整张表的涨跌幅、涨跌率

    问题场景 各大平台店铺的三项评分(物流.服务.商品)变化情况: 商品每日价格的变化记录: 股票的实时涨跌浮: 复现场景 表:主键ID,商品编号,记录时的时间,记录时的价格,创建时间. 问题:获取每个商 ...

  6. 10- JMeter5.1.1 工具快速入门

    什么是JMeter JMeter是Apache组织开发的开源软件,由Java语言实现. 主要用于软件系统性能测试,他最初被设计用于web测试,后来被扩展到其他领域. Jmeter特点 http://w ...

  7. 【新手/零基础】Hexo+Gitee个人博客搭建教程--详细版

    前言 点此转到--精简版 可能很多小伙伴都有搭建一个属于自己的博客的想法.但是经常是无奈于自己匮乏的知识.但是,每个老手都是新手过来的,再困难的事情,只要肯花一点时间都可以办成. 本次教程分为详细版和 ...

  8. 【JDK8】Java8 Stream流API常用操作

    Java版本现在已经发布到JDK13了,目前公司还是用的JDK8,还是有必要了解一些JDK8的新特性的,例如优雅判空的Optional类,操作集合的Stream流,函数式编程等等;这里就按操作例举一些 ...

  9. 【工具类】Stream流构建指定长度的时间集合

    package com.gabriel.stage.utils; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.Dat ...

  10. hdu4280 最大流DINIC

    题意:       x最小的到x最大的点同一时间的最大运输量. 思路:       裸的最大流,不解释,注意一点,记得加上防爆栈. #pragma comment(linker, "/STA ...