Jump to content

[INFO] Various Unix/Mac OS X terminal commands


  • Please log in to reply
82 replies to this topic

#1
Korrupted

Korrupted

    Wandering Samurai

  • Retired
  • 1,623 posts
  • Location:Wandering the world over.
  • Interests:Mac<br />Laptops
I figured I'd post some useful information, since I didn't see a similar topic anywhere using Search, so here it is.

***BEGIN TERMINAL INFO***
First off, Terminal is Mac OS X's version of Konsole from Linux, or Command Prompt from Windoze. It is located in /Applications/Utilities, down at the bottom. To open it, double click it.

When it opens and has a rectangular block sitting there, it is ready for your command(s).

Info about Root
On UNIX based systems such as Mac OS X or Linux, root is the main user for the computer, which has access to *everything*. In other words, this is the System Administrator account, which lets you do maintenance, etc.

Login as Root
sudo -s

After typing that, it will prompt you for your user password, assuming you're on an administrator account. Once you are accepted, you can do the rest of these commands.

OR:
su, which asks for the root password. If you don't have the root user enabled, follow the directions below. NOTE: Enabling the root user can be dangerous.

Again, after typing that, it will ask for the root password.

Change root password
If you don't like your root password, use:
sudo passwd root
Then type in your old root password, then give it a new password. If you had no root password before, it will simply ask you to enter a new password.

WARNING: TERMINAL WILL *NOT* PROMPT YOU FOR CONFIRMATION OF DELETIONS, RENAMES, ETC.
***NOTE: sudo CAN BE LINKED WITH ALL OF THESE COMMANDS, IF YOU DO NOT WISH TO LOGIN AS ROOT; THIS WILL LET YOU ACT AS THE SUPER USER FOR THE ONE COMMAND.***

Change directories

To move around in the various directories, use cd.
Example: cd /applications
That will move you into the applications folder.
Typing cd with no argument will return you to the directory you were in before.

To change to a directory with spaces in the name, surround the directory name in quotes.
Example: cd /Applications/"XChat Aqua"
That will move you into a folder called XChat Aqua in the applications folder.

Move to other volumes/disks/partitions

To move to different volumes/disks/partitions, use cd again.
Example: cd /volumes/Mac
That will move you into the root (/) directory of the volume named Mac.

You can also change to a volume with spaces, much like the last hint.
Example: cd /volumes/"Mac OS X"

Remove a file from your Mac

This will remove a file from the same directory you are in:
rm <filename>
Example: rm something.txt

You can specify a path to a file to delete, if it is in a different folder.
rm /path/to/something
Example: rm /Applications/Candybar.app
This will remove the application Candybar from your applications folder:

This will remove a directory/folder on your Mac:
rm -d <folder>
Example: rm -d delete_me
(Say you had a folder called delete_me in /, your start disk's main folder)

Note: You can specify a path for this too, like the previous rm commands.

Copy a file

To copy a file, use:
cp <filename> <name_of_copy>
Example: cp something.txt somethingelse.txt
This will make a duplicate of something.txt and name it somethingelse.txt

Move a file
To move a file, use:
mv <filename> <destination>
Example: something.txt /Applications
This will move something.txt to the Applications folder.

Find a file
To find a file, use:
locate <filename>
Example: locate Callisto.kext
This will look for anything related to Callisto.kext on your system.

Find a binary file
To find a binary file, like rm, use:
whereis <binary file>
Example: whereis rm
This will look for the rm command. :P

Create a folder
If you want to make a folder:
mkdir <name_of_folder>
Example: mkdir directory
Will make a folder called directory in the current folder you are in.

Move a folder
If you want to move a folder:
mv folder_name path
Example: mv folder /applications
Will move a folder called "folder" to applications.

NOTE: You can also specify a path if you want to put the folder somewhere specific.
Example: mkdir /Applications/directory

Repair Permissions of a folder
If you've been naughty and messed with the System/Library/Extensions folder at all, :hysterical: , you can repair the owner and permissions of the folder by doing:

chmod -R 755 <path>
chown root:wheel <path>

chmod -R 755 /System/Library/Extensions
chown -R root:wheel /System/Library/Extensions

NOTE: This can also be done(to a lesser extent) through Disk Utility in /Applications/Utilities. Open Disk Utility and select your Mac Volume, then click Repair Disk Permissions.

Repair permissions in Terminal without DiskUtility
To repair permissions on your whole system without the need of disk utility, do:

diskutil repairPermissions /

List Files in a directory
If you want to view files in a folder, do:
ls

NOTE: This will show you the files in the current directory you are in. You can also do ls <path> to see what's in a specific folder. Example: ls /applications
That will show you files in the Applications folder.

Text editing
If you want to edit various files in the Terminal:
nano <filename>
vi <filename>
emacs <filename>

Whichever you use is up to you. They all are text editors. NOTE: I have only used nano, so I can't really help people with vi or emacs.

You can also call TextEdit from the Terminal:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit

You can add the path of the file you want to edit to the end of the command line and it will open with TextEdit or just browse for it in TextEdit.

Add your own commands to Terminal!
If you want to add your own commands to terminal, follow these easy steps. In this example, we'll add a command called textedit, which will launch TextEdit with sudo priviliges, giving you a text editor with GUI capabilities that allows you to edit any file.
1. Open Terminal.
2. Type sudo -s, then enter your password.
3. nano /usr/sbin/textedit
4. paste this into the file: sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit
5. press CTRL+O, then enter to save.
6. Type textedit into terminal, and enjoy your new command!

***END TERMINAL INFO***

***BEGIN GENERAL MAC OS X INFO***

Run a Universal program in Rosetta
If you have a program that seems to be acting funny, and it's Universal, just right click(CTRL+Click for one button mice) the program, then choose Get Info, then when it pops up, look for a check box that says "Run in Rosetta". This will make the program run under Rosetta, Mac's PowerPC emulator, which allows for PowerPC apps to run, or Universal apps to run under PowerPC instructions.
N.B.: Not all programs have a "Run in Rosetta" option, so don't freak out if there's no option for it.

NOTE: ALL THE FOLLOWING CAN ALSO BE DONE ON HACKINTOSHES BY PRESSING F8 AT STARTUP WHERE IT WILL GIVE YOU A BOOT COMMANDLINE, WHERE YOU CAN INPUT YOUR OPTIONS THERE, SO THAT YOU CAN HAVE THOSE OPTIONS ON THAT BOOT ONLY.

Boot in verbatim mode to see errors/info about your mac
If you seem to be having weird errors with Mac and can't figure out why, try booting in verbatim mode, which tells you word for word what Mac is doing as it is starting up. In Terminal, navigate to /Library/Preferences/SystemConfiguration. Then sudo nano com.apple.boot.plist . Then below where it reads, "<key>Kernel Flags</key>", where it says <string></string>, add -v between the two string angle brackets so it looks like this:
<string> -v </string>

After this, press CTRL+O to save the file and reboot. To remove verbatim mode, simply follow the steps again and just remove -v from the string line.

Force a screen resolution on startup
If you want to force Mac OS X to start with a certain screen resolution: you have to add a new key and string line to your com.apple.boot.plist.
<key>Graphics Mode</key>
<string>1024x768x32@60</string>
Where 1024x768 is the resolution you want, x32 is the color depth you want, and if you have VESA 3.0 graphics, @60 the refresh rate you want.

Startup in Safe Mode
If you want to boot up in Safe Mode if something is giving you problems, simply add -x to the kernel flags:
<string> -x </string>
Just follow previous instructions.

NOTE: All of these are to be added on the same <string> </string> line!

----------------------------------------------------------------------------------------------------------------------------------------
More OS X Shell commands can be found at...

http://www.ss64.com/osx/index.html
----------------------------------------------------------------------------------------------------------------------------------------

***END GENERAL MAC OS X INFO***

That's it for now. If anyone thinks of anymore, or I think of anymore, I will add them to this guide. Enjoy!

Thanks to: Bofors, for the su info and the TextEdit from Terminal info, and Deetman for the Whereis and Locate commands.

June 20/'06 - Added in external link. Very good resource!

#2
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts

Login as Root
sudo -s


What is the difference between that and just typing:

su

#3
Korrupted

Korrupted

    Wandering Samurai

  • Retired
  • 1,623 posts
  • Location:Wandering the world over.
  • Interests:Mac<br />Laptops
There is no difference, I'll add it to the guide. Thanks. :hysterical:

#4
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts

Text editing
If you want to edit various files in the Terminal:
nano <filename>
vi <filename>
emacs <filename>

Whichever you use is up to you. They all are text editors. NOTE: I have only used nano, so I can't really help people with vi or emacs.


I like to do text editing in a real application. So I launch TextEdit (or Property List Editor in the Xcode-Developer Tools) as root like this:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit

You can add the path of the file you want to edit to the end of the command line and it will open with TextEdit or just browse for it in TextEdit.

#5
Korrupted

Korrupted

    Wandering Samurai

  • Retired
  • 1,623 posts
  • Location:Wandering the world over.
  • Interests:Mac<br />Laptops
Added to the guide. I added thanks to you at the bottom. :)

#6
Hagar

Hagar

    Project Dogsbody

  • Administrators
  • 2,352 posts
  • Location:Over the hills &amp; far away

What is the difference between that and just typing:

su



Actually, the difference between sudo -s & su is that:

sudo -s uses the users password (user must be a member of group wheel) whereas:

su uses the root password (which doesnt necessarily exist on all systems, & some consider it a secrity risk)

#7
Korrupted

Korrupted

    Wandering Samurai

  • Retired
  • 1,623 posts
  • Location:Wandering the world over.
  • Interests:Mac<br />Laptops
I didn't know that..thanks for telling us. :)

#8
time66

time66

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 2 posts
little ad.

I had both:
<string> -v </string> and
<string> "Graphics Mode"="1280x1024x32@60" </string>

didn't work...

seems u can only ad only one line?
i removed <string> -v </string>

and everything worked.....B)

#9
Korrupted

Korrupted

    Wandering Samurai

  • Retired
  • 1,623 posts
  • Location:Wandering the world over.
  • Interests:Mac<br />Laptops
You do all those commands on one line. B)

#10
sigxcpu

sigxcpu

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 490 posts
sudo asks for the USER password, if it has administrative rights (e.g. /etc/sudoers file)
su asks for the ROOT password.

that is the difference

#11
Korrupted

Korrupted

    Wandering Samurai

  • Retired
  • 1,623 posts
  • Location:Wandering the world over.
  • Interests:Mac<br />Laptops
Hagar said that in a previous post already, but thanks for your input. B)

#12
Swad

Swad

    Founder.

  • Administrators
  • 3,709 posts
  • Gender:Male
  • Location:Chicago
Thanks for the info, DaxT!

It's guides like this that make the Genius Bar rock. :-)

#13
Korrupted

Korrupted

    Wandering Samurai

  • Retired
  • 1,623 posts
  • Location:Wandering the world over.
  • Interests:Mac<br />Laptops
Thanks. :)

#14
Korrupted

Korrupted

    Wandering Samurai

  • Retired
  • 1,623 posts
  • Location:Wandering the world over.
  • Interests:Mac<br />Laptops
Would anybody be willing to translate this info into other languages? That'd be neat if everyone could have this info, not just us English speakers. :angry:

#15
bilditup1

bilditup1

    InsanelyMac Protégé

  • Members
  • PipPip
  • 99 posts
  • Gender:Male
  • Location:New York
There's no way to move folders? Also, is there any difference between the cp command and the ditto command?

#16
Korrupted

Korrupted

    Wandering Samurai

  • Retired
  • 1,623 posts
  • Location:Wandering the world over.
  • Interests:Mac<br />Laptops
Added how to move a folder. As far as I can tell, there's no difference between 'cp' and 'ditto'.

#17
bilditup1

bilditup1

    InsanelyMac Protégé

  • Members
  • PipPip
  • 99 posts
  • Gender:Male
  • Location:New York
Aight thanks. I was wondering about moving folders, appreciate it.

-eli b.

#18
Korrupted

Korrupted

    Wandering Samurai

  • Retired
  • 1,623 posts
  • Location:Wandering the world over.
  • Interests:Mac<br />Laptops
Added how to change directories, change to different volumes, as well as how to change into volumes/directories with spaces in the name. I can't believe I forgot those!

#19
Korrupted

Korrupted

    Wandering Samurai

  • Retired
  • 1,623 posts
  • Location:Wandering the world over.
  • Interests:Mac<br />Laptops
Added how to find files and binary files.

#20
vassalle

vassalle

    InsanelyMac Protégé

  • Members
  • PipPip
  • 72 posts

I like to do text editing in a real application. So I launch TextEdit (or Property List Editor in the Xcode-Developer Tools) as root like this:

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit

You can add the path of the file you want to edit to the end of the command line and it will open with TextEdit or just browse for it in TextEdit.


thanks for the guide! anyway, is there a way to set an alias for a command or application? for eg, the textedit above, instead of typing sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit, cant i set an alias to maybe textedit?

to illustrate further, say when your playing cs, you can bind certain "command", say show timeleft. it will be something like
bind l timeleft
then everytime i press l, it will show the time left.

hopefully i'm making it clear enough. dont know how to explain it.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy