I learning how to use git on a Mac and I'm trying to add a file in one of my branches by using the "cat > " command. The problem I'm having is that I want to end editing the file in the terminal but I do not know how to close it. I'm guessing that I need to change "modes" for lack of a better term. How do I proceed?

  • 3
    cat is not a text editor! Are you trying to be a masochist? xkcd.com/378
    – Lie Ryan
    Oct 11, 2010 at 22:57
  • I wouldn't rely on it all the time, but I don't see a problem doing that if all you want is to create a 2- or 3-line script. That's easier than firing up a text editor. Nov 30, 2016 at 22:51
  • If you are in a limited environment with no text editor (e.g., testing something inside a container with no root privilege), then you can use it as last resort.
    – Ictus
    Feb 8, 2021 at 12:35

2 Answers 2


Press Control-D.


Type Ctrl+D at the start of a new line. ^D is the "end of file" character when typed from a keyboard.

Note that the ^D character itself is not entered into the file. The file ends just before the point where you type ^D.

  • The Enter shouldn't be pressed on Unix-based systems (though MacOS might be an exception?); this isn't DOS where you have to press Enter after ^Z. You may need to press ^D a second time if you aren't already at the start of the line, though. Oct 11, 2010 at 22:53
  • Indeed. Why did I think you needed to press Enter? Fixed, thanks. Oct 11, 2010 at 22:56
  • at the start of a new line - because per POSIX, a line that doesn't end in a newline... isn't actually a line, so a file containing one isn't formally a text file. Oct 2, 2016 at 13:46

You must log in to answer this question.

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