命令行大全

ac

方砖大叔 发表于 2020-06-17 14:37浏览次数:

ac命令根据当前的/var/log/wtmp文件中的登录进入和退出来报告用户连接的时间(小时),如果不使用标志,则报告总的时间,也就是统计用户的在线时间。

查看英文版

目录:

1 ac 运行系统环境

2 ac 描述

3 ac 语法

4 ac 选项

5 ac 示例

6 相关命令

ac 运行系统环境

ac 描述

ac根据当前wtmp文件中的登录/注销打印出连接时间(以小时为单位)的报告。 总计也被打印出来。

计费文件wtmp通过init和login维护。 ac和login都不会创建wtmp(如果它不存在),则不会进行任何记帐。 要开始计算,请创建长度为零的文件。

GNU ac几乎与Unix ac相同,尽管它在多种方面更智能。

因此,您应该期望GNU ac的输出与其他系统上ac的输出有所不同。 使用命令信息计费来获取其他信息。

ac prints out a report of connect time (in hours) based on the logins/logouts in the current wtmp file. A total is also printed out.

The accounting file wtmp is maintained by init and login. Neither ac nor login creates the wtmp if it doesn't exist, no accounting is done. To begin accounting, create the file with a length of zero.

GNU ac works nearly the same Unix ac, though it's a little smarter in several ways. You should therefore expect differences in the output of GNU ac and the output of ac's on other systems. Use the command info accounting to get additional information.

The wtmp file can get really big, really fast. You might want to trim it every once and a while.

查看英文版

查看中文版

ac 语法

ac [ -d | --daily-totals ] [ -y | --print-year ] [ -p | --individual-totals ] 
   [ people ] [ -f | --file file name ] [ -a | --all-days ] [ --complain ] 
   [ --reboots ] [ --supplants ] [ --timewarps ] [ --compatibility ] 
   [ --tw-leniency num ] [ --tw-suspicious num ] [ -z | --print-zeros ] 
   [ --debug ] [ -V | --version ] [ -h | --help ]
ac [ -d | --daily-totals ] [ -y | --print-year ] [ -p | --individual-totals ] 
   [ people ] [ -f | --file file name ] [ -a | --all-days ] [ --complain ] 
   [ --reboots ] [ --supplants ] [ --timewarps ] [ --compatibility ] 
   [ --tw-leniency num ] [ --tw-suspicious num ] [ -z | --print-zeros ] 
   [ --debug ] [ -V | --version ] [ -h | --help ]

查看英文版

查看中文版

ac 选项

-d, --daily-totals

按每天的统计数据打印。 输出格式如下:

Jul  3  total     1.17Jul  4  total     2.10Jul  5  total     8.23Jul  6  total     2.10Jul  7  total     0.30

-p, --individual-totals

打印每个账号的总的连接时间。 输出格式如下:

bob       8.06goff      0.60maley     7.37root      0.12total    16.15
people

打印出人员中所有用户使用的连接时间的总和。 请注意,人员是用空格分隔的有效用户名列表。 不允许使用通配符。

-f, --file file name

从文件文件名而不是系统的wtmp文件读取。

--complain

当wtmp文件有问题(时间扭曲,缺少记录或其他原因)时,请打印出适当的错误。

--reboots

重新引导记录不是在重新引导时写入的,而是在系统重新引导时写入的; 因此,不可能确切知道重新启动的时间。 用户可能已在重新引导时登录到系统,并且许多ac会根据用户自动计算从登录到重新引导记录之间的时间(即使所有时间都不应该如此,如果系统是 例如长时间停机)。 如果要计算这次,请包括该标志。 为了最大程度地兼容所有版本的ac,请包含此标志。

--supplants

有时,没有为特定终端写入注销记录,因此无法计算最后一个用户的累积时间。 如果要包括从用户登录到终端上下次登录的时间(虽然可能不正确),请包含此信息,您要包括从用户登录到终端上下一次登录的时间(尽管可能不正确),包括 这个标志。 为了最大程度地兼容所有版本的ac,请包含此标志。

--timewarps

有时,wtmp文件中的条目会突然跳回过去,而不会发生时钟更改记录。 发生这种情况时,无法知道用户登录了多长时间。 如果要计算用户登录和时间扭曲之间的时间,请包含此标志。 为了最大程度地兼容所有版本的ac,请包含此标志。

--compatibility

这是键入以上三个选项的简写。

-a, --all-days 如果要打印每日总计,请每天打印一条记录,而不要跳过没有登录活动的中间日期。 如果没有此标志,则在这几天之间的累积时间将在登录活动的第二天下列出。

--tw-leniency num

将时间扭曲宽大度设置为num秒。 wtmp文件中的记录可能会有些混乱(最值得注意的是,在一秒内发生两次登录;第二次登录首先写入)。 默认情况下,此值设置为60。如果程序注意到此问题,除非使用--timewarps标志,否则不会为用户分配时间。

--tw-suspicious num

将时间扭曲可疑值设置为num秒。 如果wtmp文件中的两条记录相隔的间隔时间超过此秒数,则wtmp文件存在问题(或者您的机器一年未使用过)。 如果程序注意到此问题,则除非使用--timewarps标志,否则不会将时间分配给用户。

-y, --print-year 在显示日期的时候输出年份。

-z, --print-zeros

如果任何类别的总计(总计除外)为零,请打印出来。 默认设置是禁止打印。

--debug

打印详细的内部信息。

-V, --version

将ac的版本号打印到标准输出并退出。

-h, --help

将使用情况字符串和系统文件的默认位置打印到标准输出并退出。

-d, --daily-totals

Print totals for each day rather than just one big total at the end. The output looks like this:

Jul  3  total     1.17Jul  4  total     2.10Jul  5  total     8.23Jul  6  total     2.10Jul  7  total     0.30

-p, --individual-totals

Print time totals for each user in addition to the usual everything-lumped-into-one value. It looks like:

bob       8.06goff      0.60maley     7.37root      0.12total    16.15
people

Print out the sum total of the connect time used by all of the users included in people. Note that people is a space separated list of valid user names; wildcards are not allowed.

-f, --file file name

Read from the file file name instead of the system's wtmp file.

--complain

When the wtmp file has a problem (a time-warp, missing record, or whatever), print out an appropriate error.

--reboots

Reboot records are NOT written at the time of a reboot, but when the system restarts; therefore, it is impossible to know exactly when the reboot occurred. Users may have been logged into the system at the time of the reboot, and many ac's automatically count the time between the login and the reboot record against the user (even though all of that time shouldn't be, perhaps, if the system is down for a long time, for instance). If you want to count this time, include the flag. For maximum compatibility with all versions of ac, include this flag.

--supplants

Sometimes, a logout record is not written for a specific terminal, so the time that the last user accrued cannot be calculated. If you want to include the time from the user's login to the next login on the terminal (though probably incorrect), include this you want to include the time from the user's login to the next login on the terminal (though probably incorrect), include this flag. For maximum compatibility with all versions of ac, include this flag.

--timewarps

Sometimes, entries in a wtmp file will suddenly jump back into the past without a clock change record occurring. It is impossible to know how long a user was logged in when this occurs. If you want to count the time between the login and the time warp against the user, include this flag. For maximum compatibility with all versions of ac, include this flag.

--compatibility

This is shorthand for typing out the three above options.

-a, --all-days If printing daily totals, print a record for every day instead of skipping intervening days where there is no login activity. Without this flag, time accrued during those intervening days gets listed under the next day where there is login activity.

--tw-leniency num

Set the time warp leniency to num seconds. Records in wtmp files might be slightly out of order (most notably when two logins occur within a one-second period; the second one gets written first). By default, this value is set to 60. If the program notices this problem, time is not assigned to users unless the --timewarps flag is used.

--tw-suspicious num

Set the time warp suspicious value to num seconds. If two records in the wtmp file are farther than this number of seconds apart, there is a problem with the wtmp file (or your machine hasn't been used in a year). If the program notices this problem, time is not assigned to users unless the --timewarps flag is used.

-y, --print-year Print year when displaying dates.

-z, --print-zeros

If a total for any category (other than the grand total) is zero, print it. The default is to suppress printing.

--debug

Print verbose internal information.

-V, --version

Print the version number of ac to standard output and quit.

-h, --help

Prints the usage string and default locations of system files to standard output and exits.

查看英文版

查看中文版

ac 示例

ac -d -y

以年份作为日期的一部分显示每日结果,类似于以下示例:

Mar  6 2013	total       45.41
Mar  7 2013	total       69.84
Mar  8 2013	total       50.96
Mar 10 2013	total       37.69
Mar 11 2013	total        2.21
Mar 12 2013	total       10.20
Mar 14 2013	total       48.00
Mar 15 2013	total       34.34
Mar 16 2013	total       56.76
Mar 17 2013	total       66.41
Mar 18 2013	total       70.18
Mar 19 2013	total       40.90
Mar 20 2013	total       21.29
Mar 23 2013	total      156.54
Mar 24 2013	total       67.71
Today		total      133.35
ac -d -y

Display daily results with the year as part of the date, similar to the example below:

Mar  6 2013	total       45.41
Mar  7 2013	total       69.84
Mar  8 2013	total       50.96
Mar 10 2013	total       37.69
Mar 11 2013	total        2.21
Mar 12 2013	total       10.20
Mar 14 2013	total       48.00
Mar 15 2013	total       34.34
Mar 16 2013	total       56.76
Mar 17 2013	total       66.41
Mar 18 2013	total       70.18
Mar 19 2013	total       40.90
Mar 20 2013	total       21.29
Mar 23 2013	total      156.54
Mar 24 2013	total       67.71
Today		total      133.35

查看英文版

查看中文版

相关命令

login — 在系统上开始会话。
netstat — 打印有关网络连接,路由表,接口统计信息,伪装连接和多播成员身份的信息。
login — Begin a session on a system.
netstat — Print information about network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.

查看英文版

查看中文版