man

man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。

语法

man(选项)(参数)

选项

-a:在所有的man帮助手册中搜索;
-f:等价于whatis指令,显示给定关键字的简短描述信息;
-P:指定内容时使用分页程序;
-M:指定man手册搜索的路径。

参数

  • 数字:指定从哪本man手册中搜索帮助;
  • 关键字:指定要搜索帮助的关键字。

实例

我们输入man ls,它会在最左上角显示“LS(1)”,在这里,“LS”表示手册名称,而“(1)”表示该手册位于第一节章,同样,我们输man ifconfig它会在最左上角显示“IFCONFIG(8)”。也可以这样输入命令:“man [章节号] 手册名称”。

man是按照手册的章节号的顺序进行搜索的,比如:

man sleep

只会显示sleep命令的手册,如果想查看库函数sleep,就要输入:

man 3 sleep

talk

talk命令是talk服务器的客户端工具,通过talk命令可以让用户和其他用户聊天。linux中talk命令参数程序的使用很简单,只要知道交谈对象的地址,就可以邀请对方交谈。

语法

talk(参数)

参数

  • 用户:指定聊天的用户;
  • 终端:指定用户的终端。

实例

例如登录在主机rs6000.cic.test.com上的用户jdx希望和登录在主机tirc.cs.test.com上的用户wangxz进行交谈,则可以输入下面的命令:

talk [email protected]

Internet上的相关程序(Talk Daemon)就会传送一条信息邀请wangxz来交谈,这时用户wangxz的屏幕上就会出现如下信息,并响铃提示:

Message from [email protected] at 21:44 …
talk: connection requested by [email protected]
talk: respond with:  talk [email protected]

这时,用户wangxz应该做的工作就是按照上面的信息提示,即输入linux中talk命令:

talk [email protected]

之后,连接建立成功,两个用户就可以进行交谈了。这时,双方的终端屏幕上都将显示信息[Connection established]并响铃,同时屏幕被linux中talk命令程序以一条水平线分割为上下两部分,上半部分用来显示用户自己输入的内容,下半部分用来显示对方输入的内容。两个用户可以同时输入,他们输入的内容将会立即显示在双方的屏幕上。

在用户进行输入时,可按BACKSPACE见来更正前一个字符,也可按CTRL+w来删除一个完整的单词,或者用CTRL+U来删除一整行,另外,用户还可以通过按CTRL+L来刷新屏幕。如果要结束交谈,可由任何一方按下CTRL+C来中断连接,但在结束对话前最好道声“再见”,并等待对方回应。linux中talk命令程序结束时,在屏幕上将回显示一条信息:

[Connection closing. Exiting]

并非每次要求对方交谈都能成功,有时对方没有登录,则linux中talk命令程序提示信息:

[Your party is not logged on]

并退出;如果对方已登录,但因某种原因(如不是正在使用机器)没有响应,那么linux中talk命令程序将会每隔10秒钟给他发一条邀请信息,同时在自己的屏幕上显示:

[Ringing your party again]

如果用户不愿等待,则可以按CTRL+C终止linux中talk命令程序。还有的时候系统可能出现下面的信息:

[Checking for invitation on caller’s machine]

这说明双方的linux中talk命令程序不兼容,这时可以试试ntalk和ytalk命令,如果没有,就只好找系统管理员了。

如果用户在做某些紧急工作(如编辑邮件)时不希望被linux中talk命令的邀请打搅,他可以使用命令:

mesg n

来暂时拒绝交谈,这时如果有用户邀请他交谈,只能得到提示信息:

[Your party is refusing messages]

不过要注意的是,一旦完成紧急工作。最好立即打开信息接收开关(用命令mesg y),否则将会失去很多信息交流的机会。

以上是linux中talk命令参数的是使用方法。

stty

stty命令修改终端命令行的相关设置。

语法

stty(选项)(参数)

选项

-a:以容易阅读的方式打印当前的所有配置;
-g:以stty可读方式打印当前的所有配置。

参数

终端设置:指定终端命令行的设置选项。

实例

在命令行下,禁止输出大写的方法:

stty iuclc     #开启
stty -iuclc    #恢复

在命令行下禁止输出小写:

stty olcuc    #开启
stty -olcuc   #恢复

打印出终端的行数和列数:

stty size

改变Ctrl+D的方法:

stty eof "string"

系统默认是Ctrl+D来表示文件的结束,而通过这种方法,可以改变!

屏蔽显示:

stty -echo   #禁止回显
stty echo    #打开回显

测试方法:

stty -echo;read;stty echo;read

忽略回车符:

stty igncr     #开启
stty -igncr    #恢复

定时输入:

timeout_read()
{
    timeout=$1
    old_stty_settings=`stty -g`  #save current settings
    stty -icanon min 0 time 100  #set 10seconds,not 100seconds
    eval read varname            #=read $varname
    stty "$old_stty_settings"    #recover settings
}

更简单的方法就是利用read命令的-t选项:

read -t 10 varname

login

login命令用于给出登录界面,可用于重新登录或者切换用户身份,也可通过它的功能随时更换登入身份。在Slackware发行版中 ,您可在命令后面附加欲登入的用户名称,它会直接询问密码,等待用户输入。当/etc/nologin文件存在时,系统只root帐号登入系统,其他用户一律不准登入。

语法

login(选项)(参数)

选项

-p:告诉login指令不销毁环境变量;
-h:指定远程服务器的主机名。

参数

用户名:指定登录使用的用户名。

mtools

mtools命令显示mtools支持的指令,mtools为MS-DOS文件系统的工具程序,可模拟许多MS-DOS的指令。这些指令都是mtools的符号连接,因此会有一些共同的特性。

语法

mtools(选项)

选项

-a:长文件名重复时自动更改目标文件的长文件名;
-A:短文件名重复但长文件名不同时自动更改目标文件的短文件名;
-o:长文件名重复时,将目标文件覆盖现有的文件;
-O:短文件名重复但长文件名不同时,将目标文件覆盖现有的文件;
-r:长文件名重复时,要求用户更改目标文件的长文件名;
-R:短文件名重复但长文件名不同时,要求用户更改目标文件的短文件名;
-s:长文件名重复时,则不处理该目标文件;
-S:短文件名重复但长文件名不同时,则不处理该目标文件;
-v:执行时显示详细的说明;
-V:显示版本信息。

实例

使用mtools命令显示其支持的所有的指令,输入如下命令:

[root@localhost ~]# mtools     #显示所有支持的指令名称
Supported commands:
mattrib, mbadblocks, mcat, mcd, mclasserase, mcopy, mdel, mdeltree
mdir, mdoctorfat, mdu, mformat, minfo, mlabel, mmd, mmount
mpartition, mrd, mread, mmove, mren, mshowfat, mtoolstest, mtype
mwrite, mzip

如上所示,其显示的所有命令均为mtools工具所支持的。

mesg

mesg命令用于设置当前终端的写权限,即是否让其他用户向本终端发信息。将mesg设置y时,其他用户可利用write命令将信息直接显示在您的屏幕上。

语法

mesg(参数)

参数

y/n:y表示运行向当前终端写信息,n表示禁止向当前终端写信息。

实例

[root@localhost ~]# mesg y    #允许系统用户将信息直接显示在你的屏幕上。
[root@localhost ~]# mesg n    #不允许系统用户将信息直接显示在你的屏幕上。

md5sum

md5sum命令采用MD5报文摘要算法(128位)计算和检查文件的校验和。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。

MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。

语法

md5sum(选项)(参数)

选项

-b:二进制模式读取文件;
-t或--text:把输入的文件作为文本文件看待;
-c:从指定文件中读取MD5校验和,并进行校验;
--status:验证成功时不输出任何信息;
-w:当校验不正确时给出警告信息。

参数

文件:指定保存着文件名和校验和的文本文件。

实例

生成一个文件insert.sql的md5值:

[root@localhost ~]# md5sum insert.sql
bcda6cb5c704664f989703ac5a88f112  insert.sql

检查文件testfile是否被修改过:

首先生成md5文件:

md5sum testfile > testfile.md5

检查:

md5sum testfile -c testfile.md5

如果文件没有变化,输出应该如下:

forsort: OK

此时,md5sum命令返回0。

如果文件发生了变化,输出应该如下:

forsort: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match

此时,md5sum命令返回非0。

这里,检查用的文件名随意。如果不想有任何输出,则md5sum testfile --status -c testfile.md5,这时候通过返回值来检测结果。

检测的时候如果检测文件非法则输出信息的选项:

md5sum -w -c testfile.md5

输出之后,文件异常输出类似如下:

md5sum: testfile.md5: 1: improperly formatted MD5 checksum line
md5sum: testfile.md5: no properly formatted MD5 checksum lines found

这里,testfile.md5只有一行信息,但是我认为地给它多加了一个字符,导致非法。如果md5文件正常那么-w有没有都一样。

sleep

sleep命令暂停指定的时间。

语法

sleep(参数)

参数

时间:指定要暂停时间的长度。

时间长度,后面可接 s、m、h 或 d,其中 s 为秒,m 为 分钟,h 为小时,d 为日数。

实例

有时在写一些以循环方式运行的监控脚本,设置时间间隔是必不可少的,下面是一个Shell进度条的脚本演示在脚本中生成延时。

#!/bin/bash

b=''
for ((i=0;$i<=100;i++))
 do
 printf "Progress:[%-100s]%d%%\r" $b $i
 sleep 0.1
 b=#$b
 done
echo

users

users命令用于显示当前登录系统的所有用户的用户列表。每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数。

语法

users(选项)

选项

--help:显示命令的帮助信息;
--version:显示命令的版本信息。

实例

[root@localhost ~]# users
root root