Обычно при нажатии кнопки клавиатура генерирует один код клавиши. ОС принимает клавишные коды, применяет некоторое отображение ключей и пытается обрабатывать комбинации клавиш независимо от базового аппаратного обеспечения.
Механизм SysRq немного отличается: Клавиатура захватывает комбинацию и отправляет в ОС специальный клавишной код, как если бы была нажата одиночная кнопка. Linux kerenel ловит специальный код и обрабатывает его внутри, не пересылая входные данные в приложения более высокого уровня, такие как сервер X. Это подразумевает два последствия:
Комбинация клавиш действительно зависит от клавиатуры. Клавиатура должна фиксировать все нажатия на клавишу самостоятельно, и только клавиатура «знает», где находится фактическая клавиша SysRq и какая комбинация запускает отправку специального клавишного кода. Итак:
Ctrl + Alt + SysRq + b
или Ctrl + Alt + Fn + SysRq + b
и т.д. (предупреждение, система перезагрузится после успешного завершения). На клавиатурах с клавишей Fn
обычно необходимо нажать ее для перехода к фактической клавише SysRq
, поэтому, вероятно, в комбинации будет использоваться клавиша Fn
. Вы действительно можете знать, когда вы получите комбинацию правильно. Запустите xev
с терминала, фокусируйте окно xev
и нажмите некоторые кнопки на клавиатуре, чтобы увидеть события, появляющиеся на терминале. При получении правильной комбинации НЕ следует получать событие, поскольку оно улавливается ядром и не доставляется на сервер X.
Также обратитесь к документации: https://www.kernel.org/doc/Documentation/sysrq.txt
-121--125736-
Если вы хотите знать размер устройства (в байтах), вы можете использовать blockdev:
# blockdev --getsize64 /dev/sde
2000398934016
В этом примере /dev/sde
является 2TB диском или, по крайней мере, это то, что видит ядро. Естественно, fdisk
, parted
и другие должны показывать одну и ту же информацию.
Этот размер не изменяется. Потеря мощностей из-за плохих секторов не является вариантом, это не приведет к прекращению проблем; перераспределение секторов использует внутренний резерв, и привод, как правило, полностью мертв до того, как он израсходован. Вы должны заменить, прежде чем все станет так плохо.
Некоторые люди любят оставлять небольшое свободное пространство (несколько мег) в конце диска, поскольку сменный диск может не иметь точно такого же размера, как ваш старый, и может затруднить замену членов, если новое устройство кажется слишком маленьким.
-121--123264-
Там есть несколько интеллектуальных инструментов извлечения (которые я узнал после того, как написал один для себя). Можно просмотреть dtrx
(установка с помощью sudo apt-get install dtrx
).
dtrx
всегда создает каталог верхнего уровня, если он еще не находится в архиве.Адаптация сценария bash-обертки (который вызывает dtrx
вместо unzip
) становится гораздо более простой, поскольку он должен только переместить подкаталоги и удалить каталог верхнего уровня (так как последний всегда там).
do
- зарезервированное слово в оболочке. Оно является частью синтаксиса циклов , в то время как
и для циклов
. Когда вы определяете его как псевдоним, псевдоним имеет приоритет над зарезервированным словом. Таким образом, оболочка видит после расширения псевдонима:
if [ -d "$_dir/pre" ]; then
for config in "$_dir"/pre/**/*(N-.); ssh -L xxxx:127.0.0.1:xxxx -N -f -l user -p xxxx xx.xx.xxx.xxx
. $config
done
fi
Я не знаю, почему zsh жалуется на fi
, а не на done
или отсутствие do
после точки с запятой, но в любом случае, это недействительный синтаксис.
Вам нужно выбрать другое имя для вашего псевдонима. Избегайте всех зарезервированных слов -.