Using the `ac` command to Print Statistics on User Connections (with examples)
- Linux
- November 5, 2023
The ac
command in Linux is a powerful tool that provides statistics on how long users have been connected to the system. It can be used to analyze user activity and monitor system usage. In this tutorial, we will explore eight different use cases of the ac
command and explain the code, motivation, and arguments for each use case.
1. Print how long the current user has been connected in hours
ac
Motivation: This use case is helpful when you want to quickly check how long the current user has been connected to the system. It can be useful for monitoring your own usage or when troubleshooting login issues.
Explanation: This command without any arguments simply displays the total login time for the current user. The output shows the total number of hours (rounded to two decimal places) that the user has been logged in.
Example Output:
total 12.23
2. Print how long users have been connected in hours
ac --individual-totals
Motivation: This use case is useful when you want to view the login time of all users on the system. It can help in detecting excessive usage or identifying idle user sessions.
Explanation: The --individual-totals
option is used to display the login time for each individual user on the system. The output will show the total number of hours (rounded to two decimal places) that each user has been logged in.
Example Output:
john 5.67
mary 2.43
guest 1.11
3. Print how long a particular user has been connected in hours
ac --individual-totals username
Motivation: This use case is handy when you want to check the login time of a specific user on the system. It can be useful for monitoring the activity of specific users or reviewing their usage patterns.
Explanation: Replace username
with the actual username of the user you want to get the login time for. This command with the --individual-totals
argument will display the login time of the specified user in hours (rounded to two decimal places).
Example Output:
john 5.67
4. Print how long a particular user has been connected in hours per day (with total)
ac --daily-totals --individual-totals username
Motivation: This use case is helpful when you want to analyze the login time of a specific user on a daily basis. It can give you insights into their usage patterns, such as peak login hours or days of low activity.
Explanation: This command combines the --daily-totals
and --individual-totals
options to display the login time of a particular user per day, along with the total login time. Replace username
with the actual username of the user.
Example Output:
day hours
Monday 1.50
Tuesday 0.75
Wednesday 3.00
...
Total 12.56
5. Also display additional details
ac --compatibility
Motivation: This use case is useful when you want to get more detailed information along with the login time. It can provide additional insights into the user accounts, such as the number of sessions and the number of commands executed.
Explanation: The --compatibility
option enables the display of additional details like the number of sessions and the number of commands executed for each user. This option enhances the output of the ac
command, making it more informative.
Example Output:
john (1000) 5.67 25 230
mary (1001) 2.43 15 160
guest (1002) 1.11 5 50
In this example output, the second column represents the login time in hours, the third column indicates the number of sessions, and the fourth column shows the number of commands executed.
Now you have learned eight different use cases of the ac
command, ranging from printing the login time for the current user to obtaining detailed statistics for individual users. These examples can help you monitor user activity, identify excessive usage, and gain insights into system usage patterns.