Для чего используется переменная TERM?

No usó las opciones -a, por lo que no se han conservado las propiedades ni los permisos de usuarios y grupos. Sin embargo, las marcas de tiempo se han debido al uso de -t.

Cuando reinicie rsync, no podrá usar los metadatos anteriores para determinar si el archivo en el destino es el mismo que en el origen. Si tiene suerte, puede usar --size-only, que le dice a rsync que asuma que el archivo es idéntico si el tamaño es el mismo; esto generalmente solo funciona correctamente para cosas como archivos de registro o fotos.

Sin embargo, las cosas pueden no ser tan malas como podría pensar :rsync verificará cada archivo tanto en el origen como en el destino, y solo si la suma de verificación muestra una diferencia, se transferirán los bloques diferentes. Es decir. no se vuelve a transferir todo el archivo, solo se transfieren los bloques modificados. Este es el punto fuerte de rsync :, que optimiza el uso del ancho de banda de la red a costa de más E/S de disco.

Por supuesto, esto supone que rsync se está transfiriendo a través de la red a otro host. Si el sistema de archivos NFS del que habla está montado localmente, entonces rsync probablemente no sea la herramienta para esto, ya que rsync en realidad usará mucho más ancho de banda de red mientras verifica los archivos. También rsync cambia al modo --whole-filecuando se realizan transferencias locales,ya que no tiene sentido verificar primero todo el archivo de origen y de destino y luego copiar el origen en el destino.

En general recomendaría el uso de -asi es posible. Es posible que deba combinarlo con --numeric-idssi tiene diferentes usuarios en el origen y el destino; si tiene los mismos usuarios pero las ID pueden ser diferentes, entonces NO use --numeric-ids, rsync asignará las ID de acuerdo con el nombre.

4
04.07.2019, 20:12
2 ответа

Переменная TERMиспользуется программами, работающими в терминале. Предполагается, что это позволит программам определять возможности терминала (или эмулятора ), которые обрабатывают их вывод. Это задокументировано в справочной странице ncurses.

Сам терминал, включая эмуляторы, такие как xterm, не заботится о значении TERM, кроме его установки (в случае эмуляторов — физические терминалы не могут ). Он знает, как обрабатывать определенные выходные последовательности, и обрабатывает их, не заботясь о TERMили о чем-то еще, кроме своего внутреннего состояния. Вы можете установить TERMна что угодно в своей оболочке или даже отключить его, не изменяя поведение терминала; во-первых, терминал не знает, что установлено TERM!

Программы, которые заботятся о TERM, обычно используют библиотеки вывода, которые заботятся, такие как ncurses , или в более простой форме Termcap или Terminfo . Сюда входят такие оболочки, как Bash и Zsh, которые используют terminfo, например, для функций редактирования строки (, позволяющих стирать строку при перемещении вверх и вниз по истории ). Они сопоставляют значение TERMс базой данных возможностей, которые сообщают программе или библиотеке, может ли терминал выполнять определенные задачи (, такие как перемещение курсора, очистка экрана, изменение цветов )и как это сделать. Это. Некоторые программы, такие как GNU grep, , предполагают возможности даже без проверки.

Изменение TERMс xterm-256colorна xtermмало что изменит,в частности, он не отключит поддержку цвета в программах, которые ссылаются наTERM:xtermи поддерживают цветной вывод. Разница заключается в количестве поддерживаемых цветов.

См. Как работает ввод с клавиатуры и вывод текста? , Цвета в справочных страницах , Какой тип терминала я использую? , Какой протокол/стандарт используется терминалами? для более подробной информации.

10
27.01.2020, 20:48

Я бы сказал, что многие многие программы nCurses (и libtinfo )заботятся о TERM.

Одним из примеров может быть htop, который часто дает «частично -перезаписанные» строки при TERM=xterm, но все выглядит нормально, когда TERM=xterm-color.

По моему опыту, программы, которые не используют libtinfo (прямо или косвенно, скажем, через nCurses ), обычно вообще не заботятся о TERM и предполагают поддержку цвета или позиционирования курсора и т. д.

1
27.01.2020, 20:48

Теги

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