Существует две части в дешифровке, что означает "режим без предварительной обработки в шестнадцатеричном числе"; первое - то, что это находится в шестнадцатеричном числе, но режимы доступа обычно описываются в восьмеричном:
41ed16 = 407758 81a416 = 1006448
Если необходимо было посмотреть на /tmp
, который обычно имеет ограниченный флаг удаления ('липкий бит') набор:
$ ls -ld /tmp drwxrwxrwt 17 root root 4096 2012-05-31 13:45 /tmp $ stat --format '%f %a' /tmp 43ff 1777
и преобразование:
43ff16 = 417778
"Режим без предварительной обработки в шестнадцатеричном числе" описан в руководстве программиста для функции статистики (man 2 stat
), замечание, что они - восьмеричные значения:
The following flags are defined for the st_mode field: S_IFMT 0170000 bit mask for the file type bit fields S_IFSOCK 0140000 socket S_IFLNK 0120000 symbolic link S_IFREG 0100000 regular file S_IFBLK 0060000 block device S_IFDIR 0040000 directory S_IFCHR 0020000 character device S_IFIFO 0010000 FIFO S_ISUID 0004000 set UID bit S_ISGID 0002000 set-group-ID bit (see below) S_ISVTX 0001000 sticky bit (see below) S_IRWXU 00700 mask for file owner permissions S_IRUSR 00400 owner has read permission S_IWUSR 00200 owner has write permission S_IXUSR 00100 owner has execute permission S_IRWXG 00070 mask for group permissions S_IRGRP 00040 group has read permission S_IWGRP 00020 group has write permission S_IXGRP 00010 group has execute permission S_IRWXO 00007 mask for permissions for others (not in group) S_IROTH 00004 others have read permission S_IWOTH 00002 others have write permission S_IXOTH 00001 others have execute permission
(Странно, страница справочника онлайн пропускает этот раздел.)
Это - немного поля, и мы видим, что последние четыре цифры соответствуют режиму доступа; ведущая цифра (в шестнадцатеричном числе) соответствует типу файла, таким образом, шестнадцатеричный режим 81a4 соответствует "каталогу, режим 0644", и шестнадцатеричный режим 41ed соответствует "регулярному файлу, режим 0775".
Вы могли бы хотеть взглянуть на беглеца: https://github.com/tpope/vim-fugitive. Вы могли использовать :Ggrep string
команда, что объединило бы шаги 2, 3 и 5 Вашего примера.
Дополнительную информацию см. в этой ссылке на :Ggrep
: http://vimcasts.org/episodes/fugitive-vim-exploring-the-history-of-a-git-repository/
Вот некоторые альтернативы, которые Вы могли бы хотеть проверить:
Я использую встроенное :vimgrep
команда, это просто работает на меня. Для внешних инструментов я предпочитаю ack
все же.