A Look Inside the iPod Shuffle

by C.K. Sample III Feb 01, 2005

I realize that we’ve already shown a dissection of the iPod Shuffle here at AppleMatters, but what I haven’t seen is a look inside the iPod Shuffle’s file structure. Let’s do it.

Taking my new 1GB iPod Shuffle, I stuck it into my 12-inch Powerbook and launched the Terminal (located in /Applications/Utilities/Terminal). I then found my iPod Shuffle mounted on my Desktop and dragged it into the Terminal window. This gives me the path to the device:

$ /Volumes/CKSHUFFLE

If you hit enter here you’ll get an error:

-bash: /Volumes/CKSHUFFLE: is a directory

Instead of hitting enter, backspace to the beginning of the line and add a change directory command (cd):

$cd /Volumes/CKSHUFFLE/

This moves us inside the iPod Shuffle. Now simply type ‘ls’ at the command prompt to list all files. You will see a listing of any files you happen to have stored on your iPod Shuffle and an additional directory that is normally invisible in the Finder, called iPod_Control. Inside this directory are two more folders: one called “Music,” which holds all the music on your iPod Shuffle, and the other called “iTunes,” which holds a short list of preference files used by iTunes: DeviceInfo, iTunesControl, iTunesEQPresets, iTunesPlaylists, iTunesSD, iEKInfo, iTunesDB, iTunesPState, and iTunesPrefs.

If we want to go to the iPod_Control directory straight off the bat, simply type the following at the command line:

$cd /Volumes/[your iPod Shuffle’s name]/iPod_Control/

Once you are here, you can successfully copy songs off of your iPod Shuffle and back to your computer, just in case you accidentally erased a favorite song from your iTunes library and the only copy of the file happens to be on the iPod Shuffle. Type “cd Music” to jump inside the Music folder. Type “ls” and a list will be displayed of various folders (F00, F01, F02, for example) into which your music is divided. For example, directory F00 inside my iPod Shuffle’s Music folder contains the following files (among 45 total tracks):

  • 01 Annihilation.m4p
  • 07 People Are People.m4p
  • 01 Now Get Busy.m4a
  • 08 Freedom of Choice.m4p
  • 01 The Future.m4p 08 Howlin_ Wolf.m4p
  • 02 Champagne and Reefer.m4p
  • 09 Bailey_s Walk.m4p
  • 02 Imagine.m4p
  • 09 Believe Me Natalie.m4p
  • 02 Just Tonight.m4p
  • 09 Days of Our Lives.m4p
  • 03 Peace Love and Understan.m4p 09 Garden.m4p

Suppose you had navigated to F00 by using “cd Music/F00/” and used “ls” to list the files above. Among them, suppose you spotted a single song you wanted. If you wanted to copy 07 People Are People.m4p to your desktop, you would type the following at the command line:

$cp /Volumes/[your iPod Shuffle’s name]/iPod_Control/Music/F00/07 People Are People.m4p ~/Desktop/

If you, like me, have more than a Gig of free space available on your Mac and don’t feel like searching through all the different folders via the command line, you can simply copy the entire Music folder to your Desktop with the following commands:

$cd /Volumes/[your iPod Shuffle’s name]/iPod_Control/
$cp -R Music ~/Desktop/

This will create an identical Music folder to the one on your iPod Shuffle on your Desktop, complete with all your Shuffle’s songs, only visible in the Finder for a change.

This is also the same type of procedure you would use for fishing songs off of your regular iPod / iPod mini. Now, if you’ll excuse me, I’m off to figure out how to write a script that will use these commands to auto-fill my iPod Shuffle from my regular iPod...

Comments

  • Great article.
    I’ve actually been writing something like this over the past few days.
    However, adding files directly into the F00, F01, etc does not update the iPods “playlist” (i.e. XML file that iTunes updates).
    How does one accomplish this in the Terminal/Finder?
    Also, can one consolidate files from F00, F01, etc into F00?

    risc had this to say on Feb 02, 2005 Posts: 1
  • I don’t own any type of iPod and don’t own a Mac. From what I understand normally you can’t copy music from an iPod to the computer. Does this mean with simple shell commands we can work around this?

    kettle had this to say on Feb 02, 2005 Posts: 4
  • Kettle, yes.  With simple shell commands you can work around this.  Much in the way that you can circumnavigate the DRM by simply burning the songs to an audio CD and then ripping them back to your computer.

    C.K. Sample III had this to say on Feb 03, 2005 Posts: 41
  • risc, thanks.  I’m not sure how to update the playlist.  I imagine it would entail hacking one of the files found inside /Volumes/YouriPod/iPod_Control/iTunes/

    This is just my impression of it, but I don’t think you can combine the folders, as they seem to be grouped according to numbers (ie, if you have very few songs, there is only a F00 folder; once that one fills, then F01 is created, and once that fills F02 is created).  It seems to be the way the iPod works with numerous files.

    Thanks for your comment.  I hadn’t even thought of the playlist issue, which will definitely need to be overcome to create the Autofill from iPod script app that I am thinking on.

    Cheers.

    C.K. Sample III had this to say on Feb 03, 2005 Posts: 41
  • I just realized today that you can also simply type:
    $open F00
    while in the Terminal to open a that Directory in the Finder.  All the files inside will then be visible and drag-able.  Cheers.

    C.K. Sample III had this to say on Feb 04, 2005 Posts: 41
  • And another thing:
    $open F**
    This will open all the folders containing songs in the Music folder.

    C.K. Sample III had this to say on Feb 04, 2005 Posts: 41
  • I’m just curious if you know the PC (DOS) equivalent to those command lines?  If not, no big deal, but it would be cool to know.

    Thanks!

    will had this to say on Feb 05, 2005 Posts: 6
  • Just as an addon to the above, I’ve figured out how to get into the iPod Control in DOS:

    cd /d h:iPod_Control

    (This assumes that your computer assigns H: to the iPod, which you can check easily when it’s plugged in)

    I can’t figure out how to copy the contents to the desktop.  I think this would be a neat little script to have around.

    will had this to say on Feb 05, 2005 Posts: 6
  • And as another addon, the following can simply be typed into windows explorer to access the files:

    H:iPod_ControlMusicF00

    Replace F00 w/ F01 and F02 to get more files (it appears that the shuffle doesn’t use F03 & up).

    As far as updating the playlists, I think there is at least one iPod 3rd party program that is open source, maybe it would provide the insight into that format for you?

    will had this to say on Feb 05, 2005 Posts: 6
  • The iPod Shuffle’s directory is pretty much the same as a regular iPod. Have a look at these iPod AppleScripts for more ideas.

    Doug Adams had this to say on Feb 07, 2005 Posts: 2
  • Hey, will,

    Great work!  If you want to open all the invisible folders at once, with that string, simply type:

    H:iPod_ControlMusicF**

    As the asterisks work as generic stand-ins for whatever characters may follow the F. 

    C.K. Sample III had this to say on Feb 09, 2005 Posts: 41
  • Hrm… for some reason, the asterisks don’t work on my comp (I’m running WinXP).

    Also, I didn’t mention before, but I found that the directory iPod_ControliTunes has all of the playlists.

    I put the little bit of info that I know at ipod.willschupp.com - I’m not sure if it’s useful at all.  I’m really surprised more shuffle-related stuff hasn’t popped up yet.

    will had this to say on Feb 10, 2005 Posts: 6
  • will, you’re looking in the wrong directory.  should be iPod_ControlMusic not iPod_ControliTunes

    F** should work properly under the correct directory.

    C.K. Sample III had this to say on Feb 15, 2005 Posts: 41
  • Heh, I think I was unclear in my post.  The iTunes thing was separate.

    What I mean to say is, I don’t think the ** feature works in Windows (or at least my version of it).  I’ve actually been working on a really cool 100% javascript app that interfaces with the shuffle (windows only, sorry :( ).

    I’ll let you know when that’s in a fully functional beta, in case you have one or two PC users.  Haha.

    will had this to say on Feb 17, 2005 Posts: 6
  • For those of us who dont enjoy using the command line, there are innumerable shareware and freeware apps that enable you to retrieve music from an iPod. I havent tried any of them with an iPod Shuffle but I suspect some of them at least will work. Just do a search on Version Tracker for iPod to find them.

    WhiteDog had this to say on Mar 14, 2005 Posts: 8
  • Page 1 of 2 pages  1 2 >
You need log in, or register, in order to comment