Одно различие находится в том, как эти два действуют, когда несколько терминалов присоединены к единственной сессии.
С экраном представление каждого приложенного терминала независимо от других. С tmux все приложенные терминалы видят то же самое.
Скажите, что у Вас есть два терминала, присоединенные к единственной tmux сессии. При вводе ^B 1 в один терминал другой терминал также переключается на окно 1.
Когда у Вас есть два терминала, присоединенные к сессии одного экрана, и Вы вводите ^A 1 в один, он не имеет никакого эффекта на другой терминал.
Это основано на моем опыте с tmux 1.2; я вижу 1.3, отсутствует, но я ничего не заметил в журнале изменений об этом изменении поведения.
Если Вашу исходную tmux сессию называют 0
(значение по умолчанию), затем можно сделать tmux new-session -t 0
) запустить новую независимую сессию, подключенную к тому же набору окон, которые могут затем иметь его собственное представление.
/..
точки к /
:
$ ls -id /
2 /
$ ls -id /..
2 /..
У обоих есть то же inode число, которое, оказывается, 2 в этой системе. (Точное значение не имеет значения.)
Это сделано для непротиворечивости. Таким образом, не должно быть кода в ядре для проверки, где это в настоящее время - когда это обрабатывает a ..
в пути. Можно сказать cd ..
навсегда, и никогда не идите глубже, чем корень.
Это там, потому что это - гарантия, сделанная Unix: каждый каталог содержит две записи, .
который относится к себе, и ..
который относится к родителю.
Корневой каталог текущего пространства имен является особенным в этом ..
точки к тому же самому как .
, но не настолько особенный для повреждения гарантии, сделанной ОС к программам. Когда те условия контракта нарушены, вещи идут не так, как надо, и все указывают пальцами.
Корневой каталог, который Вы видите, мог бы, в файловой системе на диске, на самом деле иметь другой родительский каталог. Представление файловых систем, обеспеченных в смонтированном пространстве имен, - то, что осуществляет .. = .
правило для /
. Таким образом, если Вы находитесь в a chroot()
тюрьма, Вы будете видеть /.. = /
даже при том, что кто-то за пределами тюрьмы, смотрящей на /path/to/jail/..
будет видеть /path/to
вместо этого.
/
имеет ..
это указывает на себя? Я думаю, что это, возможно, было одинаково (или больше) приемлемо для /
НЕ иметь ..
.
– musiphil
03.12.2012, 05:13
man 5 dir
в системе BSD обойдет Вас через зарегистрированный API, и объекты, указанные в API, являются частью контракта.
– Phil P
01.10.2014, 20:47
../../../../../../../../../../../../../../../../etc/passwd
– Michael Mrozek♦ 12.01.2011, 05:36/
. Между../
(не обязательно вначале!) и символьные ссылки, очень трудно сделать, особенно полагая, что взломщик может перемещать каталоги под носом программы. – Gilles 'SO- stop being evil' 12.01.2011, 10:08