Executing unix commands in ObjC Executing unix commands in ObjC unix unix

Executing unix commands in ObjC


NSTask is your friend if speed isn't necessary. If it is, use the native system calls.


If you're only concerned about listing the contents of a directory, read the Guide about Low-Level File Management. Especially Listing the Contents of a Directory could be interesting.$

If that still isn't fast enough, use the C API. See this question: How do you get a directory listing in C.


As far as I'm aware, Objective C is built on C so you should have access to all the standard UNIXy capabilities, among them:

  • system().
  • fork().
  • exec() family.
  • popen().


Don't forget about posix_spawn(), for when you need to exert dictatorial-level control over your sub-processes.

Of course, if you're just looking to do file system management and introspection from Cocoa proper, look no further than NSFileManager.