24

I accidentally deleted my ~/.zshrc file and I'd like to get it back from a Time Machine backup. When I enter Time Machine I can see my home directory, but all the dot-files in the directory are hidden in the Finder window displayed by Time Machine.

How can I restore a hidden file like ~/.zshrc using Time Machine?

11

To be able to view invisible files…

Late edit
Since Sierra (macOS 10.12) you can use shift ⇧ cmd ⌘ . to toggle visibility. You only need the old AppleShowAllFiles trick if you want to make the change permanent.


Open Applescript Editor, in Applications > Utilities then copy/paste this to a new script...

Since El Capitan the trick of changing view no longer works, so it's back to quitting the Finder

For a method to make this into a Service with key command see
https://apple.stackexchange.com/a/258741/85275

set newHiddenVisiblesState to "YES"
try
    set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    if oldHiddenVisiblesState is in {"1", "YES"} then
        set newHiddenVisiblesState to "NO"
    end if
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState
do shell script "killall Finder"
return input

Mavericks/Yosemite ought to work with this view refresh version, which was faster & smoother, but it just stopped working at El Capitan...

set newHiddenVisiblesState to "YES"
try
    set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    if oldHiddenVisiblesState is in {"1", "YES"} then
        set newHiddenVisiblesState to "NO"
    end if
end try
do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState


tell application "Finder"
    set theWindows to every Finder window
    repeat with i from 1 to number of items in theWindows
        set this_item to item i of theWindows
        set theView to current view of this_item
        if theView is list view then
            set current view of this_item to icon view
        else
            set current view of this_item to list view

        end if
        set current view of this_item to theView
    end repeat
end tell

Then Save as an application, which you can then just double-click to toggle showing/hiding invisible files.

You don't need to kill the Finder for this toggle, a refresh is sufficient - & may be faster.

5
  • 1
    The window redraw has the same effect as a Finder restart FWIW. I wouldn't say it's faster, but having the ability to detect and toggle state is nice. – Ian C. Dec 20 '14 at 21:50
  • I used to find the Finder sometimes took a few seconds to come back up [though I used to have HD not SSD, so that might be the difference] – Tetsujin Dec 21 '14 at 8:04
  • This did not work for me. Ian C.'s suggestion below however, did work. – Darrell Golliher Jun 13 '17 at 11:05
  • 1
    @DarrellGolliher - this worked at the time, it doesn't since El Capitan. Here's the other version - apple.stackexchange.com/a/258741/85275 & how to set it to a key command too. – Tetsujin Jun 13 '17 at 17:25
  • thank you so much... this works in big sur (the cmd-shift-period solution). was just able to restore a much needed old chrome bookmarks backup from the hidden Library folder. – Nathan Beach Jan 19 at 4:08
28

Rest assured that Time Machine is backing up your dot-files! You just can't see them by default in Finder. In order to restore a hidden file like .zshrc you first need to turn off file hiding in finder. You can do this by opening a Terminal window and entering:

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder

Now enter Time Machine and navigate to where your hidden files resided. You should be able to restore them from there.

When you've restored all the files you want you can go back to having Finder hide them by entering:

defaults write com.apple.finder AppleShowAllFiles FALSE
killall Finder

in a Terminal window.

22

The AppleShowAllFiles pref seems to be gone in High Sierra.

Fortunately, you can now (in Sierra and High Sierra) tell Finder to show you all your "hidden" (dot) files with:

shift ⇧ + cmd ⌘ + .

This works in Time Machine as well.

2
  • 5
    This works in MacOS Catalina as of 2020. – Rob Jan 22 '20 at 15:39
  • And, also as of 2020, this works on macOS Big Sur 11.0 Beta (20A5384c) — and very likely will work on the final version as well! – Gwyneth Llewelyn Oct 9 '20 at 17:16
10

You can easily access to your hidden file by using the Terminal.

cd /Volumes/TIME_CAPSULE_DISK_NAME/Backups.backupdb/YOUR_BACKUP/Users/YOUR_NAME
ls -la
2
  • 4
    It is a sad fact that this seems to be by far the simplest way. Thank you for this brief moment of sanity – Chris F Carroll Mar 27 '16 at 14:36
  • Unfortunately this doesn't work for me: cd /Volumes/TIME_CAPSULE_DISK_NAME/Backups.backupdb/ ls -lra . ERROR: ls: .: Operation not permitted Any idea? – Matthias M Oct 30 '20 at 14:06

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .