I'm trying to get the status of a unit, but only the first 3 lines like this:

systemctl --user status resilio-sync --lines=3

I've tried various variations of this with -n 3 etc..., nothing works. And the strange part: it always shows the full log (13 lines), instead of 10 lines which should be the default according to the documentation for systemctl.

Trying systemctl status confirms this: it just outputs all 45 lines to the terminal, when it actually should be 10.

Am I missing something here? As far as I know I didn't change anything.

As a workaround I'm currently using:

systemctl --user status resilio-sync | sed -ne '1,3p'

but I'd rather like to fix the underlying problem and use the native command. System is Kali Linux (re4son-kernel, sticky fingers) on a Raspberry Pi (easy to blame on this strange setup, but since this is core Linux functionality I don't think it should matter)

Output of the first command

  • Welcome , Please add the output of the first command. – GAD3R Jan 17 '19 at 11:17
  • 1
    added it as a picture as I don't have the other machine connected to the internet atm. – Bauglir42 Jan 17 '19 at 11:25

The command systemctl status display the status of the service and the corresponding lines from journalctl, the --lines=3 will limit the displayed number of lines from the journal to 3. e,g:

systemctl --user status resilio-sync --lines=0

will display only the status of esilio-sync service without the journalctl log.

-n, --lines=

When used with status, controls the number of journal lines to show, counting from the most recent ones. Takes a positive integer argument, or 0 to disable journal output. Defaults to 10.

To limit the output of the systemctl status command you can use options:

systemctl check resilio-sync
systemctl is-active resilio-sync
systemctl is-enabled resilio-sync

or by groupping the options:

systemctl is-active is-enabled resilio-sync
|improve this answer|||||
  • 1
    ohhh the --lines argument only affects the journal part. I misunderstood the doc in that regard. Allright, that explains it, seems like I have to use head or sed – Bauglir42 Jan 17 '19 at 11:45

This is what the head command was designed for.

systemctl --user status resilio-sync | head -n 3
|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.