zsh искажают расширение

Дедушка всех мониторов процесса top, и много инструментов системного мониторинга называют top. Например, существует iotop наблюдать диск ввод-вывод, atop для набора системных ресурсов, powertop для потребляемой мощности.

Если Вы хотите более подробную информацию, она не прослежена по умолчанию. Для наблюдения, что делает конкретный процесс звонить strace на нем. Например, если Вы только интересуетесь доступами к файловой системе:

strace -s9999 -efile command_name    # trace a program during its whole execution
strace -s9999 -efile -p1234          # trace a running program with the given PID

strace характерно для Linux, но другие системы имеют подобный инструмент: truss на Солярисе, ktrace или dtrace под *BSD, и т.д.

Для наблюдения, что происходит с конкретным файлом или в конкретном каталоге или дереве каталогов используйте inotify средство.

inotifywait -m .

Снова, средство характерно для Linux, но большинство других нельдов имеет аналогичную систему, например, kqueue под *BSD и FAM (первоначально от SGI, но теперь доступный как API во многих системах).

Для наблюдения всех системных вызовов в соответствии с Linux можно использовать контрольную подсистему. Это является относительно недавним и нет большой литературы по теме; поиск auditctl или читайте auditctl страница справочника. На этом сайте существует несколько примеров: отслеживание доступов к файлу, отслеживая выполнение процесса.

7
20.03.2011, 23:58
2 ответа

Попытайтесь искать zsh сокращения. Они позволяют Вам вводить "сокращение", которое автоматически заменяется его полной формой, когда Вы нажимаете волшебную клавишу, такую как пространство. Таким образом, можно создать тот, который изменяется ...<SPACE> кому: ../...

Например, это - то, в чем Вы нуждаетесь в своем профиле:

typeset -A abbrevs
abbrevs=(
        "..." "../.."
        "...." "../../.."        
)

#create aliases for the abbrevs too
for abbr in ${(k)abbrevs}; do
   alias -g $abbr="${abbrevs[$abbr]}"
done

my-expand-abbrev() {
    local MATCH
    LBUFFER=${LBUFFER%%(#m)[_a-zA-Z0-9]#}
    LBUFFER+=${abbrevs[$MATCH]:-$MATCH}
    zle self-insert
}

zle -N my-expand-abbrev    
bindkey " " my-expand-abbrev 
bindkey -M isearch " " self-insert
6
27.01.2020, 20:18

Я имею пользовательский виджет ZLE для этого, просто отбрасываю его где-нибудь в каталоге в $fpath. Можно затем настроить его этот путь.

1
27.01.2020, 20:18

Теги

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