2017-08-07 每天2个Linux命令 watch命令
watch命令以周期性的方式执行给定的指令,指令输出以全屏方式显示。
(1)用法:
用法: watch [参数] [命令]
(2)功能:
功能: 可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令。
FreeBSD和Linux下watch命令的不同,在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果,
如:watch -n 1 -d netstat -ant,而在FreeBSD下的watch命令是查看其它用户的正在运行的操作,
watch允许你偷看其它terminal正在做什么,该命令只能让超级用户使用。
(3)选项参数:
1) -d: 高亮显示指令输出信息不同之处;
2) -n --interval 可以用-n或-interval来指定间隔的时间。
3) -t: 不显示标题。
(4)实例:
1)[root@localhost sunjimeng]# watch ls -l 以全屏的方式显示watch后的命令的查询结果(默认每2秒更新一次)
复制代码
Every 2.0s: ls -l Tue Jun 7 23:36:39 2016
总用量 4
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Desktop
drwxrwxr-x. 4 sunjimeng users 4096 5月 28 00:24 Document
drwxr-xr-x. 4 root sunjimeng 48 6月 7 23:34 Documents
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Downloads
drwxrwxr-x. 2 sunjimeng sunjimeng 6 5月 17 04:55 findTextDir
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Music
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Pictures
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Public
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Templates
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Videos
2)[root@localhost sunjimeng]# watch -n 5 netstat -ntlp 以每5秒执行一次的方式全屏显示命令执行的结果
复制代码
Every 5.0s: netstat -ntlp Tue Jun 7 23:40:28 2016
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1282/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3269/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2527/master
tcp6 0 0 :::22 :::* LISTEN 1282/sshd
tcp6 0 0 ::1:631 :::* LISTEN 3269/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 2527/master
netstat显示网络链接数的变化情况。
3)[root@localhost Documents]# watch -t ls -l 不显示标题
Every 2.0s: ls -l Tue Jun 7 23:46:54 2016
总用量 0
drwxr-xr-x. 2 root root 72 5月 31 18:25 grepDir
-rw-r--r--. 1 root root 0 6月 7 23:34 myfile
drwxr-xr-x. 2 root root 6 6月 7 23:33 newWatch
总用量 0
drwxr-xr-x. 2 root root 72 5月 31 18:25 grepDir
-rw-r--r--. 1 root root 0 6月 7 23:34 myfile
drwxr-xr-x. 2 root root 6 6月 7 23:33 newWatch
4)[root@localhost Documents]# watch ‘ps aux|grep httpd’ 查看某个进程,定时刷新,比较常用。
Every 2.0s: ps aux|grep httpd \ Tue Jun 7 23:50:35 2016
root 21479 0.0 0.0 125424 1740 pts/2 S+ 23:50 0:00 watch ps aux|grep httpd
root 21514 0.0 0.0 125420 460 pts/2 S+ 23:50 0:00 watch ps aux|grep httpd
root 21515 0.0 0.0 113116 1384 pts/2 S+ 23:50 0:00 sh -c ps aux|grep httpd
root 21517 0.0 0.0 112656 952 pts/2 S+ 23:50 0:00 grep httpd
2017-08-07 每天2个Linux命令 at命令
at命令用于在指定时间执行命令。at允许使用一套相当复杂的指定时间的方法。可以用相对时间法指定,也可以用绝对时间法指定。
(1)用法:
用法: at [选项参数] [时间]
(2)功能:
功能: 在指定的时间执行命令。
(3)选项参数:
1) -c 显示即将执行任务的细节
2) -d 用任务id号删除指定的任务
3) -l 等同于atq,用job的id号显示指定的未删除而待执行的任务
(4)实例:
1)[root@localhost sunjimeng]# at now + 1 minutes 用相对时间,在一分钟之后执行命令
[root@localhost sunjimeng]# at now + 2 minutes
at> echo "I'm MenAngel!,I'm study at order!"
at> <EOT>
job 11 at Wed Jun 8 17:46:00 2016
at> <EOT>
<这里输入 [ctrl] + d 就会出现 <EOF> 的字样代表结束!
当你输入下一个命令时,系统会自动提醒你,您在 /var/spool/mail/sunjimeng 中有邮件。此邮件中就包含这个命令执行的结果。
2)[root@localhost sunjimeng]# at 17:47 在一个绝对时间执行一个命令
[root@localhost sunjimeng]# at 17:47
at> ls -l /home/sunjimeng/Documents
at> <EOT>
job 13 at Wed Jun 8 17:47:00 2016
您在 /var/spool/mail/sunjimeng 中有新邮件
这里在语句的末尾提醒你有新邮件,可以用cat命令查看文件:/var/spool/mail/sunjimeng。
3)[root@localhost sunjimeng]# atq 计划任务设定后,在没有执行之前我们可以用atq命令来查看系统没有执行工作任务
复制代码
[root@localhost sunjimeng]# atq
1 Wed Jun 8 17:21:00 2016 a root
2 Wed Jun 8 17:23:00 2016 a root
3 Wed Jun 8 17:23:00 2016 a root
4 Wed Jun 8 17:26:00 2016 a root
5 Sat Jun 11 17:00:00 2016 a root
6 Wed Jun 8 17:31:00 2016 a root
4)[root@localhost sunjimeng]# atq 删除已经设置的任务
复制代码
[root@localhost sunjimeng]# atq
1 Wed Jun 8 17:21:00 2016 a root
2 Wed Jun 8 17:23:00 2016 a root
3 Wed Jun 8 17:23:00 2016 a root
4 Wed Jun 8 17:26:00 2016 a root
5 Sat Jun 11 17:00:00 2016 a root
6 Wed Jun 8 17:31:00 2016 a root
[root@localhost sunjimeng]# atrm 1 2 3 4 5
[root@localhost sunjimeng]# atq
6 Wed Jun 8 17:31:00 2016 a root
5)[root@localhost sunjimeng]# cat /var/spool/mail/sunjimeng 显示at命令的执行结果
复制代码
[root@localhost sunjimeng]# cat /var/spool/mail/sunjimeng
From root@localhost.localdomain Wed Jun 8 17:46:01 2016
Return-Path: <root@localhost.localdomain>
X-Original-To: sunjimeng
Delivered-To: sunjimeng@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid 0)
id 24622632F338; Wed, 8 Jun 2016 17:46:01 -0700 (PDT)
Subject: Output from your job 11
To: sunjimeng@localhost.localdomain
Message-Id: <20160609004601.24622632F338@localhost.localdomain>
Date: Wed, 8 Jun 2016 17:46:01 -0700 (PDT)
From: root@localhost.localdomain (root)
I'm MenAngel!,I'm study at order!
From root@localhost.localdomain Wed Jun 8 17:47:00 2016
Return-Path: <root@localhost.localdomain>
X-Original-To: sunjimeng
Delivered-To: sunjimeng@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid 0)
id C83A5632F338; Wed, 8 Jun 2016 17:47:00 -0700 (PDT)
Subject: Output from your job 13
To: sunjimeng@localhost.localdomain
Message-Id: <20160609004700.C83A5632F338@localhost.localdomain>
Date: Wed, 8 Jun 2016 17:47:00 -0700 (PDT)
From: root@localhost.localdomain (root)
总用量 0
drwxr-xr-x. 2 root root 72 5月 31 18:25 grepDir
-rw-r--r--. 1 root root 0 6月 7 23:34 myfile
drwxr-xr-x. 2 root root 6 6月 7 23:33 newWatch
From root@localhost.localdomain Wed Jun 8 17:47:00 2016
Return-Path: <root@localhost.localdomain>
X-Original-To: sunjimeng
Delivered-To: sunjimeng@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid 0)
id C9EA3632F33A; Wed, 8 Jun 2016 17:47:00 -0700 (PDT)
Subject: Output from your job 12
To: sunjimeng@localhost.localdomain
Message-Id: <20160609004700.C9EA3632F33A@localhost.localdomain>
Date: Wed, 8 Jun 2016 17:47:00 -0700 (PDT)
From: root@localhost.localdomain (root)
总用量 0
drwxr-xr-x. 2 root root 72 5月 31 18:25 grepDir
-rw-r--r--. 1 root root 0 6月 7 23:34 myfile
drwxr-xr-x. 2 root root 6 6月 7 23:33 newWatch
From root@localhost.localdomain Wed Jun 8 17:52:01 2016
Return-Path: <root@localhost.localdomain>
X-Original-To: sunjimeng
Delivered-To: sunjimeng@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid 0)
id F3239632F338; Wed, 8 Jun 2016 17:52:00 -0700 (PDT)
Subject: Output from your job 14
To: sunjimeng@localhost.localdomain
Message-Id: <20160609005200.F3239632F338@localhost.localdomain>
Date: Wed, 8 Jun 2016 17:52:00 -0700 (PDT)
From: root@localhost.localdomain (root)
I'm MenAngel
From root@localhost.localdomain Wed Jun 8 17:54:00 2016
Return-Path: <root@localhost.localdomain>
X-Original-To: sunjimeng
Delivered-To: sunjimeng@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid 0)
id 4B264632F338; Wed, 8 Jun 2016 17:54:00 -0700 (PDT)
Subject: Output from your job 15
To: sunjimeng@localhost.localdomain
Message-Id: <20160609005400.4B264632F338@localhost.localdomain>
Date: Wed, 8 Jun 2016 17:54:00 -0700 (PDT)
From: root@localhost.localdomain (root)
总用量 4
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Desktop
drwxrwxr-x. 4 sunjimeng users 4096 5月 28 00:24 Document
drwxr-xr-x. 4 root sunjimeng 48 6月 7 23:34 Documents
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Downloads
drwxrwxr-x. 2 sunjimeng sunjimeng 6 5月 17 04:55 findTextDir
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Music
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Pictures
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Public
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Templates
drwxr-xr-x. 2 sunjimeng sunjimeng 6 5月 1 01:23 Videos
From root@localhost.localdomain Wed Jun 8 17:54:00 2016
Return-Path: <root@localhost.localdomain>
X-Original-To: sunjimeng
Delivered-To: sunjimeng@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid 0)
id 4E5D2632F33A; Wed, 8 Jun 2016 17:54:00 -0700 (PDT)
Subject: Output from your job 16
To: sunjimeng@localhost.localdomain
Message-Id: <20160609005400.4E5D2632F33A@localhost.localdomain>
Date: Wed, 8 Jun 2016 17:54:00 -0700 (PDT)
From: root@localhost.localdomain (root)
总用量 0
drwxr-xr-x. 2 root root 72 5月 31 18:25 grepDir
-rw-r--r--. 1 root root 0 6月 7 23:34 myfile
drwxr-xr-x. 2 root root 6 6月 7 23:33 newWatch
6)[sunjimeng@localhost ~]$ at -c 18 根据id号查看即将要执行命令的细节
复制代码
[sunjimeng@localhost ~]$ atq //显示结果表明没有即将要执行的任务
[sunjimeng@localhost ~]$ at now + 1 minutes //新建一个要执行的任务
at> ls -l
at> <EOT>
job 18 at Wed Jun 8 18:09:00 2016
[sunjimeng@localhost ~]$ atq //查看
18 Wed Jun 8 18:09:00 2016 a sunjimeng
[sunjimeng@localhost ~]$ at -c 18 //根据id号查看,它的即将执行的细节
#!/bin/sh
# atrun uid=1000 gid=1000
# mail sunjimeng 0
umask 2
XDG_VTNR=1; export XDG_VTNR
SSH_AGENT_PID=3132; export SSH_AGENT_PID
XDG_SESSION_ID=2; export XDG_SESSION_ID
HOSTNAME=localhost.localdomain; export HOSTNAME
IMSETTINGS_INTEGRATE_DESKTOP=yes; export IMSETTINGS_INTEGRATE_DESKTOP
GPG_AGENT_INFO=/run/user/1000/keyring-CchymL/gpg:0:1; export GPG_AGENT_INFO
VTE_VERSION=3406; export VTE_VERSION
SHELL=/bin/bash; export SHELL
XDG_MENU_PREFIX=gnome-; export XDG_MENU_PREFIX
HISTSIZE=1000; export HISTSIZE
GJS_DEBUG_OUTPUT=stderr; export GJS_DEBUG_OUTPUT
WINDOWID=25197065; export WINDOWID
GNOME_KEYRING_CONTROL=/run/user/1000/keyring-CchymL; export GNOME_KEYRING_CONTROL
GJS_DEBUG_TOPICS=JS\ ERROR\;JS\ LOG; export GJS_DEBUG_TOPICS
IMSETTINGS_MODULE=IBus; export IMSETTINGS_MODULE
USER=sunjimeng; export USER
LS_COLORS=rs=0:di=38\;5\;27:ln=38\;5\;51:mh=44\;38\;5\;15:pi=40\;38\;5\;11:so=38\;5\;13:do=38\;5\;5:bd=48\;5\;232\;38\;5\;11:cd=48\;5\;232\;38\;5\;3:or=48\;5\;232\;38\;5\;9:mi=05\;48\;5\;232\;38\;5\;15:su=48\;5\;196\;38\;5\;15:sg=48\;5\;11\;38\;5\;16:ca=48\;5\;196\;38\;5\;226:tw=48\;5\;10\;38\;5\;16:ow=48\;5\;10\;38\;5\;21:st=48\;5\;21\;38\;5\;15:ex=38\;5\;34:\*.tar=38\;5\;9:\*.tgz=38\;5\;9:\*.arc=38\;5\;9:\*.arj=38\;5\;9:\*.taz=38\;5\;9:\*.lha=38\;5\;9:\*.lz4=38\;5\;9:\*.lzh=38\;5\;9:\*.lzma=38\;5\;9:\*.tlz=38\;5\;9:\*.txz=38\;5\;9:\*.tzo=38\;5\;9:\*.t7z=38\;5\;9:\*.zip=38\;5\;9:\*.z=38\;5\;9:\*.Z=38\;5\;9:\*.dz=38\;5\;9:\*.gz=38\;5\;9:\*.lrz=38\;5\;9:\*.lz=38\;5\;9:\*.lzo=38\;5\;9:\*.xz=38\;5\;9:\*.bz2=38\;5\;9:\*.bz=38\;5\;9:\*.tbz=38\;5\;9:\*.tbz2=38\;5\;9:\*.tz=38\;5\;9:\*.deb=38\;5\;9:\*.rpm=38\;5\;9:\*.jar=38\;5\;9:\*.war=38\;5\;9:\*.ear=38\;5\;9:\*.sar=38\;5\;9:\*.rar=38\;5\;9:\*.alz=38\;5\;9:\*.ace=38\;5\;9:\*.zoo=38\;5\;9:\*.cpio=38\;5\;9:\*.7z=38\;5\;9:\*.rz=38\;5\;9:\*.cab=38\;5\;9:\*.jpg=38\;5\;13:\*.jpeg=38\;5\;13:\*.gif=38\;5\;13:\*.bmp=38\;5\;13:\*.pbm=38\;5\;13:\*.pgm=38\;5\;13:\*.ppm=38\;5\;13:\*.tga=38\;5\;13:\*.xbm=38\;5\;13:\*.xpm=38\;5\;13:\*.tif=38\;5\;13:\*.tiff=38\;5\;13:\*.png=38\;5\;13:\*.svg=38\;5\;13:\*.svgz=38\;5\;13:\*.mng=38\;5\;13:\*.pcx=38\;5\;13:\*.mov=38\;5\;13:\*.mpg=38\;5\;13:\*.mpeg=38\;5\;13:\*.m2v=38\;5\;13:\*.mkv=38\;5\;13:\*.webm=38\;5\;13:\*.ogm=38\;5\;13:\*.mp4=38\;5\;13:\*.m4v=38\;5\;13:\*.mp4v=38\;5\;13:\*.vob=38\;5\;13:\*.qt=38\;5\;13:\*.nuv=38\;5\;13:\*.wmv=38\;5\;13:\*.asf=38\;5\;13:\*.rm=38\;5\;13:\*.rmvb=38\;5\;13:\*.flc=38\;5\;13:\*.avi=38\;5\;13:\*.fli=38\;5\;13:\*.flv=38\;5\;13:\*.gl=38\;5\;13:\*.dl=38\;5\;13:\*.xcf=38\;5\;13:\*.xwd=38\;5\;13:\*.yuv=38\;5\;13:\*.cgm=38\;5\;13:\*.emf=38\;5\;13:\*.axv=38\;5\;13:\*.anx=38\;5\;13:\*.ogv=38\;5\;13:\*.ogx=38\;5\;13:\*.aac=38\;5\;45:\*.au=38\;5\;45:\*.flac=38\;5\;45:\*.mid=38\;5\;45:\*.midi=38\;5\;45:\*.mka=38\;5\;45:\*.mp3=38\;5\;45:\*.mpc=38\;5\;45:\*.ogg=38\;5\;45:\*.ra=38\;5\;45:\*.wav=38\;5\;45:\*.axa=38\;5\;45:\*.oga=38\;5\;45:\*.spx=38\;5\;45:\*.xspf=38\;5\;45:; export LS_COLORS
SSH_AUTH_SOCK=/run/user/1000/keyring-CchymL/ssh; export SSH_AUTH_SOCK
SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/2990,unix/unix:/tmp/.ICE-unix/2990; export SESSION_MANAGER
USERNAME=sunjimeng; export USERNAME
GNOME_SHELL_SESSION_MODE=classic; export GNOME_SHELL_SESSION_MODE
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/sunjimeng/.local/bin:/home/sunjimeng/bin; export PATH
MAIL=/var/spool/mail/sunjimeng; export MAIL
DESKTOP_SESSION=gnome-classic; export DESKTOP_SESSION
QT_IM_MODULE=ibus; export QT_IM_MODULE
PWD=/home/sunjimeng; export PWD
XMODIFIERS=@im=ibus; export XMODIFIERS
GNOME_KEYRING_PID=2967; export GNOME_KEYRING_PID
LANG=zh_CN.utf8; export LANG
GDM_LANG=zh_CN.utf8; export GDM_LANG
GDMSESSION=gnome-classic; export GDMSESSION
HISTCONTROL=ignoredups; export HISTCONTROL
XDG_SEAT=seat0; export XDG_SEAT
HOME=/home/sunjimeng; export HOME
SHLVL=2; export SHLVL
GNOME_DESKTOP_SESSION_ID=this-is-deprecated; export GNOME_DESKTOP_SESSION_ID
LOGNAME=sunjimeng; export LOGNAME
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-O0naLUCbYg,guid=ad8d9a1bab9eccd8c11d0a6257493a83; export DBUS_SESSION_BUS_ADDRESS
LESSOPEN=\|\|/usr/bin/lesspipe.sh\ %s; export LESSOPEN
WINDOWPATH=1; export WINDOWPATH
XDG_RUNTIME_DIR=/run/user/1000; export XDG_RUNTIME_DIR
COLORTERM=gnome-terminal; export COLORTERM
XAUTHORITY=/run/gdm/auth-for-sunjimeng-Bcg9Bg/database; export XAUTHORITY
cd /home/sunjimeng || {
echo 'Execution directory inaccessible' >&2
exit 1
}
${SHELL:-/bin/sh} << 'marcinDELIMITER7e20521d'
ls -l
marcinDELIMITER7e20521d
[sunjimeng@localhost ~]$
7)[sunjimeng@localhost ~]$ at -d 21 取消指向执行id号为21的任务
复制代码
[sunjimeng@localhost ~]$ atq
20 Wed Jun 8 18:15:00 2016 a sunjimeng
21 Wed Jun 8 18:16:00 2016 a sunjimeng
[sunjimeng@localhost ~]$ atrm 20
[sunjimeng@localhost ~]$ atq
21 Wed Jun 8 18:16:00 2016 a sunjimeng
[sunjimeng@localhost ~]$ at -d 21
[sunjimeng@localhost ~]$ atq