OS X's command line and I have never been what I'd call 'friendly'; rather, we have a mutual respect and understanding about not messing with each other. (Well, as much of a mutual respect as one can have between a human being and a code window.)
While the average person should never have any reason to visit Terminal, Apple's command line interface app actually does give you access to quite a few neat tricks and shortcuts... if you're willing to take a peek.
What is Terminal?
Apple's Terminal app is a direct interface to OS X's bash shell — part of its UNIX underpinnings. When you open it, Terminal presents you with a white text screen, logged in with your OS X user account by default.
Mac Terminal: The Mac Terminal is a command line interface (CLI) for Mac OS X available in all OS X versions through Lion. It is also a gateway to Unix, or the underlying operating system of OS X. Terminal allows users to modify various characteristics of their Mac desktops, fonts, files and more beyond the standard OS X graphical user. The preferences dialog for Terminal.app in OS X 10.8 (Mountain Lion) and later offers choices for values of the TERM environment variable. Available options are ansi, dtterm, nsterm, rxvt, vt52, vt100, vt102, xterm, xterm-16color and xterm-256color, which differ from the OS X 10.5 (Leopard) choices by dropping the xterm-color.
Here's the important part: With a system administrator account and password, you have direct access to tweaking almost everything about your computer's software code; that means that while this little window provides great power, it comes with great responsibility. In short, be careful before using Terminal to execute commands, and make sure you understand what you're typing.
You can also use Terminal to securely connect to other machines, web servers, and even create your own scripts, but those are how-tos for another day. For now, we're going to focus on using Terminal to explore your own computer.
For clarity's sake: Terminal.app does not provide bash, OSX provides bash (in the sense that bash is installed when OSX is installed). You could delete Terminal.app (not sure whether that would cause trouble with other applications that depend on it - or whether the system even allows you to delete it - but in theory you could. At least) and bash would still be available. – sepp2k Oct 19 '10.
Basic Terminal commands you should know
Before we get started with the fun stuff, let's learn some basic Terminal terminology and commands. These form the framework for more complex interactions (aka, the fun stuff).
How to execute a Terminal command
You can type something in the Terminal window until you're blue in the face, but it won't execute until you press the Return key on your keyboard. At that point, it will either return an error if you've typed something incorrectly, or the command will execute.
Unless you're executing a command that requires the display of text in Terminal, you won't have any indicator that what you've done has been successful; you'll just get a new line with your user name on it once the command is finished processing.
When writing commands and paths in Terminal, almost everything is case sensitive: This means that you need to remember to properly capitalize 'Dock' when referring to the Dock, or OS X won't understand your command.
What's a path?
You can use Terminal to get direct access to your files without using the Finder. To do so, you build something called a path. Paths look similar in some ways to website sub-directories, and follow the structure of your folders.
Paths take two forms: absolute paths and relative paths. An absolute path starts at the root level of your hard drive, and is displayed as '/'. So if you wanted to make a path to your Applications folder, you would write '/Applications/'.
Relative paths are defined based on where you've already navigated to, and represented by './'. For instance, if you go to the '/Applications/' folder in Terminal, that's your current working directory (cwd). You can then get to your Utilities folder by typing './Utilities/' rather than '/Applications/Utilities'.
When you first launch Terminal, you're starting in the current working directory of /Users/myusername/ (also known as your User folder).
How to display and move between files in Terminal
To actually put all this path knowledge to use, you'll need the Terminal commands for displaying and changing files.
ls: The 'ls' command, by itself, displays the contents of the cwd. So if I were just to type 'ls' in Terminal, it would display the contents of my user directory:
You can optionally add an absolute or relative or path if you want to view a different directories. So, for example, if I wanted to view the Utilities folder inside Applications, I could type 'ls /Applications/Utilities/'. This won't change your current working directory, but it'll let you view other directories on your hard drive.
You can add options to view more information about that directory. The options for 'ls' include:
- -l, which lets you view the permissions of each file in the directory
- -R, which will not only show each folder in the directory, but all their files, as well
- -a, which will show any hidden files in the current directory
cd: Where the 'ls' command lets you view a directory, the 'cd' command will actually move to that directory (change your cwd). For instance, if after viewing the Utilities folder, you want to move to it, you'd type 'cd /Applications/Utilities/'.
pwd: Write this command by itself to help you remember the path of your current directory. When typed into terminal, it will print the full path of your cwd.
man: This command, followed by another Unix command, lets you read the Unix manual about the second command. This is super useful if you want to try a cool Terminal trick you found online, but aren't sure what those commands actually do.
For instance, typing 'man ls' will get you information on the 'ls' command, which lists directory contents.
How to modify files, folders, and preferences in Terminal
defaults: This command is often used in Terminal tips and tricks to tweak applications and system settings via their preference files. You can use it to do things like disable transparency in the menu bar, always show your scroll bars, change trackpad behavior, and much much more. You'll usually see this paired with either 'write' and a string, as with this:
The code above lets you save all your screenshots as JPGs instead of the system default PNG.
killall: If you execute a Terminal command that affects any system process or app, you're going to need to reboot the process to make it take effect. 'killall' followed by the process will do so. (This is also another way to force quit misbehaving apps or processes if your Force Quit menu isn't behaving.) Remember, this command and its target are case sensitive.
ln: OS X has long offered aliases, which let you create links to files, folders, and applications elsewhere in the system without having to duplicate them. Unfortunately, certain apps don't play well with aliases. With the link command 'ln -s', you can create a low-level, UNIX-based symbolic link which most system processes will recognize. Likely, you'll never have to make a symbolic link, but on the off-chance you want to perform a Terminal trick that requires them, this is how you do it.
The first path listed is your original file's path; the second path is where you'd like your symbolic link.
chflags: This commands lets you view and change the flags on a file or folder. For most people, the only flags you're going to care about are 'hidden' and 'nohidden', which hide and unhide documents, respectively.
sudo: If you spend any time online, you've probably heard of 'sudo' before. This is Unix's override command, and lets you execute any command as an administrator — provided, of course, that you have the requisite password and permissions. It probably goes without saying, but as a Terminal beginner, it's generally a good idea not to mess with commands like 'sudo' unless you are 100 percent sure what you're doing.
How to use Terminal for fun and whimsy
What Does Terminal App Do For Mac Os X 10.5.8 5 8 9l30
say: Feeling lonely? You can make your computer say anything you like with the 'say' command, and you can even record it in audio format to your desktop, if you so choose.
telnet towel.blinkenlights.nl: This isn't technically something local to your Mac, but it's my all-time favorite Terminal trick. Some kind soul on the internet made an all-ASCII version of Star Wars: A New Hope; run the following code, and you'll be treated to a full showing. If it doesn't make you smile just a little bit, you might be dead inside.
macOS Catalina
Main
We may earn a commission for purchases using our links. Learn more.
Your tea–your wayReview: Free Your Tea Subscription Box is personalized just for your tastes
The Free Your Tea Subscription Box uses a number of methods to get you your perfect blend of teas each month.
Developer(s) | Jeremy Huddleston Sequoia, X.Org Foundation, Apple Inc. |
---|---|
Stable release | |
Written in | C |
Operating system | macOS |
Type | Display server |
License | Apple Public Source License MIT License |
Website | www.xquartz.org |
XQuartz is an open-source version of the X.Org X server, a component of the X Window System (X11, or shortened to simply X, and sometimes informally X-Windows) that runs on macOS.[1] It formally replaced Apple's internal X11 app. The name 'XQuartz' derives from Quartz, part of the macOS Core Graphics framework, to which XQuartz connects these applications. XQuartz allows cross-platform applications using X11 for the GUI to run on macOS, many of which are not specifically designed for macOS. This includes numerous scientific and academic software projects.[2]
History[edit]
X11.app was initially available as a downloadable public beta for Mac OS X 10.2 Jaguar and later included as a standard package for Mac OS X 10.3 Panther. In Mac OS X 10.4 Tiger X11.app was an optional install included on the install DVD. Mac OS X 10.5 Leopard, Mac OS X 10.6 Snow Leopard, and Mac OS X 10.7 Lion installed X11.app by default, but from OS X 10.8 Mountain Lion on Apple dropped dedicated support for X11.app, with users being directed to the open source XQuartz project (to which Apple contributes) instead.[2]
In Mac OS X 10.4 Tiger, Apple's X11 implemented X11 protocol release 6.6 (X11R6.6). This implementation includes an XFree86 4.4 based X11 window server, Quartz rootless window manager, libraries, and basic utilities such as xterm.[3] 'Rootless' means that X window applications show up on the Quartz desktop, appearing like any other windowed Quartz application (that is, not in a virtual desktop contained within another window). In Mac OS X Leopard, X11 was updated to use X.Org Server (X11R7.2) rather than XFree86.[4] The source code for X11 is available from Apple. Some source code is available under the Apple Public Source License while the bulk is licensed under the MIT License.
Current version[edit]
The current version of XQuartz is a DDX (Device Dependent X[5]) included in the X.Org Server and implements support for hardware-accelerated 2D graphics (in versions prior to 2.1), hardware OpenGL acceleration and integration with Aqua, the macOS graphical user interface (GUI). As of version 2.7.11, XQuartz does not provide support for high-resolution Retina displays to X11 apps, which run in pixel-doubled mode on high-resolution displays.
List of versions (since 2010)[edit]
Version[6] | macOS Requirement | Most important changes | Release date |
---|---|---|---|
XQuartz 2.7.11 | Mac OS X Snow Leopard 10.6.3 or later | 2016-10-29 | |
XQuartz 2.7.10 | Mac OS X Snow Leopard 10.6.3 or later | 2016-10-22 | |
XQuartz 2.7.9 | Mac OS X Snow Leopard 10.6.3 or later | 2016-05-05 | |
XQuartz 2.7.8 | Mac OS X Snow Leopard 10.6.3 or later | First release supported on OS X El Capitan | 2015-10-17 |
XQuartz 2.7.7 | Mac OS X Snow Leopard 10.6.3 or later | First release supported on OS X Yosemite | 2014-08-18 |
XQuartz 2.7.6 | Mac OS X Snow Leopard 10.6.3 or later | 2014-05-17 | |
XQuartz 2.7.5 | Mac OS X Snow Leopard 10.6.3 or later | First release supported on OS X Mavericks | 2013-11-10 |
XQuartz 2.7.4 | Mac OS X Snow Leopard 10.6.3 or later | 2012-09-27 | |
XQuartz 2.7.3 | Mac OS X Snow Leopard 10.6.3 or later | 2012-08-27 | |
XQuartz 2.7.2 | Mac OS X Snow Leopard 10.6.3 or later | First release supported on OS X Mountain Lion | 2012-06-01 |
XQuartz 2.7.1 | Mac OS X Snow Leopard 10.6.3 or later | 2012-06-01 | |
XQuartz 2.7.0 | Mac OS X Snow Leopard 10.6.3 or later | First release supported on Mac OS X 10.7 Lion | 2011-11-04 |
XQuartz 2.6.3 | Mac OS X Snow Leopard 10.6.3 or later | 2011-07-20 | |
XQuartz 2.6.2 | Mac OS X Snow Leopard 10.6.3 or later | 2011-04-30 | |
XQuartz 2.6.1 | Mac OS X Leopard 10.5.8, Mac OS X Snow Leopard 10.6.3, or later | 2011-03-17 | |
XQuartz 2.6.0 | Mac OS X Leopard 10.5.8, Mac OS X Snow Leopard 10.6.3, or later | 2010-12-19 | |
XQuartz 2.5.3 | Mac OS X Leopard 10.5.8, Mac OS X Snow Leopard 10.6.3, or later | 2010-08-13 | |
XQuartz 2.5.2 | Mac OS X Leopard 10.5.8, Mac OS X Snow Leopard 10.6.3, or later | 2010-07-20 | |
XQuartz 2.5.1 | Mac OS X Leopard 10.5.8, Mac OS X Snow Leopard 10.6.3, or later | 2010-07-10 | |
XQuartz 2.5.0 | Mac OS X Leopard 10.5.8, Mac OS X Snow Leopard 10.6.3, or later | First release supported on Mac OS X Snow Leopard | 2010-03-29 |
See also[edit]
What Does Terminal App Do For Mac Os X 10.5.8 Os X 10 5 8 To High Sierra
- MacX, X11 support on Classic Mac OS
- XWayland, to support X application under Wayland
- XDarwin, an implementation of X for macOS that preceded XQuartz, and supports versions of macOS before 10.3 unlike XQuartz
References[edit]
What Does Terminal App Do For Mac Os X 10.5.88 Upgrade Snow Leopard
- ^'XQuartz'.
- ^ ab'Apple Removes X11 in OS X 10.8 Mountain Lion, Shifts Support to Open Source XQuartz'. Retrieved September 14, 2016.
- ^'XQuartz'. September 14, 2016.
- ^'Inside Leopard: Under-the-hood, Page 2'. Macworld. November 2, 2007. Retrieved June 30, 2020.
- ^'Glossary'. www.x.org. Retrieved September 15, 2016.
- ^'XQuartz - Releases Archive'. www.xquartz.org. Retrieved January 22, 2017.