write
向指定登录用户终端上发送信息
补充说明write命令 用于向指定登录用户终端上发送信息。通过write命令可传递信息给另一位登入系统的用户,当输入完毕后,键入EOF表示信息结束,write命令就会将信息传给对方。如果接收信息的用户不只登入本地主机一次,你可以指定接收信息的终端机编号。
语法1write(参数)
参数12用户:指定要接受信息的登录用户;登陆终端:指定接收信息的用户的登录终端。
实例传信息给Rollaend,此时Rollaend只有一个连线 :
1write Rollaend
接下来就是将信息打上去,结束请Ctrl+C:
传信息给Rollaend、Rollaend的连线有pts/2、pts/3:
1write Rollaend pts/2
接下来就是将信息打上去,结束请Ctrl+C:
若对方设定mesg n,则此时信息将无法传给对方。
command
调用并执行指定的命令
补充说明command命令 调用指定的指令并执行,命令执行时不查询shell函数。command命令只能够执行shell内部的命令。
语法1command(参数)
参数指令:需要调用的指令及参数。
实例使用command命令调用执行echo Linux,输入如下命令:
1command echo Linux #调用执行shell内部指令
上面的命令执行后,将调用执行命令echo Linux,其执行结果如下:
1Linux
e2label
设置第二扩展文件系统的卷标
补充说明e2label命令 用来设置第二扩展文件系统的卷标。
语法1e2label(参数)
参数
文件系统:指定文件系统所对应的设备文件名;
新卷标:为文件系统指定新卷标。
实例许多用了多年Linux的人可能也没有用过e2label命令。但是这个命令相当有效。在介绍它之前,我们先看看/etc/fstab文件:
12label=//ext3 defaults 1 1/dev/hda7 /usr ext3 defaults 1 1
第二行的意思很容易懂,就是把/dev/hda7 mount到/usr上。第一行没有指明分区,意思是把label(卷标)为/ 的分区mount到/上。这样写的好处在于即使如果把硬盘从主板上的ide0(hda) 换到ide2(hdc)上,系统仍然可以自动挂载正确的分区。通常Linux安装的时候已经自动指定了卷标。如果是手动增加的新分区,可以用下边的命令为 其指定卷标:
12e2label /dev/hdax /newmkdir /new
然后在/etc/fstab里加入:
1label=/new /new ...
diff
比较给定的两个文件的不同
补充说明diff命令 在最简单的情况下,比较给定的两个文件的不同。如果使用“-”代替“文件”参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。
语法1diff(选项)(参数)
选项12345678910111213141516171819202122232425262728293031323334-<行数>:指定要显示多少行的文本。此参数必须与-c或-u参数一并使用;-a或--text:diff预设只会逐行比较文本文件;-b或--ignore-space-change:不检查空格字符的不同;-B或--ignore-blank-lines:不检查空白行;-c:显示全部内容,并标出不同之处;-C<行数>或--context<行数>:与执行“-c-<行数>”指令相同;-d或--minimal:使用不同的演算法,以小的单位来做比较;-D<巨集名称>或ifdef< ...
watch
可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令
补充说明watch命令 以周期性的方式执行给定的指令,指令输出以全屏方式显示。watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。
语法1watch(选项)(参数)
选项1234-n # 或--interval watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。-d # 或--differences 用-d或--differences 选项watch 会高亮显示变化的区域。 而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。-t # 或-no-title 会关闭watch命令在顶部的时间间隔,命令,当前时间的输出。-h, --help # 查看帮助文档
参数指令:需要周期性执行的指令。
实例123456789101112watch -n 1 -d netstat -ant # 命令:每隔一秒高亮显示网络链 ...
mkcert
用来生成自签证书的工具
示例mkcert 是 GO 编写的,一个简单的零配置的用来生成自签证书的工具。
下面给一个简单的示例,在本地生成自签证书,并使用让 nc 使用生成的证书。
123456789101112131415161718192021222324252627282930~ ········································································································································· 10:46:25❯ mkcert -installThe local CA is already installed in the system trust store! 👍The local CA is already installed in the Firefox and/or Chrome/Chromium trust store! 👍~ ········································ ...
getsebool
查询SElinux策略内各项规则的布尔值
补充说明getsebool命令 是用来查询SElinux策略内各项规则的布尔值。SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。
语法1getsebool [-a] [布尔值条款]
选项1-a:列出目前系统上面的所有布尔值条款设置为开启或关闭值。
实例查询本系统内所有的布尔值设置状况:
123456getsebool -aNetworkManager_disable_trans --> offallow_console_login --> offallow_cvs_read_shadow --> offallow_daemons_dump_core --> on....(底下省略)....
查询httpd_enable_homedirs是否为关闭,若没关闭,请关闭它:
12getsebool httpd_enable_homedirssetsebool -P httpd_enable_homedirs=0 # ...
date
显示或设置系统时间与日期
概要12date [OPTION]... [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
主要用途
转换时间到选定的格式,默认为当前。
设置系统时间。
参数format:输出的时间格式。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960format可用的转义序列如下:%% 百分号%a 当地缩写的工作日名称(例如,Sun)%A 当地完整的工作日名称(例如,Sunday)%b 当地缩写的月份名称(例如,Jan)%B 当地完整的月份名称(例如,January)%c 当地的日期和时间(例如,Thu Mar 3 23:05:25 2005)%C 世纪,和%Y类似,但是省略后两位(例如,20)%d 一月中的一天(例如,01)%D 日期 ...
echo
输出指定的字符串或者变量
补充说明echo命令 用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
语法1echo(选项)(参数)
选项123-e:启用转义字符。-E: 不启用转义字符(默认)-n: 结尾不换行
使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 不产生进一步输出 (\c 后面的字符不会输出);
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入 nnn(八进制)所代表的ASCII字符;
参数变量:指定要打印的变量。
实例1/bin/echo Hello, world!
在上面的命令中,两个词(Hello 和 world!)作为单独的参数传 ...
sleep
将目前动作延迟一段时间
补充说明sleep命令 暂停指定的时间。
语法1sleep(参数)
参数时间:指定要暂停时间的长度, 包括如下:
2s: 2秒
2m: 2分钟
2h: 2小时
2d: 2天
infinity: 永久
实例有时在写一些以循环方式运行的监控脚本,设置时间间隔是必不可少的,下面是一个Shell进度条的脚本演示在脚本中生成延时。
12345678910#!/bin/bashb=''for ((i=0;$i<=100;i++)) do printf "Progress:[%-100s]%d%%\r" $b $i sleep 0.1 b=#$b doneecho