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. vite 动态 import 引入打包报错解决方案

    关注公众号: 微信搜索 前端工具人 ; 收货更多的干货 原文链接: 自己掘金文章 https://juejin.cn/post/6951557699079569422/ 关注公众号: 微信搜索 前端工 ...

  2. 体渲染——Volume

    基本概念   体渲染(Volume),是绘制类似烟.雾.云的效果.这种渲染和之前的表面渲染不同,光线可以在物体内部进行散射. 体渲染的主要特点    1. 可以在物体内部散射.    2. 从进入vo ...

  3. 消息中间件-ActiveMQ支持的消息协议

    package com.study.mq.a1_example.helloworld.queue; import org.apache.activemq.ActiveMQConnectionFacto ...

  4. Jenkins 项目类型及配置项

    0. 简介 1. Freestyle project 1)General 2)源码管理 3)构建触发器 4)构建环境 5)构建 6)构建后操作 2. Maven 项目 1)所有配置项 2)Build ...

  5. map的遍历方法 map.entrySet()

    代码: @Test public void TestMap() throws Exception { Map<String, String> map = new HashMap<&g ...

  6. 三个dom xss常用tips

    分享dom xss的三个案例 (1)javascript里面过滤单引号和双引号? 搭建环境: 只是过滤了单引号和双引号是可以xss的: 使用<>闭合script即可 </script ...

  7. 【接口参数解析BUG】SpringMVC接口参数解析

    今天遇到一个BUG,前端传递数字数组时,后端使用字符串类型去接收,结果无法接收到,代码如下 问题: GET请求: 前端: configJsonArray:[1,2] 后端: private Strin ...

  8. CVE-2013-2551:Internet Explore VML COALineDashStyleArray 整数溢出漏洞简单调试分析

    0x01 2013 Pwn2Own 黑客大赛 在 Pwn2Own 的黑客大赛上,来自法国的 VUPEN 安全团队再一次利用 0day 漏洞攻破 Windows8 环境下的 IE10 浏览器,这一次问题 ...

  9. Win64 驱动内核编程-29.强制解锁文件

    强制解锁文件 强制解锁因其他进程占用而无法删除的文件. 1.调用 ZwQuerySystemInformation 的 16 功能号来枚举系统里的句柄 2.打开拥有此句柄的进程并把此句柄复制到自己的进 ...

  10. 在kubernetes上运行WASM负载

    在kubernetes上运行WASM负载 WASM一般用在前端业务中,但目前有扩展到后端服务的趋势.本文使用Krustlet 将WASM服务部署到kubernetes. 简介 Krustlet 是一个 ...