You have opened a long log file in vi and jumped to the end of it. You now need to find the nearest earlier occurrence of the word `error`, that is, above the cursor. Which command starts that search?

LPIC-1 Exam 101-500, objective 103. GNU and Unix commands medium

Machine-checked — no person has signed for it. This question was read against the source cited below by an automated pass, which found no contradiction. That is a weaker claim than it sounds: the same kind of process wrote the question, so it can confirm its own mistake.

Treat it as a good draft rather than as settled fact, and read the source below before you rely on it. It is not used in mock exams here — only questions a person has signed for are.

How these questions are written — where each question comes from, what the verification ledger records, and what happens when one is found wrong.

The options

Not correct /error

Wrong direction. `/` searches forward from the cursor towards the end of the file, so at the end of the file it finds nothing until it wraps.

Correct ?error

Correct. `?` opens a search prompt that runs backwards from the cursor towards the start of the file.

Not correct N

Wrong on its own. `N` repeats the previous search in the opposite direction, so it needs a search to already have been made and does not accept a new pattern.

Not correct :s/error

Wrong, and it edits rather than searches. `:s` is the substitute command; it replaces text on the current line instead of moving the cursor to a match.

Why

vi has two search openers in command mode: `/pattern` searches forward and `?pattern` searches backward, both starting from the cursor position. `n` then repeats the search in the direction it was originally given, and `N` repeats it reversed, so after `?error` the key `n` keeps walking further back through the file. Searching does not change the buffer; `:s` does.

Where this comes from

Cited
manual page vi(1p)

Practise this

Reading one question is not practice. The trainer will draw a short set from objective 103 and space the ones you get wrong.

Practise LPIC-1 Exam 101-500

More questions on this objective

All questions on GNU and Unix commands

Practise LPIC-1 Exam 101-500