У меня есть вопрос о расширениях файлов OS X. Я знаю по отдельным файлам, я могу щелкнуть правой кнопкой мыши, выбрать Получить информацию, а затем сказать, чтобы не отображать расширение этого файла. Есть ли команда терминала или другой способ прекратить показывать определенные расширения файлов в целом?

Что-то в терминале, как:

$ sudo hidefileextension *.por

Расширение, которое я пытаюсь скрыть, - это .por , расширение, которое Hero Lab ставит после своих портфелей персонажей для Pathfinder RPG.

Огромное спасибо :)

1 ответ1

0

Finder хранит скрытые расширения как расширенный атрибут, который можно изменить с помощью команды xattr . Во-первых, если у вас есть файл со скрытым расширением, вы должны увидеть знак @, добавленный к разрешениям и элементу xattr в листинге, а затем вы можете просмотреть его с помощью команды:

$ ls -l@
-rw-r--r--@   1 user  staff     0B Dec 19 23:41 test.txt
    com.apple.FinderInfo      32B 
$ xattr -px com.apple.FinderInfo test.txt
00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
$ 

Заметьте 1 в верхней строке? Это гекс скрытого флага расширения. В зависимости от файла могут быть другие параметры.

Чтобы применить атрибут, вы можете использовать эту команду:

xattr -wx com.apple.FinderInfo '0000000000000000001000000000000000000000000000000000000000000000' test.txt

Но важно отметить, что если у вас уже есть xattr в файле (обозначенный знаком @ в поле разрешений), то использование этой команды перезапишет любые другие xattrs. Вы должны взять шестнадцатеричное представление и замаскировать его поверх текущего xattr для com.apple.FinderInfo. Я не уверен, как это сделать в bash, но вы могли бы сделать это с помощью скрипта Python или чего-то подобного.

Я бы порекомендовал взять команду и поместить ее в свой .bashrc, если вы собираетесь ее часто использовать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .