• Home

Learn To Program In Terminal For A Mac

 
Learn To Program In Terminal For A Mac 5,7/10 3370 reviews

How to run a Ruby file. So in getting myself quickly up to scratch again I thought I would write a quick guide for everyone who is getting started (or started again in my case) with learning Ruby and Terminal.

The Terminal app allows you to control your Mac using a command prompt. Why would you want to do that? Well, perhaps because you’re used to working on a command line in a Unix-based system and prefer to work that way. Terminal is a Mac command line interface. There are several advantages to using Terminal to accomplish some tasks — it’s usually quicker, for example. In order to use it, however, you’ll need to get to grips with its basic commands and functions. Once you’ve done that, you can dig deeper and learn more commands and use your Mac’s command prompt for more complex, as well as some fun, tasks.

How to Play Games in Your Mac Terminal In this Article: Tetris Snake Gomoku Pong Doctor More Games Community Q&A The Terminal is an application inside all Macs. Connect to a Windows Terminal Server from a Mac. Connect to a Windows Terminal Server from a Mac. Mac Desktop Service. Posted on: 24 Jan 2013. Updated on: 26 Oct 2016. IT Dept, 2013 - 2018 CERN ACCOUNT-HOLDERS ONLY: Give feedback or report an issue on the IT website. OS X puts more than a thousand Unix commands at your fingertips—for finding and managing files, remotely accessing your Mac from other computers, and using freely downloadable open source applications.

Curated Mac apps that keep your Mac’s performance under control. Avoid Terminal commands, avoid trouble.

Download Free

How to open Terminal on Mac

The Terminal app is in the Utilities folder in Applications. To open it, either open your Applications folder, then open Utilities and double-click on Terminal, or press Command - spacebar to launch Spotlight and type 'Terminal,' then double-click the search result.

Learn To Program In Terminal For A Mac

You’ll see a small window with a white background open on your desktop. In the title bar are your username, the word 'bash' and the dimensions of the window in pixels. Bash stands for 'Bourne again shell'. There are a number of different shells that can run Unix commands, and on the Mac Bash is the one used by Terminal.

If you want to make the window bigger, click on the bottom right corner and drag it outwards. If you don’t like the black text on a white background, go to the Shell menu, choose New Window and select from the options in the list.

If Terminal feels complicated or you have issues with the set-up, let us tell you right away that there are alternatives. MacPilot allows to get access to over 1,200 macOS features without memorizing any commands. Basically, a third-party Terminal for Mac that acts like Finder.

For Mac monitoring features, try iStat Menus. The app collects data like CPU load, disk activity, network usage, and more — all of which accessible from your menu bar.

Basic Mac commands in Terminal

The quickest way to get to know Terminal and understand how it works is to start using it. But before we do that, it’s worth spending a little time getting to know how commands work. To run a command, you just type it at the cursor and hit Return to execute.

Every command is made up of three elements: the command itself, an argument which tells the command what resource it should operate on, and an option that modifies the output. So, for example, to move a file from one folder to another on your Mac, you’d use the move command 'mv' and then type the location of the file you want to move, including the file name and the location where you want to move it to.

Let’s try it.

  1. Type cd ~/Documentsthen and press Return to navigate to your Home folder.

  2. Type lsthen Return (you type Return after every command).

You should now see a list of all the files in your Documents folder — ls is the command for listing files.

To see a list of all the commands available in Terminal, hold down the Escape key and then press y when you see a question asking if you want to see all the possibilities. To see more commands, press Return.

Unix has its own built-in manual. So, to learn more about a command type man [name of command], where 'command' is the name of the command you want find out more about.

Terminal rules

There are a few things you need to bear in mind when you’re typing commands in Terminal, or any other command-line tool. Firstly, every character matters, including spaces. So when you’re copying a command you see here, make sure you include the spaces and that characters are in the correct case.

You can’t use a mouse or trackpad in Terminal, but you can navigate using the arrow keys. If you want to re-run a command, tap the up arrow key until you reach it, then press Return. To interrupt a command that’s already running, type Control-C.

Commands are always executed in the current location. So, if you don’t specify a location in the command, it will run wherever you last moved to or where the last command was run. Use the cdcommand, followed by a directory path, like in Step 1 above, to specify the folder where you want a command to run.

There is another way to specify a location: go to the Finder, navigate to the file or folder you want and drag it onto the Terminal window, with the cursor at the point where you would have typed the path.

Here’s another example. This time, we’ll create a new folder inside your Documents directory and call it 'TerminalTest.'

  1. Open a Finder window and navigate to your Documents folder.

  2. Type cd and drag the Documents folder onto the Terminal window.

  3. Now, type mkdir 'TerminalTest'

Go back to the Finder, open Text Edit and create a new file called 'TerminalTestFile.rtf'. Now save it to the TerminalTest folder in your Documents folder.

In the Terminal window, type cd ~/Documents/TerminalTest then Return. Now type lsand you should see 'TerminalTestFile' listed.

To change the name of the file, type this, pressing Return after every step:

  1. cd~/Documents/TerminalTest

  2. mv TerminalTestFile TerminalTestFile2.rtf

That will change the name of the file to 'TerminalTestFile2'. You can, of course, use any name you like. The mv command means 'move' and you can also use it to move files from one directory to another. In that case, you’d keep the file names the same, but specify another directory before typing the the second instance of the name, like this:

mv ~/Documents/TerminalTest TerminalTestFile.rtf ~/Documents/TerminalTest2 TerminalTestFile.rtf

More advanced Terminal commands

Terminal can be used for all sorts of different tasks. Some of them can be performed in the Finder, but are quicker in Terminal. Others access deep-rooted parts of macOS that aren’t accessible from the Finder without specialist applications. Here are a few examples.

Copy files from one folder to another
  1. In a Terminal window, type ditto [folder 1] [folder 1] where 'folder 1' is the folder that hosts the files and 'folder 2' is the folder you want to move them to.

  2. To see the files being copied in the Terminal window, type -v after the command.

Best Mac Terminal

Download files from the internet

You’ll need the URL of the file you want to download in order to use Terminal for this.

How to use terminal on mac
  1. cd ~/Downloads/

  2. curl -O [URL of file you want to download]

If you want to download the file to a directory other than your Downloads folder, replace ~/Downloads/ with the path to that folder, or drag it onto the Terminal window after you type the cd command.

Change the default location for screenshots

If you don’t want macOS to save screenshots to your Desktop when you press Command-Shift-3, you can change the default location in Terminal

  1. defaults write com.apple.screencapture location [path to folder where you want screenshots to be saved]

  2. Hit Return

  3. killall SystemUIServer

  4. Hit Return

Change the default file type for screenshots

By default, macOS saves screenshots as .png files. To change that to .jpg, do this:

  1. defaults write com.apple.screencapture type JPG

  2. Press Return

  3. killall SystemUIServer

  4. Press Return

Delete all files in a folder

The command used to delete, or remove, files in Terminal is rm. So, for example, if you wanted to remove a file in your Documents folder named 'oldfile.rtf' you’d use cd ~/Documents to go to your Documents folder then to delete the file. As it stands, that will delete the file without further intervention from you. If you want to confirm the file to be deleted, use -i as in rm -i oldfile.rtf

To delete all the files and sub-folders in a directory named 'oldfolder', the command is rm -R oldfolder and to confirm each file should be deleted, rm -iR oldfolder

Just because you can use Terminal to delete files on your Mac, doesn’t mean you should. It’s a relatively blunt instrument, deleting only those files and folders you specify.

Another way to free up space

If your goal in removing files or folders is to free up space on your Mac, or to remove junk files that are causing your Mac to run slowly, it’s far better to use an app designed for the purpose. CleanMyMac X is one such app.

It will scan your Mac for files and recommend which ones you can delete safely, as well as telling you how much space you’ll save. And once you’ve decided which files to delete, you can get rid of them in a click. You can download CleanMyMac here.

As you can see, while Terminal may look scary and seem like it’s difficult to use, it really isn’t. The key is learning a few commands, such as those we’ve outlined above, and getting to know the syntax for those commands.

However, you should be careful when using Terminal, it’s a powerful tool that has deep access to your Mac’s system files. Check commands by googling them if you’re not sure what they do. And if you need to delete files to save space, use an app like CleanMyMac X to do it. It’s much safer!

These might also interest you:


Click to viewThat Mac you're viewing this web page on using a pretty graphical interface? That's a Unix-based system which can run the powerful and age old command line utilities of the most advanced Unix beard. If you've never launched the Terminal, you're missing out on a plethora of Unix tools that offer more control and options than any dialog box possibly could. We've covered some basic Unix command line techniques in the past, but today we've got a few more for folks who want to start their Unix ninja training from the comfort of their own Mac.

Replace Terminal with iTerm

Advertisement

The first stop in your foray into Mac OS X command line goodness is getting yourself a proper terminal. While all the commands we'll discuss will work just fine in the built-in Terminal.app (located in /Applications/Utilities), the free, open source iTerm is a definite improvement over vanilla Terminal. Mostly because it supports tabbed sessions, which lets you run several tasks in various tabs without taking up screen real estate. Download iTerm here (free). iTerm tab hint: once you've got more than one tab open, use the Ctrl+Right/Left arrow to move between them.

The Basics

We've already posted a series of beginner's guides to the command line for Windows users running the Unix emulator Cygwin. This is the beauty and advantage of being comfortable at the Unix command line: learn commands once and they'll work most anywhere—on Mac, in Windows/Cygwin, and in most flavors of any Unix-based system. So instead of traversing ground we've already covered, hit up our past tutorials instead (and ignore all the Cygwin-specific stuff):

Advertisement

  • Introduction to Cygwin—Print the working directory with pwd, create new files with touch my-new-file.txt, and list all the files in a directory with ls.
  • More useful commands—File listing command options (like ls -lh), aliasing common commands to save typing (like alias 'ls'='ls -lh'), append text to files with >>, see the contents of files with cat, search file contents with grep, using your command history and RTFM'ing with man.
  • Scripts, packages and more—Logging onto other computers remotely from the command line using ssh and scripting collections of commands for easy execution.

Advertisement


While almost the entire recipe box of established Unix commands work on OS X, there are also a few Mac-specific command line tools that hook into Spotlight, access your iPod and other external disks, launch Mac graphical applications and install more open source applications. Let's take a look.

Launch Applications and Documents

The open command can open up a certain file in its associated application (like open lifehacker.doc will launch Word with lifehacker.doc open) or it can launch a specific application. To open a document, you've got to be in the directory where that document lives; to launch an application, use the -a option to tell Mac OS X to look in the Applications folder. For example, open -a ichat will launch iChat no matter what directory you're in. Using previously-mentioned aliases, you could map the command ichat='open -a ichat' in your .bash_profile to save yourself some keystrokes, too.

Advertisement

Access Files on Your iPod (and Other External Volumes)

Now that you know how to navigate folders and subfolders and file listings, you may want to use your new command line knowledge to check out external disks connected to your Mac, like your iPod. Mac OS X lists all external drives in the /Volumes/ directory. So to get there, type cd /Volumes/ and hit Enter. Then a quick ls will list the available drives. Here I've got an iPod (with disk use enabled in iTunes) called 'Terra's iPod' connected to the Mac. Move into it using cd Terra's iPod (you can use the Tab key after T to autocomplete the volume name, which is a little screwy because of the apostrophe) and then ls the directories there. Your iPod's music is stored in the /iPod_Control/Music directory, so you can cd there to see how all your music shows up:

Advertisement


Sadly your music is stored in folders with non-obvious names, like F00-F49. cd into any one of those directories and you'll see similarly-named music files. To copy those files back to your Mac's internal hard drive, a simple cp command would get the job done.

Torrent for mac. Advertisement

Access, Search and List Spotlight File Metadata

Mac OS X's built-in file search system Spotlight indexes a lot more than just file names and contents. It builds an index of metadata like file type, author, times and dates and other information, like artist and album for properly tagged music files and camera model information for digital photos. Using the mdls command, you can list Spotlight's metadata for a file and using mdfind, search for files that only match certain criteria. For example, to see the metadata for a Word document, I'd do an mdls filename.doc, as shown:

How To Use Terminal On Mac

Advertisement

To see other documents authored by Marcia, I'd use the mdsfind command with the filtering parameter 'kMDItemAuthors 'Marcia Ellett':

Advertisement

Install Open Source Software with Fink

The Fink Project ports open source Unix software to run on Mac OS X's Darwin and makes that software available for download to your Mac in a simple command. Once you download and install Fink, you can use the sudo apt-get install emacs, for instance, to install the classic Emacs editor. Or you can browse the list of available packages in Fink using the free Fink Commander graphical interface, which looks like this:

Advertisement

More Fun Stuff

Other Unix fun to be had on your Mac (or any *nix system) includes:

  • Encrypt your web browsing session with an SSH tunnel
  • Automatically download entire web sites, new music and more by mastering wget
  • Run a personal, home SSH server
  • Customize your command prompt (like my pictured prompt, 'Your wish is my command')

Advertisement

Further Reading

For more on Unix for Mac users, check out Dave Taylor's excellent book, Learning Unix for Mac OS X Tiger, which inspired and informed this article.

Advertisement

$10
GMG may get a commission

How do you use the Unix goodness baked into your Mac? Let us know in the comments.

Advertisement

What Is Terminal On Mac

Gina Trapani, the editor of Lifehacker, loves herself some Terminal activity. Her weekly feature, Geek to Live, appears every Friday on Lifehacker. Subscribe to the Geek to Live feed to get new installments in your newsreader.