「zgrep(1)」-
为正则表达式搜索可能的压缩文件
命令语法格式
zgrep [ grep_options ] [ -e ] pattern filename…
命令描述
命令zgrep会在压缩(或由gzip压缩)的文件上调用grep命令。
这些grep选项将导致zgrep以错误代码终止:(-[drRzZ]|–di*|–exc*|–inc*|–rec*|–nu*)。指定的所有其他选项都直接传递给grep命令。
如果没有指定文件,则必要时将从标准输入读取数据,并解压,然后送入grep命令。否则,如果指定文件,给定的文件将被解压,并送到grep命令。
对于命令zfgrep与zegrep命令分别调用fgrep命令和egrep命令。
环境变量
GREP 如果设置了GREP环境变量,则zgrep将其值用作要调用的grep程序。
退出状态
2 指定了不受支持的选项。
相关手册
grep(1), gzexe(1), gzip(1), zdiff(1), zforce(1), zmore(1), znew(1)
参考文献
man 1 zgrep, Version 1.6-5+b1
更新日志
08/13/2018 创建文章[……]
「zless(1)」-
文件读取过滤器,用于查看压缩文本
命令语法格式
zless [ name … ]
命令描述
命令zless是一个过滤器。在软拷贝终端上,它允许以“全屏翻页”的方式查看压缩(或纯文本)文件。
该命令相当于:
将环境变量“LESSOPEN”设置为”|gzip -cdfq — %s“,
并且将环境变量”LESSMETACHARS“设置为”<space><tab><newline>;*?”()<>[|&^`#\$%=~“,
然后,运行less(1)命令。但是,很多人似乎认为使用zless命令非常重要,值得提供。
注意事项
命令zless不能处理通过标准输入传入的压缩数据;它要求以参数name的方式指定输入文件。要从管道读取压缩数据,可以使用… | gunzip | less来代替… | zless.
这个命令确实有用。在某些Linux发行版中,有很多文档是以.gz文件进行存储的,比如/usr/share/doc/nethogs/README.md.gz(在Deiban中),如果要查看该文件可以直接使用zless命令。
相关手册
zmore(1), less(1)
参考文献
man 1 zless, Version 1.6-5+b1
更新日志
08/13/2018 创建文章
08/19/2018 修改文件内容添加补充说明[……]
「zmore(1)」-
文件读取过滤器,用于查看压缩文本
命令语法格式
zmore [ name … ]
命令描述
命令zmore是一个过滤器。在软拷贝终端上,它允许以“全屏翻页”的形式来查看压缩(或纯)文本文件。
命令zmore适用于使用compress、pack、gzip压缩的文件,以及未压缩文件。如果文件name不存在,zmore将查找同名文件,并添加.gz、.z、.Z后缀之一。
通常zmore在每次全屏后暂停,在屏幕底部打印”– More –“。 如果用户然后键入回车符(CR),则会显示另一行。 如果用户点击空格(Space),则显示另一屏内容。其他功能参见下文。
命令zmore查看文件/etc/termcap以确定终端特征,并确定默认窗口大小。在能够显示24行的终端上,默认窗口大小为22行。 默认的分页程序为more命令。要使用非默认的pager程序,请将环境变量PAGER设置为所需程序的名称,例如”PAGER=less“。
交互快捷命令
当zmore暂停时,可以键入的其他序列和作用如下(注意,命令中的”i“是可选的整数参数,默认为”1“):
i<space> 再显示i行,(如果没有给出参数,则显示另一个屏幕内容)。
iz 整体上与“i<space>”相同,但是参数“i”(如果存在)会成为新的窗口大小。即之后的每次滚动行数都是之前“i”指定的大小。
^D 再显示11行(“滚动”)。 如果给出i,则滚动大小设置为i。
d 与^D(Ctrl+D)相同。
is 跳过“i”行内容,然后打印出一屏内容。
if 跳过“i”屏内容,然后打印出一屏内容。
q, Q 退出。
:q, :Q 退出。与q, Q相同。
= 显示当前行号。
i/expr 搜索正则表达式expr的第“i”次出现。
用户的擦除和终止字符可用于编辑正则表达式,编辑仅限于回车按下之前。擦除第一个字符后,会取消搜索命令。
in 搜索上一个输入的正则表达式的第“i”次出现。
!command 使用命令command来调用Shell。在“command”中的`!’字符替换为上一个Shell命令。 序列”\!”表示“!”。
. (英文句号,点)重复上一个命令。
附件说明
这些命令立即生效,即没有必要输入回车符。 直到给出命令字符本身前,用户可以点击行擦除字符以取消正在输入的数字参数。 此外,用户可以点击擦除字符以重新显示“–More–”消息。
在输出发送到终端的任何时候,用户都可以点击退出键(通常是control-\)。命令bzmore将停止发送输出,并将显示通常的“–More–”提示。 然后,用户可以[……]
「znew(1)」-
重新压缩.Z文件为.gz文件
命令语法格式
znew [ -ftv9PK] [ name.Z … ]
命令描述
命令znew将”.Z“(comporess)格式的文件重新压缩为”.gz“(gzip)格式。
如果要重新压缩已经采用gzip格式的文件,请强制使用”.Z“扩展名来重命名该文件,然后应用znew命令。
命令支持的选项及含义
-f 即使.gz文件已存在,也强制将.Z重新压缩为.gz格式。
-t 在删除原件之前,先测试新文件。
-K 当.Z文件小于.gz文件时,保留.Z文件;隐含-t选项。
-v 详细。显示压缩的每个文件的名称和百分比缩减。
-9 使用最慢的压缩方法(最佳压缩)。
-P 使用管道进行转换,以减少磁盘空间使用量。
注意事项
如果cpmod(1)不可用,且touch(1)不支持-r选项,则使用-P选项时znew不维护时间戳。
相关手册
gzip(1), zmore(1), zdiff(1), zgrep(1), zforce(1), gzexe(1), compress(1)
参考文献
man 1 znew, Version 1.6-5+b1
更新日志
08/13/2018 创建文章[……]
「httpd」
ab is a tool for benchmarking your Apache HTTP server.
apachectl is a front end to the Apache HTTP server which is designed to help the administrator control the functioning of the Apache httpd daemon.
apxs is a tool for building and installing extension modules for the Apache HTTP server.
checkgid is a program that checks whether it can setgid to the group specified. This is to see if it is a valid group for Apache2 to use at runtime. If the user (should be run as superuser) is in that group, or can setgid to it, it will return 0.
dbmmanage is used to create and update the DBM format files used to store usernames and passwords for basic authentication of HTTP users.
fcgistarter is a tool to start a FastCGI program.
htcacheclean is used to clean up the disk cache.
htdbm is used to manipulate the DBM password databases.
htdigest is used to create and update the flat-files used to store usernames, realms and passwords for digest authentication of HTTP users.
htpasswd is used to create and update the flat-files used to store usernames and passwords for basic authentication of HTTP users.
httpd is the Apache HTTP server program.
httxt2dbm is[……]
「apachectl(8)」-
Apache HTTP 服务器控制接口
命令语法格式
在SysV init模式下,命令apache2ctl采用简单的单字命令,定义如下:
apachectl command
apache2ctl command
在传递模式下,命令apache2ctl可以使用httpd二进制文件的所有可用参数:
apachectl [httpd-argument]
apache2ctl [httpd-argument]
以上两种模式。
命令描述
命令apache2ctl是Apache超文本传输协议(HTTP)服务器的前端。 它旨在帮助管理员控制Apache apache2守护程序的功能。
注意:默认的Debian配置要求在/etc/apache2/envvars中设置环境变量APACHE_RUN_USER,APACHE_RUN_GROUP,APACHE_PID_FILE
脚本apache2ctl在成功时返回0退出值,如果发生错误则返回> 0。 有关更多详细信息,请查看脚本中的注释。
命令支持的选项及含义
该command可以是以下任何一个或多个选项:
start 启动Apache守护程序。 如果它已在运行,则给出错误。
stop 停止Apache守护程序。
restart 通过向它发送一个SIGHUP来重新启动Apache守护程序。 如果守护程序未运行,则启动它。 此命令在启动重新启动之前通过apache2ctl configtest自动检查配置文件,以捕获最明显的错误。 但是,由于配置问题,守护程序仍有可能死亡。
fullstatus 从mod_status中,显示完整状态报告。为此,您需要在服务器上启用mod_status模块,并在系统上使用基于文本的浏览器,例如lynx。 可以通过在/etc/apache2/envvars中设置APACHE_STATUSURL变量来设置用于访问状态报告的URL。
status 显示简要状态报告。 与fullstatus选项类似,只是省略了当前正在提供的请求列表。
graceful 通过向它发送SIGUSR1来优雅地重新启动Apache守护程序。 如果守护程序未运行,则启动它。 这与正常重启不同,因为当前打开的连接不会中止。 副作用是旧的日志文件不会立即关闭。 这意味着,如果在日志轮换脚本中使用,则可能需要大量延迟才能确保在处理旧日志文件之前将其关闭。 此命令在启动重新启动之前通过apache2ctl configtest自动检查配置文件,以捕获最明显的错误。 但是,由于配置问题,守护程序仍有可能死亡。
graceful-stop 优雅地停止A[……]
「htdigest(1)」-
管理用于摘要认证的用户文件
命令语法格式
htdigest [ -c ] passwdfile realm username
命令描述
命令htdigest用于创建和更新用于存储HTTP用户摘要认证的用户名、域、密码的平面文件。Apache HTTP服务器提供的资源可以仅限于htdigest创建的文件中列出的用户。
本手册页仅列出命令行参数。 有关在httpd中配置摘要式身份验证所需的指令的详细信息,请参阅Apache手册,该手册是Apache发行版的一部分,或者可以在「httpd的主页」上找到。
命令支持的选项及含义
-c 创建passwdfile文件。 如果passwdfile已存在,则先删除它。
passwdfile 包含用户名、域、密码的文件名。 如果给出了-c,则创建此文件(如果该文件尚不存在),或者如果该文件存在则将其删除并重新创建。
realm 用户名所属的域名。 有关详细信息,请参阅「rfc2617#section-3.2.1」。
username 要在passwdfile中创建或更新的用户名。如果此文件不存在username,则添加一个条目。 如果确实存在,则更改密码。
注意事项
安全考虑
该程序作为setuid可执行文件不安全。 不要使它成为setuid。
参考文献
man 1 htdigest, Version 2.4.25-3
更新日志
11/04/2018 创建文章[……]
「htpasswd」-
管理用于基本认证的用户文件
命令语法格式
htpasswd [ -c ] [ -i ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -D ] [ -v ] passwdfile username
htpasswd -b [ -c ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -D ] [ -v ] passwdfile username password
htpasswd -n [ -i ] [ -m | -B | -d | -s | -p ] [ -C cost ] username
htpasswd -nb [ -m | -B | -d | -s | -p ] [ -C cost ] username password
SUMMARY
htpasswd is used to create and update the flat-files used to store usernames and password for basic authentication of HTTP users. If htpasswd cannot access a file, such as not being able to write to the output file or not being able to read the file in order to update it, it returns an error status and makes no changes.
Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by htpasswd. This program can only manage usernames and passwords stored in a flat-file. It can encrypt and display password information for use in other types of data stores, though. To use a DBM database see dbmmanage or htdbm.
htpasswd encrypts passwords using either bcrypt, a version of MD5 modified for Apache, SHA1, or the system’s c[……]
「ifupdown」
ifupdown,用于配置网络接口的高级工具。该软件包提供了配置(或分别解除配置)网络接口的命令ifup和ifdown,配置的依据使/etc/network/interfaces文件爱中的接口定义。
从发行版的源中安装
#!/bin/bash
# Kali GNU/Linux Rolling
apt-get install ifupdown
安装的可执行程序
ifup 启动网络接口。
ifdown 关闭网络接口。
ifquery 解析接口配置。
参考文献
dpkg -L ifupdown[……]
「ifdown(8)」-
「ifquery(8)」-
「ifup(8)」-
网络接口配置
命令语法格式
ifup [-nv] [–no-act] [–verbose] [–interfaces=FILE] [–state-dir=DIR] [–allow CLASS] -a|IFACE…
ifdown [-nv] [–no-act] [–verbose] [–interfaces=FILE] [–state-dir=DIR] [–allow CLASS] -a|IFACE…
ifquery [-nv] [–verbose] [–interfaces=FILE] [–state-dir=DIR] [–allow CLASS] IFACE…
ifquery –list [-nv] [–verbose] [–interfaces=FILE] [–state-dir=DIR] [–allow CLASS] [-a|IFACE…]
ifquery –state [–state-dir=DIR] [–allow CLASS] [-a|IFACE…]
命令描述
ifup – 启动网络接口
ifdown – 关闭网络接口
ifquery – 解析接口配置
命令ifup和ifdown可用于基于文件/etc/network/interfaces中的接口定义来配置(或分别解除配置)网络接口。ifquery命令可用于解析接口配置。
命令支持的选项及含义
选项摘要如下。
-a, –all 如果给到ifup命令,则影响标记为auto的所有接口。接口按照在/etc/network/interfaces中定义的顺序显示。 与–allow结合使用,则作用于指定类别的所有接口。
如果给到ifdown命令,则影响所有已定义的接口。按接口当前在状态文件中列出的顺序进行关闭。只有/etc/network/interfaces中定义的接口才会被关闭。
–allow=CLASS 仅允许对/etc/network/interfaces中allow-CLASS行中列出的接口执行操作。
–force 强制配置或取消配置接口。
–ignore-errors 如果脚本的任何命令失败,请继续执行。
-i FILE, –interfaces=FILE 从FILE读取接口定义,而不是从/etc/network/interfaces中。
–state-dir=DIR 将接口状态保持在DIR中,而不是/run/network中。
-X PATTERN, –exclude=PATTERN 从PATTERN操作的接口列表中排除接口。 参数PATTERN使用通常的Shel[……]
「hostname」
hostname,显示或者设置系统的主机名。
domainname,显示或者设置系统的NIS/YP域名。 ypdomainname – show or set the system’s NIS/YP domain name nisdomainname – show or set the system’s NIS/YP domain name
dnsdomainname – show the system’s DNS domain name
命令行语法
hostname [-a|–alias] [-d|–domain] [-f|–fqdn|–long] [-A|–all-fqdns] [-i|–ip-address] [-I|–all-ip-addresses] [-s|–short] [-y|–yp|–nis] hostname [-b|–boot] [-F|–file filename] [hostname] hostname [-h|–help] [-V|–version]
domainname [nisdomain] [-F file] ypdomainname [nisdomain] [-F file] nisdomainname [nisdomain] [-F file]
dnsdomainname
描述
GET NAME 当没有参数的时候,程序会显示当前的名:
对于hostname命令,会打印出gethostname(man 2 gethostname)函数的返回值。
对于domainname命令,会打印出系统的NIS域名,它使用的也是gethostname(man 2 gethostname)函数,但是ypdomainname和nisdomainname使用的是yp_get_default_domain(man 3 yp_get_default_domain)函数。
对于dnsdomainname命令,将会打印FQDN的域部分(Fully Qualified Domain Name)。hostname –fqdn将返回系统的完整FQDN名 (查看THE FQDN小节中的警告)。该命令不具备修改功能,只能用于查看相关的信息。
SET NAME 如果只有一个参数或者使用了–file选项,命令会设置hostname或者NIS/YP域名。 hostname命令使用了sethostname函数,而domainname,ypdomainname,nisdomainname使用setdomainname。 注意:只有重启之后才能生效。编辑/etc/hostname来持久化保存更改。
hostname会在系统启动的时候,执行 /etc[……]
「ifconfig(8)」-
配置网络接口
命令语法格式
ifconfig [-v] [-a] [-s] [interface]
ifconfig [-v] interface [aftype] options | address …
命令描述
命令ifconfig用于配置内核驻留网络接口。在引导时,它用于根据需要设置接口。 之后,通常只在调试或需要系统调整时才需要它。
如果没有给出参数,ifconfig将显示当前活动接口的状态。如果给出单个接口参数,则仅显示给定接口的状态;如果给出单个-a参数,它将显示所有接口的状态,甚至是那些已关闭的接口。 否则,它配置一个接口。
地址族
如果接口名称后面的第一个参数被识别为支持的地址族名,则该地址族用于解码和显示所有协议地址。 当前支持的地址族包括inet(TCP/IP,默认),inet6(IPv6),ax25(AMPR分组无线电),ddp(Appletalk Phase 2),ipx(Novell IPX),netrom(AMPR分组无线电)。 作为IPv4点分十进制表示法中的每个部分提供的所有数字可以是十进制、八进制、十六进制,如ISO C标准中所指定的(即,前导0x或0X表示十六进制;否则,前导’0’表示八进制;否则,数字被解释为十进制)。十六进制和八进制数字的使用不符合RFC,因此不鼓励使用它。
命令支持的选项及含义
-a 显示当前可用的所有接口,即使已关闭
-s 显示一个短名单(如netstat -i)
-v 对于某些错误条件更加冗长的信息。
interface 接口的名称。 这通常是“驱动程序名”后跟“单元号”的形式,例如第一个以太网接口的eth0。如果您的内核支持别名接口,则可以使用像eth0:0这样语法为eth0指定第一个别名。您可以使用它们分配更多地址。要删除别名接口,请使用ifconfig eth0:0 down。注意:对于每个范围(即具有地址/网络掩码组合的相同网络),如果删除第一个(主),则删除所有别名。
up 该标志使接口被激活。 如果为接口分配地址,则隐式地激活该接口;通过在别名后附加“-”(例如eth0:0-),可以在使用别名接口时抑制此行为。 使用IPv4地址0.0.0.0时也会被禁止,因为内核将使用它来隐式删除别名接口。
down 此标志导致此接口的驱动程序关闭。
[-]arp 在此接口上启用或禁用ARP协议。
[-]promisc 启用或禁用接口的混杂模式。 如果选中,则接口将接收网络上的所有数据包。
[-]allmulti 启用或禁用全组播模式。 如果选中,则接口将接收网络上的所有组播数据包。
mtu N 此参数设置接口的最大传输单元(MTU)。
dstaddr a[……]
「ping(8)」-
向网络主机发送ICMP ECHO_REQUEST包
命令语法格式
ping [-aAbBdDfhLnOqrRUvV46] [-c count] [-F flowlabel] [-i interval] [-I interface] [-l preload] [-m mark] [-M pmtudisc_option] [-N nodeinfo_option] [-w deadline] [-W timeout] [-p pattern] [-Q tos] [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp option] [hop …] destination
命令描述
命令ping使用ICMP协议的强制ECHO_REQUEST数据报从主机或网关引出ICMP ECHO_RESPONSE数据报。数据报ECHO_REQUEST(“ping”)具有IP和ICMP头,后跟struct timeval,然后是用于填充数据包的任意数量的“pad”字节。
命令ping适用于IPv4和IPv6。可以通过指定-4或-6来强制明确地只使用其中一个执行。
命令ping还可以发送IPv6节点信息查询(RFC4620)。 可能不允许使用中间跃点,因为不推荐使用IPv6源路由(RFC5095)。
命令支持的选项及含义
-4 仅使用IPv4。
-6 仅使用IPv6。
-a 当对端可达时,发出蜂鸣声。
-A 自适应ping。 发包间隔调整为往返时间,因此有效不超过一个(或更多,如果设置了预加载)未应答的探测存在于网络中。 对于非超级用户,最小间隔是200毫秒。 在具有低rtt的网络上,该模式基本上等同于泛洪模式。
-b 允许ping广播地址。
-B 不允许ping更改探测的源地址。当ping启动时,地址被绑定到一个选中地址。
-c count 发送count个ECHO_REQUEST数据包后停止。 使用截止时间选项,ping等待count个ECHO_REPLY数据包,直到超时到期。
-d 在正在使用的套接字上设置SO_DEBUG选项。 本质上,Linux内核不使用此套接字选项。
-D 在每行之前打印时间戳(unix时间 + gettimeofday中的微秒)。
-f Flood ping。 对于每个发送的ECHO_REQUEST,打印一个句点“.”打印,而对于永远收到的ECHO_REPLY,会打印一个退格。 这样可以快速显示丢弃的数据包数量。如果没有给出间隔,它会将间隔设置为零,并按照它们返回或每秒一百次的速度输出数据包,以较多者为准。 只有超级用户才可以零间隔使用此选项。
-F flow label 仅限[……]
「ping6(8)」-
向网络主机发送ICMP ECHO_REQUEST包
命令描述
参考ping(8)手册。
参考文献
man 8 ping, Version 320161105-1
更新日志
10/25/2018 创建文章[……]
「talk(1)」-
与其他用户交谈
命令语法格式
talk person [ttyname]
命令描述
talk是一种可视通信程序,可将终端中的行复制到另一个用户的行中。
命令支持的选项及含义
可用的选项如下:
person 如果你想在自己的机器上与某人交谈,那么person就是这个人的登录名。如果您希望与其他主机上的用户交谈,则该用户的格式为“user@host”。
ttyname 如果您希望与多次登录的用户交谈,可以使用ttyname参数指示相应的终端名称,其中ttyname的格式为“ttyXX”。
注意事项
与4.3BSD一起发布的talk(1)版本使用的协议与4.2BSD发布的版本中使用的协议不兼容。
只要他的登录名相同,收件人回复哪台机器无关紧要。 一旦建立通信,双方可以同时键入,其输出出现在单独的窗口中。 键入’^L’(Ctrl-L)将导致重新打印屏幕,而erase、kill、word kill字符将正常运行。要退出,只需键入中断字符;然后将光标移动到屏幕底部并将终端恢复到之前的状态。
可以通过使用mesg(1)命令拒绝或授予谈话权限。一开始就允许说话。某些命令,特别是nroff(1)和pr(1),禁止消息以防止混乱的输出。
命令talk的正确运行需要xinetd和talkd的配置,设置方法参考「Talkd and the talk command」一文。
使用示例
首次调用时,talk发送消息:
Message from TalkDaemon@his_machine…
talk: connection requested by your_name@your_machine.
talk: respond with: talk your_name@your_machine
给您想要与之交谈的用户。此时,收件人应该通过键入
talk your_name@your_machine
来回复。
相关文件
/etc/hosts 用户查找收件人的机器
/var/run/utmp 用于查找收件人的tty。
相关手册
mail(1), mesg(1), who(1), write(1)
参考文献
man 1 talk, Version 21.9.4-3+b1
更新日志
09/01/2018 创建文章[……]
「tftp(1)」-
琐碎的文件传输程序
命令语法格式
tftp [host]
命令描述
命令tftp是Internet TFTP(普通文件传输协议)的用户界面,允许用户与远程计算机之间传输文件。可以在命令行上指定远程主机,在这种情况下,tftp使用host作为将来传输的默认主机(请参阅下面的connect命令)。
交互命令
Once tftp is running, it issues the prompt and recognizes the following commands:
mode transfer-mode 设置传输模式;传输模式可以是ascii或binary之一。默认为ascii。
ascii 等同于”mode ascii”
binary 等同于”mode binary”
connect host-name [port] 设置传输的主机(和可选端口)。请注意,与FTP协议不同,TFTP协议不保持传输之间的连接;因此,命令connect实际上不会创建连接,而只是记住要用于传输的主机。您不必使用connect命令;远程主机可以指定为get或put命令的一部分。
get filename get remotename localname get file1 file2 … fileN 从指定的源获取文件或文件集。 源可以是以下两种形式之一:远程主机上的文件名(如果已指定主机),或者是hosts:filename形式的字符串,以同时指定主机和文件名。 如果使用后一种形式,则指定的最后一个主机名将成为将来传输的默认值。
put file put localfile remotefile put file1 file2 … fileN remote-directory 将一个或一组文件放入指定的远程文件或目录。 目标可以是以下两种形式之一:远程主机上的文件名,如果已指定主机,或者是hosts:filename形式的字符串,以同时指定主机和文件名。 如果使用后一种形式,则指定的主机名将成为将来传输的默认值。 如果使用remote-directory形式,则假定远程主机是UNIX计算机。
rexmt retransmission-timeout 设置每包重传超时,以秒为单位。
status 显示当前的状态。
timeout total-transmission-timeout 设置总传输超时,以秒为单位。
trace 切换数据包跟踪。
verbose 切换详细模式。
quit 退出tftp。使用EOF也会退出。
? command-name … 显示帮助信息。
注意事项
由于TFTP协议中没有用户登录或验证,因此远程[……]
「init-system-helpers」
init-system-helpers,用于所有的init系统(比如systemd或者sysvinit)的帮助工具。目的当然是为了简化init系统的管理。
这个软件包的维护者是Debain systemd Maintainers,属于Debain,当然Ubuntu中也有。
软件包中的文件列表
/usr/bin/deb-systemd-helper /usr/bin/deb-systemd-invoke /usr/sbin/debian-update-rc.d /usr/sbin/invoke-rc.d /usr/sbin/service /usr/sbin/update-rc.d
/usr/share/bug/init-system-helpers/control /usr/share/doc/init-system-helpers/README.invoke-rc.d.gz /usr/share/doc/init-system-helpers/README.policy-rc.d.gz /usr/share/doc/init-system-helpers/changelog.gz /usr/share/doc/init-system-helpers/copyright /usr/share/lintian/overrides/init-system-helpers
/usr/share/man/man1/deb-systemd-helper.1p.gz /usr/share/man/man1/deb-systemd-invoke.1p.gz /usr/share/man/man8/invoke-rc.d.8.gz /usr/share/man/man8/service.8.gz /usr/share/man/man8/update-rc.d.8.gz
Ubuntu 16.04.2 TLS
sysv-rc-conf
参考文献
apt-file list init-system-helpers[……]
「service(8)」-
运行一个System V init脚本
命令语法格式
service SCRIPT COMMAND [OPTIONS]
service –status-all
service –help | -h | –version
命令描述
命令service在尽可能可预测的环境中运行System V init脚本、systemd单元、upstart作业,删除大多数环境变量,并将当前工作目录设置为根目录。
SCRIPT 该参数指定位于/etc/init.d/SCRIPT中的System V init脚本;或systemd单元的名称;或/etc/init中的upstart作业的名称。如果存在与/etc/init.d中的脚本同名的systemd单元或upstart作业,将导致单元/作业优先于init.d脚本执行。
COMMAND 该参数支持的值取决于调用的脚本。 service将COMMAND和OPTIONS参数未经修改地传递给init脚本。对于systemd单元或upstart作业,start, stop, status, reload将传递到其systemctl/initctl的等效项。对于upstart作业,restart将调用作业的upstart ”stop“,然后紧接着是”start“,并将以”start“命令的返回码退出。
所有脚本至少应支持start和stop命令。作为特殊情况,如果COMMAND是–full-restart,则脚本运行两次,首先使用stop命令,然后使用start命令。此选项对upstart作业没有影响。
命令service –status-all使用status命令按字母顺序运行所有init脚本。运行服务的状态为[+];停止服务的状态为[-];没有’status’命令的服务为[?]。此选项仅调用sysvinit作业的状态;可以使用initctl list以类似方式查询upstart作业。
相关文件
/etc/init.d 该目录中包含了System V init脚本
/etc/init 该目录包含了upstart作业。
/{lib,run,etc}/systemd/system 该目录中包含了systemd单元。
相关环境变量
LANG, LANGUAGE, LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT, LC_IDENTIFICATION, LC_ALL, TERM, PATH 紧将这些环境变量传递给init脚[……]
「update-rc.d」
内容:介绍 update-rc.d 命令。
创建或移除System-V风格的init脚本的链接。 update-rc.d用于更新/etc/rcrunlevel.d/下名字格式为NNname的软链接,这些链接指向/etc/init.d/name脚本。当runlevel发生改变的时候,这些链接有由init运行;这些脚本一般用于启动和停止系统服务,如守护进程。runlevel是init支持的运行级别之一,即0123456789S,NNname中NN是一个两位的数字,决定了脚本的执行顺序。
这命令并不是所有的Linux发行版里都有,至少Debian里有,也许Debian的衍生版里也有。但是有一点:file-rc包含了update-rc.d、sysv-rc包含了update-rc.d、init-system-helpers也包含了update-rc.d,也许还有其他的软件包也包含了update-rc.d,这些update-rc.d用法有不同的地方,具体的使用请查看man手册。本文指的update-rc.d是sysv-rc包中的。
命令行语法及选项
update-rc.d [-n] [-f] name remove
update-rc.d [-n] name defaults
update-rc.d [-n] name disable|enable [ S|2|3|4|5 ]
创建INIT脚本链接
进入/etc/init.d/,这下面有很多的脚本,而/etc/rcrunlevel.d/下的链接都是指向该目录下的脚本。
update-rc.d创建链接时,需要提供“依赖关系”和“运行级别“信息,而这些信息位于/etc/init.d下的脚本中的“LSB注释头”(头部的注释中),你可以看一下,这些脚本的头部信息的内容。
man 8 insserv提供了“LSB头格式”的详细信息。关于更多insserv的内容,查看《insserv命令使用》
所以在使用update-rc.d前,确保/etc/init.d/name脚本存在以及”LSB头格式“是正确的。
当使用defaults选项时,update-rc.d创建名为/etc/rcrunlevel.d/[SK]NNname的链接指向/etc/init.d/name脚本,从“LSB注释头”中获取运行级别和依赖性信息。
update-rc.d只创建不存在的链接。如果/etc/rcrunlevel.d/[SK]??name文件已经存在,update-rc.d什么也不做。这么所就是为了不改变现有的配置,因为有写配置可能[……]
「initscripts」
「consoletype(1)」-
连接到标准输入的控制台的打印类型
命令语法格式
consoletype [stdout] [fg]
命令描述
命令consoletype打印连接到标准输入的控制台类型,并检查连接到标准输入的控制台是否是当前的前台虚拟控制台。
没有参数时:
如果控制台是虚拟终端(如果不在串行控制台上,则为/dev/tty*或/dev/console设备),则打印“vt”。
如果标准输入是串行控制台(/dev/console或/dev/ttyS*),则打印“serial”。
如果标准输入是伪终端,则打印“pty”。
该命令存在于RHEL系列的发行版中。
退出状态
当没有向consoletype传递参数时,则返回:
0 如果在虚拟终端上
1 如果在串行控制台上
2 如果在伪终端上
传递stdout参数时,则consoletype返回:
0 在所有情况下都为0,并将控制台类型打印到标准输出。
传递fg参数时,则consoletype返回:
0 如果连接到标准输入的控制台是当前虚拟终端
1 其他情况。
如上三种情况的返回值。
参考文献
man 1 consoletype
更新日志
09/01/2018 创建文章[……]
「ioping」
章节列表
「ioping」-[……]
「ioping」-
实时监控磁盘的I/O延迟。ioping的主要思想是类似于ping命令,它以显示网络延迟相同的方式来显示磁盘I/O延迟。
命令行语法格式
ioping [-LABCDWRkq] [-c count] [-w deadline] [-p period] [-P period] [-i interval] [-s size] [-S wsize]
[-o offset] directory|file|device
ioping -h | -v
命令支持的选项及含义
-c count ping执行的次数。
-w deadline 指定执行的时间。默认以秒为单位,有关单位的介绍查看下面的“Argument suffixes”部分。
-p period 每period个请求,打印一次原始统计信息。
-P period 每隔period秒,打印一次原始统计信息。
-i interval 两次ping请求之间间隔的秒数。默认为1秒。
-s size 每个请求的大小。默认为4k。
-S size Working Set的大小(目录为1m。对于文件或者设备是完整的大小。)
-o offset 文件或者设备的起始偏移量。默认为0。
-k 保留在工作目录中生成的ioping.tmp文件。
-L 使用顺序操作代替默认的随机操作。同时将请求的大小设置为256k(-s 256k)。
-A 使用异步IO。(系统调用io_submit(2), io_submit(2)等)
-C 使用缓存的IO(使用posix_fadvise(2)抑制缓存无效)
-D 使用直接IO(参见手册open(2)中的O_DIRECT)
-W 使用写来代替读。对于以目录为目标的操作是安全的。 注意:对于文件/设备,会使数据碎片化。这种情况下,应才重复三次(-WWW)。
-R 磁盘寻道速率测试,等价于-q -i 0 -w 3 -S 64m。如果磁盘的缓存非常大,应该相应增加Working Set(-S)。
-B 批处理模式。只输出原始格式的最后统计。
-q 抑制定期的可读性输出。
-h / -v 显示帮助与版本信息。
参数后缀(Argument suffixes)
以“时间”为参数的选项,比如:-i, -P, -w。默认的单位为秒,也可以使用以下单位作为后缀(大小写不敏感):
us, usec microseconds (a millionth of a second, 1 / 1 000 000)
ms, msec milliseconds (a thousandth of a second, 1 / 1 0[……]
「IOTop」
IOTop,一个Python程序,其UI,用于显示I类似top命令,可以列出当前执行I/O的进程。
Homepage: http://guichaz.free.fr/iotop/
安装方法
Ubuntu 16.04.2 LTS
apt-get install iotop
源码编译安装
查看源码目录下的 README 文件。
程序文件
iotop UI类似于top命令的I/O监控工具。该程序是一个Python脚本,如果使用的是源码编译安装,那程序文件可能是iotop.py。[……]
「iotop」- 简单的、类似与 top 命令的 I/O 监控程序
常用命令
语法格式
iotop [OPTIONS]
命令描述
iotop 用于监视 Linux Kernel(>= 2.6.20)输出的 I/O 使用情况信息,并显示系统中进程或线程的当前 I/O 使用情况的表格。在 Linux Kernel 构建配置中,至少需要启用 CONFIG_TASK_DELAY_ACCT,CONFIG_TASK_IO_ACCOUNTING,CONFIG_TASKSTATS,CONFIG_VM_EVENT_COUNTERS 这几个选项。
在采样期间,iotop 显示由每个进程/线程读和写的 I/O 带宽的列,它还显示线程/进程在交换和等待I/O时花费的时间百分比。对于每个进程,还显示其 I/O 优先级(class/level)。
此外,在采样周期内,读取和写入的总 I/O 带宽显示在UI的顶部。Total DISK READ 和 Total DISK WRITE 值表示进程和核线程和内核块设备子系统之间的总读取和写入带宽。而 Actual DISK READ 和 Actual DISK WRITE 表示内核块设备子系统和底层硬件(HDD,SSD 等)之间的实际磁盘 I/O 的相应带宽。因此,由于数据缓存和在 Linux Kernel 中进行的 I/O 操作重新排序,Total 和 Actual 值在任何给定的时间可能并不相等。
使用左箭头和右箭头改变排序,r 进行反向排序,o 用于 –only 选项的切换,p 用于 –processes 选项的切换,a 用于 –accumulated 选项的切换,q 用于退出,i 用于修改线程或者进程的线程的优先级,其他的任何键用于刷新。
命令选项
-o, –only 只显示正在进行 IO 的进程或者线程的信息,默认显示全部的。使用o键进行切换。
-P, –processes 只显示进程。通常情况下,显示所有的线程。
-p PID, –pid=PID 指定要监控的PID,默认是全部的。如果要监控多个PID,可以通过多次使用该参数。
-u USER, –user=USER 要监控的用户,默认为全部的。如果要监控多个用户,可以多次使用该参数。
-a, –accumulated 显示累计I/O,而不是默认的带宽。在这种模式下,显示的IO进程累计是从iotop启动开始的。
-k, –kilobytes 以kilobyte(1000 byte)为单位。对iotop的批处理模式使用脚本时,此模式很有用。iotop将以千字节显示所有大小,而不是选择最合适的单元。
非交互模式类选项
-b, –batch 进入非交互模式,循环的输出IO使用情况。记录随着时间的推移IO的使用[……]
「ipcalc」
「iproute2」
IPRoute2,该软件包包含基于基础IPV4和高级网络的程序。
命令列表及功能
bridge Configures network bridges
ctstat Connection status utility
genl Generic netlink utility frontend
ifcfg A shell script wrapper for the ip command.
Note that it requires the arping and rdisk programs from the iputils package found at http://www.skbuff.net/iputils/
ifstat Shows the interface statistics, including the amount of transmitted and received packets by interface
ip The main executable. It has several different functions:
ip link <device> allows users to look at the state of devices and to make changes
ip addr allows users to look at addresses and their properties, add new addresses, and delete old ones
ip neighbor allows users to look at neighbor bindings and their properties, add new neighbor entries, and delete old ones
ip rule allows users to look at the routing policies and change them
ip route allows users to look at the routing table and change routing table rules
ip tunnel allows users to look at the IP tunnels and their properties, and change them
ip maddr allows users to look at the multicast addresses and their properties, and change them
ip mroute a[……]
「arpd(8)」-
用户空间的ARP守护进程
命令语法格式
arpd [ -lkh? ] [ -a N ] [ -b dbase ] [ -B number ] [ -f file ] [-p interval ] [ -n time ] [ -R rate ] [ <INTERFACES> ]
命令描述
守护程序arpd收集免费ARP信息,将其保存在本地磁盘上并根据需要将其提供给内核,以避免由于内核ARP缓存的大小有限而导致冗余广播。
命令支持的选项及含义
-l 将arpd数据库转储到标准输出,并退出。输出由三列组成:接口索引、接口的IP地址、接口的MAC地址。还显示了死主机的否定条目,在这种情况下,MAC地址被替换为单词FAILED后跟冒号,以及最近的时间(证明主机已经死亡的事实)。
-f <FILE> 以类似于-l选项转储的文本格式,从FILE读取并加载arpd数据库。加载后退出,如果还给出了-l选项,可能列出结果数据库。 如果FILE是“-”,则读取标准输入以获取ARP表。
-b <DATABASE> 数据库文件的位置。 默认位置是/var/lib/arpd/arpd.db
-a <NUMBER> 使用此选项,arpd不仅可以被动地侦听接口上的ARP数据包,还可以自己发送广播查询。参数NUMBER是在目标被视为死亡之前要进行的此类查询的数量。当arpd没有此选项并作为内核帮助程序启动时(即在sysctl中启用app_solicit,或甚至使用选项-k),并且仍然没有获得足够的信息,您可以观察到1秒的服务缺口。不是致命的,但并不好。
-k 禁止内核发送广播查询。 此选项仅与选项-a一起使用。
-n <TIME> 指定负缓存的超时。 当解决方案失败时,arpd会抑制在此期间进一步尝试解决问题。 此选项仅与选项’-k’一起使用。 此超时不应超过不支持免费ARP的典型主机的启动时间。 默认值为60秒。
-p <TIME> 轮询尝试到内核ARP表之间等待的时间(以秒为单位)。 TIME可以是浮点数。 默认值为30。
-R <RATE> arpd每秒发送的最大稳定广播速率。 默认值为1。
-B <NUMBER> 由arpd连续发送的广播数量。 默认值为3。与-R选项一起使用此选项可确保在任何时间间隔T内广播的ARP查询数不超过B + R * T.
-h -? 打印帮助
<INTERFACES> 是要监视的网络接口的名称列表。 如果没有给出接口,arpd监视所有接口。 在这种情况下,arpd不调整sysctl参数,假设用户在arpd启动后自己执行此操作。
注[……]