linux之杂项watch定期执行程序,显示输出全屏
语法格式:
watch [options] COMMAND
-n # 指定执行频率时间,默认单位s
示例:
# watch -n 0.1 date
bc计算器
scale=10 精确到小数点后几位
dd转换和复制文件(基于数据流)
语法格式:
dd [OPPERAND]...
if=FILE 读取文件代替stdin
of=FILE 写入文件代替stout
bs=BYTES 读写时每次传输数据块大小
count=N 仅传输多少数据块
示例:
# dd if=/dev/zero of=/app/test.jpg bs=1M count=2048
eject 弹出光驱
read从标准输入中读取值,给每个单词分配一个变量 所有剩余单词都被分配给最后一个变量
read [options] [name ...]
-p 'COMMIT' 指定要显示的内容
-s 输出不可见
-n N 指定输入的字符长度N
-d '字符' 输入结束符
-t N TIMEOUT为N秒
stty -echo 不显示命令执行操作
stty echo 显示命令执行操作
终端tty 显示当前终端名
whoami 显示当前登录用户
who am i 显示当前登录用户名 终端名 登录时间
who 显示所有登录用户名 终端名 登录时间
w 显示所有登录用户名 终端名 登录来源 执行命令
伪终端: 图形界面所创建的终端,远程连接的终端
物理终端: 物理机的终端名
终端间通信:
/dev/pts/0:
输入以下命令
# echo hello > /dev/pts/2
/dev/pts/2:
显示
# hello
关机重启命令立即关机:
init 0
poweroff
shutdown now
重启:
reboot
init 6
定时关机:
shutdown TIME
TIME:
+#m 多少分钟后关机
hh:mm 几时几分关机
时间日期命令date,hwclock,caldate
显示和设置系统时间
显示时间
date
date "+%F %T" 指定格式显示时间
%F 日期
%T 时间
%Y 年
%m 月
%d 日
%H 时
%M 分
%S 秒
%w 星期(数字显示)
%a 星期(英文显示)
设置时间
date 'MMDDHHMMYYYY.SS'
月日时分年.秒
date -s "年-月-日 时:分:秒"
hwclock
显示或设置硬件时钟
系统开机读取bios中的硬件时钟时间,并将系统时间同步
系统关机将系统时间写入硬件时钟时间
显示硬件时钟时间
hwclock
设置硬件时间时间
hwclock -s 设置系统时间
hwclock -w 设置硬件时间
cal
列出日历
cal [[[day] month] year]
cal 9 1752 此月份少13天,用来修改以前计算误差
screen命令使用
生成一个新会话,在此会话中执行的命令不会随终端的关闭而关闭
screen -r sessionname/[[pid.]tty[.host]]
创建screen
screen 直接创建,其sessionname是当前主机的pid.tty.host
screen -S sessionname 自定义sessionname
加入screen
-x sessionname/[[pid.]tty[.host]] 加入一个attached状态的screen
-r sessionname/[[pid.]tty[.host]] 继续dettached状态的screen
列出screen
screen -ls
退出
查看当前是否处于screen伪终端方法:
1 STY变量,当连入screen后,STY变量会被赋值为会话名 (适用于本地,因为在screen中连接远程主机,其STY值不会被赋值)
echo $STY
2 使用ctrl + a + t,终端底部或顶部显示时间信息,则表示处于screen会话中. (均适用)
终端关闭screen中命令是运行还是暂停?如何验证?
实验:
(1) 创建一个screen,执行一个从1开始递增的脚本,关闭当前终端
# screen -S sadan
# n=0;while true;do n=$[$n+1];echo $n;sleep 1;done
1
2
...
(2) 关闭此终端
(3) 重新连入此主机,并重新加入此screen,对比两次数字显示.
结果为:
...
30
31
...
两终端加入同一screen(本地协作)
终端1:
screen -S sadan
终端2:
screen -x sadan
- 命令总结:
watch,bc,dd,eject,read,stty
tty,whoami,who am i,who,w
init,shutdown,poweroff,halt
date,hwclock,cal
screen