5.8-12 watch、which、whereis、locate、updatedb
生活随笔
收集整理的這篇文章主要介紹了
5.8-12 watch、which、whereis、locate、updatedb
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
5.8 watch:監(jiān)視命令執(zhí)行情況
watch命令可以以全屏的方式動(dòng)態(tài)顯示命令或程序的執(zhí)行情況。 -n?? ?命令執(zhí)行的間隔時(shí)間,默認(rèn)為2s -d?? ?高亮顯示命令結(jié)果的變動(dòng)之處 -t?? ?關(guān)閉watch命令在頂部顯示的時(shí)間間隔、命令及當(dāng)前時(shí)間的輸出 每隔一秒高亮顯示網(wǎng)絡(luò)鏈接數(shù)的變化情況。 [root@cs6-mini ~]# watch -n 1 netstat -antEvery 1.0s: netstat -ant Wed May 15 21:17:20 2019Active 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監(jiān)測(cè)當(dāng)前目錄中l(wèi)ewen.log文件的變化
[root@cs6-mini ~]# echo 12345 >lewen.log [root@cs6-mini ~]# echo 12345 >>lewen.log #另外一個(gè)窗口[root@cs6-mini ~]# watch cat lewen.log Every 2.0s: cat lewen.log Wed May 15 21:18:36 201912345 12345 -t參數(shù)不顯示標(biāo)題。 [root@cs6-mini ~]# watch -t cat lewen.log12345 123455.9 which:顯示命令的全路徑
which命令用于顯示命令的全路徑,我們常用這個(gè)命令來(lái)查找命令在哪里,which命令查找的范圍是PATH環(huán)境變量的路徑。 which命令用于在PATH環(huán)境變量里查找指定的命令。 -a?? ?默認(rèn)在PATH路徑中由前往后查找命令,如果查找到了,就停止匹配。使用-a選項(xiàng)將遍歷所有PATH路徑,輸出所有匹配項(xiàng) [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 #<==如果對(duì)指定命令設(shè)置了別名,那么使用which功能還將會(huì)顯示別名的情況。 alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'/usr/bin/which [root@cs6-mini ~]# which cd #<==Bash內(nèi)置命令無(wú)法使用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/mysql5.10 whereis:顯示命令及其相關(guān)文件全路徑
whereis命令用于定位指定命令的可執(zhí)行文件、源碼文件及man幫助文件的路徑? 2)whereis命令用于在PATH環(huán)境變量里查找指定的命令。 -b?? ?查找可執(zhí)行文件 -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系統(tǒng)里有一個(gè)名為mlocate.db的數(shù)據(jù)庫(kù)文件,這個(gè)文件包含系統(tǒng)文件的文件名及對(duì)應(yīng)的路徑信息。locate命令查找文件時(shí)就不用遍歷磁盤(pán),而是直接查找mlocate.db文件,這樣可以快速給出結(jié)果,但會(huì)出現(xiàn)一個(gè)問(wèn)題,如果是新添加的文件,那么mlocate.db文件就沒(méi)有記錄,因此使用locate命令時(shí)可以先用updatedb命令更新一下mlocate.db數(shù)據(jù)庫(kù)文件。當(dāng)然,mlocate.db還會(huì)由系統(tǒng)自帶的定時(shí)任務(wù)執(zhí)行updatedb命令定期更新。 2)locate命令用于從數(shù)據(jù)庫(kù)中查找指定的命令。 -c? ? ?不顯示匹配的內(nèi)容,只顯示匹配到的行數(shù) -r? ? ?支持基本正則表達(dá)式匹配 -i? ? ?匹配時(shí)忽略大小寫(xiě) -regex 支持?jǐn)U展正則表達(dá)式匹配 查看數(shù)據(jù)庫(kù) [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 #<==系統(tǒng)自帶的定時(shí)任務(wù)腳本。 #!/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* 215.12 updatedb:更新mlocate數(shù)據(jù)庫(kù)
updatedb命令可以創(chuàng)建或者更新locate命令使用的數(shù)據(jù)庫(kù)。updatedb命令會(huì)因定時(shí)任務(wù)定期(每天)執(zhí)行。 -U?? ?更新指定目錄相關(guān)的數(shù)據(jù)庫(kù)信息。默認(rèn)是掃描整個(gè)系統(tǒng),耗時(shí)較長(zhǎng),因此可以使用這個(gè)參數(shù) -v?? ?顯示命令的執(zhí)行過(guò)程 查找文件路徑。 [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老男孩逆襲思想:新手在工作中如何問(wèn)問(wèn)題不會(huì)被鄙視 如果因害怕而不敢問(wèn)問(wèn)題,可能會(huì)無(wú)法完成工作,甚至?xí)コ砷L(zhǎng)機(jī)會(huì);如果隨意問(wèn)問(wèn)題又可能會(huì)被人鄙視,甚至丟掉工作,那么老男孩當(dāng)初入職是怎么問(wèn)問(wèn)題的呢?且看下文: 1)首先問(wèn)身邊的中低運(yùn)維同事。 因?yàn)榇蠹宜较嗖畈粫?huì)太大,同事可能不會(huì)覺(jué)得你所問(wèn)的問(wèn)題太過(guò)簡(jiǎn)單,也有可能他們也不會(huì),如果能給出解答則更好,就不用去問(wèn)其他高級(jí)運(yùn)維同事了。 2)如果中低運(yùn)維同事也不會(huì),再去問(wèn)身邊的高級(jí)運(yùn)維同事,因?yàn)橹械瓦\(yùn)維都不會(huì),所以高級(jí)運(yùn)維就不會(huì)覺(jué)得你的問(wèn)題太過(guò)簡(jiǎn)單了。 3)如果前面的人都不會(huì),最后再去問(wèn)領(lǐng)導(dǎo),首先領(lǐng)導(dǎo)可能不會(huì)覺(jué)得你的問(wèn)題過(guò)于簡(jiǎn)單,反而還可能會(huì)覺(jué)得你愛(ài)思考,問(wèn)的問(wèn)題很有水平。 通過(guò)其他同級(jí)或高級(jí)別的同事,對(duì)你所問(wèn)的問(wèn)題進(jìn)行試水、把關(guān),從而不會(huì)給領(lǐng)導(dǎo)留下不好的感覺(jué),切忌有問(wèn)題不經(jīng)過(guò)思考直接問(wèn)領(lǐng)導(dǎo),偶爾一次還可以,次數(shù)多了,結(jié)果可想而知。 但和技術(shù)不太相關(guān),屬于公司里的業(yè)務(wù)問(wèn)題可以隨時(shí)問(wèn),最好是盡早問(wèn)。例如:網(wǎng)站業(yè)務(wù)細(xì)節(jié)、網(wǎng)站架構(gòu)、運(yùn)維文檔、運(yùn)維規(guī)范、流程制度等。總結(jié)
以上是生活随笔為你收集整理的5.8-12 watch、which、whereis、locate、updatedb的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: S6 文件备份与压缩命令
- 下一篇: S5 Linux信息显示与搜索文件命令