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. 《Python编程:从入门到实践》基础知识部分学习笔记整理

    简介 此笔记为<Python编程:从入门到实践>中前 11 章的基础知识部分的学习笔记,不包含后面的项目部分. 书籍评价 从系统学习 Python 的角度,不推荐此书,个人更推荐使用< ...

  2. 一.文件处理和json模块(容易混淆知识点即用法)

    一.文件处理 注意点1: 打开文件包含两部分资源:操作系统级打开得文件+应用程序的变量. 在操作完毕一个文件时,必须把该文件的两部分资源一个不落的回收 如下: f.close() #回收操作系统级打开 ...

  3. 004-Java中的运算符

    @ 目录 一.运算符 一.分类 二.算数运算符 三.关系运算符 四.逻辑运算符 五.赋值运算符 六.条件运算符(三目运算符) 七.+运算符 一.运算符 一.分类 二.算数运算符 加  $+$ 减  $ ...

  4. Message Decoding UVA - 213

     Some message encoding schemes require that an encoded message be sent in two parts. The fifirst par ...

  5. 谈谈react hooks的优缺点

    前言Hook 是 React 16.8 的新增特性.它是完全可选的,并且100%向后兼容.它可以让你使用函数组件的方式,运用类组件以及 react 其他的一些特性,比如管理状态.生命周期钩子等.从概念 ...

  6. 【cypress】4. 丰富的调试工具

    Cypress附带了一系列调试工具来帮助我们弄明白测试的经过,利于我们更好的调试. 具体这些工具的能力都有啥? 回到每个命令的快照. 可以看到特殊的已发生的page events. 接收关于每个命令的 ...

  7. 基于Docker安装的MindSpore-1.2 GPU版本

    技术背景 在前面一篇博客中,我们介绍过MindSpore-CPU版本的Docker部署以及简单的案例测试,当时官方还不支持GPU版本的Docker容器化部署.经过MindSpore团队的努力,1.2. ...

  8. 【MySQL】实现线上千万数据表添加字段操作以及缓存刷新

    需求背景: 由于业务需求,需要在线上用户表添加渠道字段,用于区分不同渠道注册的用户,目前该表有20+个字段,8个索引 线上用户数据大概1500W左右,需要不停机增加数据库字段,同时需要刷新Redis缓 ...

  9. Windows PE第6章 栈与重定位表

    第六章 栈与重定位表 本章主要介绍栈和代码重定位.站和重定位表两者并没有必然的联系,但都和代码有关.栈描述的是代码运行过程中,操作系统为调度程序之间相互调用关系,或临时存放操作数而设置的一种数据结构. ...

  10. Windows 驱动加载程序代码

    #include <windows.h> #include <winsvc.h> #include <conio.h> #include <stdio.h&g ...