что действительно выслеживает +, число делает? Что относительно головы

Я просто назвал эту команду ls -l | tail +3. Во-первых, ls-s, продолжает 3 линии, добавляя передающие по каналу полосы первая строка и затем печатает каждого имена файлов на отдельной строке. Как это делает это?Это не имеет смысла.

Кроме того, я думал, что дисплеи имени файла хвоста служат 10 строк. Как делает + (и минус), играет в это уравнение?

То же самое о голове?Как это работает?

0
задан 28.10.2009, 22:11

3 ответа

От tail страница справочника:

Утилита хвоста отображает содержание файла или, по умолчанию, его стандартный вход, к стандартному выводу.

Дисплей начинается на уровне байта, строки или 512-байтового местоположения блока во входе. Числа, имеющие продвижение плюс (" + "), знак относительно начала входа, например, "-c +2" запускает дисплей на уровне второго байта входа. Числа, имеющие продвижение минус (" - "), знак или никакой явный знак относительно конца входа, например, "-n 2" отображает последние две строки входа. Значение по умолчанию стартовое местоположение является "-n 10" или последними 10 строками входа.

Таким образом в Вашем случае, tail +3 ( -n подразумевается), средства запускаются в 3-й строке входа (ls -l) и распечатайте остальных. Например:

ls -l вывод:

total 0
-rw-r--r--  1 carl  staff  0 Oct 28 13:18 file1
-rw-r--r--  1 carl  staff  0 Oct 28 13:18 file2
-rw-r--r--  1 carl  staff  0 Oct 28 13:18 file3
-rw-r--r--  1 carl  staff  0 Oct 28 13:18 file4
-rw-r--r--  1 carl  staff  0 Oct 28 13:18 file5
-rw-r--r--  1 carl  staff  0 Oct 28 13:18 file6

ls -l | tail +3 вывод:

-rw-r--r--  1 carl  staff  0 Oct 28 13:18 file2
-rw-r--r--  1 carl  staff  0 Oct 28 13:18 file3
-rw-r--r--  1 carl  staff  0 Oct 28 13:18 file4
-rw-r--r--  1 carl  staff  0 Oct 28 13:18 file5
-rw-r--r--  1 carl  staff  0 Oct 28 13:18 file6

Тот же вывод, только с этими первыми двумя неизолированными строками.

6
ответ дан 24.11.2019, 02:38

Из страницы справочника:

Если первый символ N (число байтов или строк) '+', печать, начинающаяся с Энного объекта от запуска каждого файла, другого - мудр, распечатайте последние объекты N в файле. N может иметь множитель suf-, зафиксируйте: b 512, k 1024, m 1024*1024.

4
ответ дан 24.11.2019, 02:38

Ответ:

Во-первых, ls-s, продолжает 3 линии, добавляя передающие по каналу полосы первая строка и затем печатает каждого имена файлов на отдельной строке. Как это делает это?Это не имеет смысла.

Ответ то, что ls команды смотрят на его стандартный вывод и проверяют, подключен ли он к tty. Если это, то это форматирует в целях дисплея. Если это не (например, вывод является файлом или каналом), то это печатает одну запись на строку.

  • Опция'-C'вызывает многостолбцовый вывод (как будто идя в терминал).
  • Опция'-1'вывод отдельного столбца сил (как будто идя в канал).
2
ответ дан 24.11.2019, 02:38

Теги

Похожие вопросы