Показать невидимые файлы из командной строки

9

По умолчанию ряд системных каталогов (например, ~ / Library) скрыт в OS X (т.е. они не отображаются в Finder):

Папка библиотеки

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

Можно ли убрать скрытый флаг для файла / каталога из командной строки?

Маркус Шанта
источник

Ответы:

15

Для файлов, спрятанных в начале .

Показывать:

defaults write com.apple.finder AppleShowAllFiles YES; killall Finder

Прятаться:

defaults write com.apple.finder AppleShowAllFiles NO; killall Finder

edit: согласно совету RikerW, чтобы сократить эти длинные строки в несколько более коротких строк, добавьте следующую строку в ~/.bash_profileваш любимый текстовый редактор:

alias showall='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder'
alias hideall='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder'

обратите внимание, что вам придется source ~/.bash_profileобновить оболочку новыми псевдонимами.


Для файлов, скрытых от GUI:

Показывать:

sudo chflags nohidden /path/to/file

Прятаться:

sudo chflags hidden /path/to/file

Имейте в виду, что это полностью убирает hiddenфлаг.

perhapsmaybeharry
источник
1
Отлично, я искал последнее, но первый вариант тоже полезно знать. Не уверен, если sudoэто строго необходимо, хотя.
Маркус Шанта
1
Это зависит, действительно. chflagsработает, если вы владелец файла, а если нет, то sudoэто необходимо.
perhapsmaybeharry
В любом случае согласился бы, просто нужно было дождаться 10-минутного отставания. У меня недостаточно репутации, чтобы поднять голос.
Маркус Шанта
1
Также обратите внимание, что добавление псевдонима .bash_profileобычно является хорошей идеей. У меня есть showallи hideallустановить, чтобы скрыть / показать точечные файлы.
Riker
2
Я столкнулся с делом, где chflags nohiddenне работал, но что работало xattr -c /path/to/file. Это был расширенный атрибут информации Finder, который скрывал файл.
JWWalker