How to Check Available Space on an External Drive in Terminal on a Mac

Illustration for How to Check Available Space on an External Drive in Terminal on a Mac

Quick Answer

Connect the external drive to your Mac, open Terminal, and run:

df -h

This displays mounted drives in a human-readable format. Look for the external drive’s mount point, usually shown under /Volumes/DriveName. The Avail column shows the space currently available.

For a more focused result, replace DriveName with the exact name of your mounted drive:

df -h "/Volumes/DriveName"

Keep the quotation marks if the drive name contains spaces.

What Terminal Reports

The df command reports disk-space usage for mounted file systems. The -h option means “human-readable,” so Terminal displays sizes such as gigabytes or terabytes instead of only showing raw block counts.

A typical result has columns similar to these:

  • Filesystem — The device or file system being reported.
  • Size — The drive’s total usable capacity as reported by the file system.
  • Used — Space currently occupied by files and other data.
  • Avail — Space available for new data.
  • Capacity — The percentage of space in use.
  • Mounted on — The location where macOS makes the drive accessible.

The value you need is usually in the Avail column. Do not confuse it with Size, which is the drive’s total capacity.

Check Every Mounted Drive

This is the quickest way to see available space on an external drive.

  1. Connect the drive and wait for it to appear in Finder.
  2. Open Terminal. You can find it in Applications > Utilities or open it with Spotlight.
  3. Explain what the command does before running it: df -h reads the available space for every mounted file system and formats the values for easier reading.
  4. Run:
df -h
  1. Find the line whose Mounted on value begins with /Volumes/.

For example, if your drive is named Backup, its mount point will generally be:

/Volumes/Backup

The Avail value on that line is the space available on the external drive.

Terminal showing the command df -h
Run this command in Terminal for this step.

If several external drives are connected, each mounted volume normally has its own line. Internal macOS volumes and system-related mounts may also appear, so use the Mounted on column to identify the correct drive rather than relying only on the device name.

Check One External Drive Directly

When the full df -h list is busy, specify the drive’s mount point. This asks df to report only the file system that contains that location.

First, replace DriveName with the name shown in Finder:

df -h "/Volumes/DriveName"

For example, a drive named Media Drive would use:

df -h "/Volumes/Media Drive"

The quotation marks are important because they keep the space in the drive name from being treated as a separator.

This command only reads disk information. It does not modify files, change the drive, or eject it. If Terminal returns an error, check the troubleshooting section below.

Find the Mounted Name Automatically

If you are unsure how macOS spells the drive name, list the contents of the /Volumes directory:

ls -la /Volumes

The ls command lists directory contents. The -l option shows details, and -a includes entries that are normally hidden. This command does not change anything.

Look for the external drive’s name in the output, then use that exact name with df -h. For example:

df -h "/Volumes/Media Drive"

Do not use the name shown on the physical enclosure unless it exactly matches the mounted name in Terminal.

Terminal showing the command df -h "/Volumes/DriveName"
Run this command in Terminal for this step.

Use diskutil for More Drive Details

The df command is best when you only need available space. macOS also includes diskutil, which can show the drive’s partition and volume structure.

Run:

diskutil list

This command lists the disks and partitions currently detected by macOS. It does not erase, partition, or modify a drive.

Look for the external disk in the output. The list may show an identifier such as disk2 and one or more volumes beneath it. The exact identifier and layout depend on the connected hardware and how it is formatted.

You can then ask for information about a particular disk or volume. Replace disk2 with the identifier shown on your Mac:

diskutil info disk2

This displays information about that disk, including its file system, capacity, connection type, and related details. Depending on the identifier you choose, the result may describe the whole physical disk or one volume.

To check the available space for a mounted volume, df -h is usually clearer because it includes the Avail column directly. Use diskutil when you also need to understand which physical disk or partition contains the volume.

Terminal showing the command df -h
Run this command in Terminal for this step.

Compare Terminal Results With Finder

Finder provides a graphical check that can help confirm you selected the correct volume.

  1. Open Finder.
  2. In the Finder sidebar, select the external drive.
  3. Choose File > Get Info.
  4. Review the Capacity, Available, and Used values in the information window.

The Finder and Terminal values may not appear identical down to the last unit. They can use different rounding, and Finder may display information for a selected volume while Terminal is reporting a mounted file system. Compare the general available-space amount and confirm that both refer to the same drive.

If the drive does not appear in Finder, Terminal may not be able to report its mounted path. In that situation, check whether the disk is detected with:

diskutil list

A disk can be detected by macOS without being mounted and available at a /Volumes/DriveName path.

Check Space on a Drive With a Name That Contains Spaces

Drive names frequently contain spaces, punctuation, or other characters. Always quote the complete path:

df -h "/Volumes/Project Archive"

You can also escape each space with a backslash:

df -h /Volumes/Project Archive

Quoting the path is usually easier to read and less error-prone. The command only reports available space; it does not rename the drive or alter its contents.

If the name includes an apostrophe or other unusual character, let Terminal complete the path for you:

  1. Type df -h, including the trailing space.
  2. Drag the external drive from Finder into the Terminal window.
  3. Press Return.

Terminal inserts the path with the necessary escaping. This can help avoid typing mistakes.

Check Space on Several External Volumes

A single physical external drive can contain multiple volumes or partitions. Each mounted volume may have a separate path under /Volumes.

Run:

df -h

Then identify every relevant /Volumes/... line. Check the Avail column for each volume rather than assuming the entire physical disk has one shared free-space value.

If you need to understand the relationship between physical disks, partitions, and volumes, run:

diskutil list

This is especially useful when a drive has been partitioned or when an external device includes more than one mounted volume. Disk structure and free space are separate concepts: a physical disk may have unused capacity, while a particular volume is nearly full.

Before changing partitions or formats, make sure important data is backed up. Partitioning and formatting can change the drive’s structure or erase data. For related preparation, see How to Partition an External Drive on a Mac and How to Format an External Drive on a Mac.

Check Whether the Drive Is Mounted

A mounted drive is available to macOS and normally has a path under /Volumes. To list mounted external volume names, run:

ls -la /Volumes

If the drive name appears, use that name with df -h:

df -h "/Volumes/DriveName"

If the drive is absent from /Volumes, use:

diskutil list

If diskutil list shows the device but no mounted volume, the drive may need to be mounted. Do not use commands that erase or reformat the disk simply because it is not mounted. First verify the disk identifier and inspect the drive in Disk Utility.

A drive that is not detected at all may have a cable, adapter, power, or hardware problem. Try reconnecting it, using another port, or checking its power supply before drawing conclusions from Terminal.

Troubleshooting

df Shows Too Many Lines

This is normal. df -h reports all mounted file systems, including internal and system-related volumes.

Focus on entries under:

/Volumes/

Use the drive-specific form to reduce the output:

df -h "/Volumes/DriveName"

Terminal Says “No Such File or Directory”

This usually means the mount point was typed incorrectly, the drive is not mounted, or the name contains spaces.

List mounted volume names:

ls -la /Volumes

Then copy the exact name into a quoted command:

df -h "/Volumes/Exact Drive Name"

If the name is not listed, check detection with:

diskutil list

Terminal Says “Permission Denied”

The basic df -h and diskutil list commands normally do not require administrator privileges. Avoid adding sudo automatically. Administrator access does not fix an incorrectly typed path or an unmounted drive.

If you are trying to inspect files rather than available capacity, macOS privacy controls may restrict access to some locations. For the drive’s free-space figure, use the mounted path and df -h.

The Available Space Looks Wrong

Check that you selected the correct volume and are reading Avail, not Size or Used. Also consider these possibilities:

  • The external drive has multiple partitions or volumes.
  • Finder and Terminal are rounding values differently.
  • Files were recently deleted but remain in the Trash.
  • Another application is still writing data.
  • The drive uses a file system with space reserved for system functions or snapshots.

Run the command again after closing applications that may be transferring files:

df -h "/Volumes/DriveName"

Do not delete files from Terminal just to make the number change. File deletion is a separate operation and can cause data loss.

The Drive Is Not Listed

Check the physical connection, power, cable, and adapter. Then run:

diskutil list

If the device appears there but not in Finder, open Disk Utility and inspect whether the volume is mounted. If the disk makes unusual sounds, repeatedly disconnects, or reports errors, stop writing to it and consider copying important data before further troubleshooting.

The Drive Was Safely Ejected

Checking space with df -h does not eject a drive. If you intentionally eject it, its /Volumes/DriveName path disappears and commands that use that path will fail until you reconnect and mount it again. For safe removal procedures, see How to Safely Eject an External Drive on a Mac.

Frequently Asked Questions

What is the simplest Terminal command for checking free space?

Run:

df -h

Find the external drive under /Volumes/ and read the Avail column.

Can I check a drive without changing anything?

Yes. These commands only read information:

df -h
diskutil list

They do not delete files, format the drive, or change its settings.

Why does Terminal show Avail instead of Free?

Avail is the amount of space available for new files on the file system. It is the value to use when deciding whether the drive has enough room for a copy or backup.

Can I check a drive that is not mounted?

diskutil list can show whether macOS detects the physical disk, but df -h reports mounted file systems. A volume generally needs to be mounted before it has a usable /Volumes/DriveName path.

Does checking space work with every external drive format?

The commands report mounted file systems that macOS can access. What appears and how it is presented can depend on whether the drive is recognized and mounted properly. For format-related decisions, see APFS vs exFAT: Which Format Should You Use on a Mac?.

Final Thoughts

For a fast check, run df -h and read the Avail value for the external drive’s /Volumes/DriveName entry. Use df -h "/Volumes/DriveName" when you want a single, clear result, and use diskutil list when you need to identify the disk, partition, or volume structure. These read-only commands let you check capacity without changing the drive or its data.