Флаг -w
означает:
-w --ignore-all-space
Ignore all white space.
Теперь, это не очень ясно, потому что "пробел" обычно включает в себя \n
. Например, класс \s
в Perl-совместимых регулярных выражениях или POSIX [[:space:]]
соответствует символу новой строки :
.
$ printf '\n' | grep -zqP '\s' && echo yes
yes
$ printf '\n' | grep -zq '[[:space:]]' && echo yes
yes
Однако diff
работает путем сравнения строк , а строки определяются символом \n
(, как и grep
, на самом деле, поэтому мне пришлось использовать -z
выше ). Следовательно, diff
не может учитывать \n
, так как \n
означает, что это другая строка. Так что нет, опция -w
не заставляет diff
отбрасывать новые строки, пустая строка означает, что файлы не совпадают:
$ printf 'foo\nbar\n' > file1
$ printf 'foo\n\nbar\n' > file2
$ diff -wq file1 file2
Files file1 and file2 differ
Тем не менее, есть опция, которая заставляет diff
игнорировать изменения из-за количества строк:
-B --ignore-blank-lines
Ignore changes whose lines are all blank.
$ diff -sB file1 file2
Files file1 and file2 are identical
Приложения XWindows получают ввод с клавиатуры и мыши с X-сервера и отображают информацию через X-сервер. Для этих приложений необычно иметь управляющий терминал (в столбце tty ), если только они не запускаются из командной строки, имеющей управляющий терминал.
На самом деле лишь немногие приложения XWindows нуждаются в управляющем терминале или перенаправлении ввода или вывода. Среди них xclip
, xev
, xprop
, xwininfo
, xkill
, xlsfonts
, xlsclients
и xlsatoms
. Из них только один отображает окно и три могут временно менять курсор.
На самом деле приложение XWindows чаще размещает tty. xterm
и любое другое терминальное приложение предоставляет tty для оболочки или других программ, работающих «внутри» ее.
Наконец, обратите внимание, что сам X-сервер обычно ДЕЙСТВИТЕЛЬНО (по крайней мере в Linux )имеет связанный с ним терминал. Это больше связано с тем, что он может вписаться в виртуальные консоли, чем что-либо еще, но позволяет переключать клавиатуру и мышь между X-сервером и другими виртуальными консолями.