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. Linux apt命令使用 以及 文本流和重定向

    apt (Advanced Packaging Tool) 是一个在Debian和Ubuntu中的Shell前端软件包管理器. apt命令执行需要超级管理员权限(root). apt语法 apt [o ...

  2. 下载kaggle数据集的小妙招

    kaggle是很多数据分析和机器学习初学者非常喜爱的数据科学竞赛平台. 这个平台上有很多接近现实业务场景的数据集,非常适合练手. 今天向大家推荐一个下载kaggle数据集的小工具--kaggleAPI ...

  3. 并发编程-线程池&J.U.C

    8. 共享模型之工具 8.1 线程池 池化技术相比大家已经屡见不鲜了,线程池.数据库连接池.Http 连接池等等都是对这个思想的应用.池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率 ...

  4. 12.VUE - v-bind 详解

    v-bind指令用于给html标签设置属性. <!-- 完整语法 --> <a v-bind:href="url"></a> <!-- 缩 ...

  5. Trees on the level UVA - 122

    Trees are fundamental in many branches of computer science (Pun definitely intended). Current stateo ...

  6. UI自动化测试框架:关键字驱动+数据驱动

    1. 关键字驱动框架简介 2. 工程结构说明 3. 工程代码实现 action 包  page_action.py business_process 包 case_process.py data_so ...

  7. 将这段美化的css代码

    很多时候如果不是用了很多样式,很难把边框修饰得好看,看了一篇博文,觉得真的挺漂亮,也挺好看. 转载的博文地址 将这段美化的css代码 border:1px solid #96c2f1;backgrou ...

  8. hdu4454 三分 求点到圆,然后在到矩形的最短路

    题意:       求点到圆,然后在到矩形的最短路. 思路:       把圆切成两半,然后对于每一半这个答案都是凸性的,最后输出两半中小的那个就行了,其中有一点,就是求点到矩形的距离,点到矩形的距离 ...

  9. Python小游戏 -- 猜数字

    Python初学者小游戏:猜数字 游戏逻辑:电脑随机生成一个数字,然后玩家猜数字,电脑提示猜的数字大了还是小了,供玩家缩小数字范围,达到既定次数后,玩家失败.若在次数内猜对,玩家获胜. 涉及知识点:r ...

  10. Portswigger web security academy:Server-side request forgery (SSRF)

    Portswigger web security academy:Server-side request forgery (SSRF) 目录 Portswigger web security acad ...