Сначала необходимо знать различия между Виртуальными файловыми системами, и Физические Файловые системы (проверьте Google).
proc
, sysfs
, tmpfs,devpts
, sun_rpc
и gvfs-fuse-daemon
Виртуальные файловые системы.
/dev/sda1 и/dev/sda3 являются устройствами хранения данных: физические файловые системы.
proc
: proc
Виртуальные файловые системы для управления процессами, Вы видите каждый PID, и другой снабжает.
sysfs
: другая Виртуальная файловая система, управляемая ядром; это помогает proc
, хотя не в PIDs
но в аппаратных средствах и другой снабжает.
/dev/pts
: на GNU/Linux у Вас есть виртуальные терминалы и реальные терминалы для реальных терминалов, через которые можно получить доступ: /dev/tty1
, /dev/tty2
, /dev/tty2
swtich через CTRL+ALT+F1..8
Но для виртуальных терминалов, Вы имеете /dev/pts/
каталог, это содержит /dev/pts/0
, 1
, 2
и так далее каждая цифра для одного виртуального терминала.
/dev/shm
: отметка курса корабля является сокращением Общей памяти, это - место обмена данными.
RPC
: Вызов удаленной процедуры.
tmpfs
: Когда пространство потребностей ядра для каждой задачи, смонтируйте, что это вводит. Такой как /tmp
Примечание: Сначала, читайте о Виртуальных файловых системах, затем считанных о монтировании.
Утилиты GNU и BSD grep
имеют опцию -A
для строк после совпадений и опцию -B
для строк до совпадений. Таким образом, можно сделать что-то вроде:
$ grep -A 1 bcd myfile
abcdef
123
-показывать линию после матча и
$ grep -B 1 ifl myfile
123
ghiflk
-показывать линию перед матчем. Наконец, вы можете использовать -C
для показа N строк до и после матча:
$ grep -C 1 ifl myfile
123
ghiflk
234
Если ваша версия grep
не поддерживает эту возможность, вы всегда можете попробовать другие методы:
используя опции POSIX grep
и sed
вместе с shell:
n=$(grep -n bcd foo | cut -d':' -f1); sed -n "${n},$((n + 1))p" myfile
Используя AWK
awk '/bcd/ {печать; getline; print}' мой файл.
И многое другое.
Помимо вариантов, упомянутых Стивеном Д, GNU grep принимает (недокументированный) вариант -n, который определяет количество строк, которые нужно вывести до и после совпадающей строки. Конечно, использование опции -n включает нумерацию строк, поэтому опции -A и -B лучше, если вам не нужна нумерация строк.
Eg, grep -n1 pattern
ведет себя как grep -n -A1 -B1 pattern
Как упоминает don_crissti в комментариях, на самом деле -n это не недокументированный аргумент в пользу опции -n
. -NUM
(где -NUM
- целое число) на самом деле является синонимом опции -C NUM
, поэтому -nNUM
на самом деле является сокращением -n -C NUM
.