Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
In this movie we're going to be looking at some commands to give us some hard drive information, or as Unix typically refers to it a disk. The two commands we're going to be looking at are df and du. df stands for disk free space, so it's going to display the amount of disk free space available to us. If I type a line by itself and hit Return, it'll come up with the report telling you all of the volumes that it can see, the hard drives, and how much space is being used and how much is available on each of them. Notice that it has a couple of devices here that it's calling volumes that are just sort of utility devices that it's using.
You can basically ignore those. The one we care about are the ones with the big numbers. Main hard drive is listed here as root. That's where it's mounted. If we had other hard drives, maybe you have your hard drive partitioned or you have external drives plugged in, you would see those under /volumes/ and then the name of the hard drive. We would see reports for those as well. Now I don't know about you but I find these numbers a bit hard to read. So one of the options we can use with df is the -h option for humanize. This will humanize those numbers so now we say, oh! 39 gigabytes used, 16 gigabytes available, 71% of it has been used, okay.
much easier to read. However, there is a caveat that comes with those numbers. There are two different ways that one can calculate gigabytes. You can calculate it using Base-2 or Base-10. It's a bit of a technical point. You may remember in the news there was some discussion about the fact that hard drive manufacturers were selling hard drives that would say, well, this is a 10 gigabyte drive and then people would get it home and it wasn't a 10 gigabyte drive once they started putting information on it. It's because of the way that the gigabytes are calculated were different. So we also have df -H which uses Base-10 to calculate it.
These give us those higher numbers, the ones that the hard drive manufacturers were using, whereas the lowercase h is giving us the actual amount of bytes that we could put on there when we're talking about the data. Now I think you want to stick with the lowercase h. I recommend that you just use that all the time. It's more widely supported, as we'll see in a moment. But that capital H, I believe, is the one that now is used in Snow Leopard. So starting in Snow Leopard, Apple started using capital H when it looks at sizes for hard drives instead of the lowercase h. It's really less of a technical point and more of an issue of customer confusion over the marketing.
The second command that we're going to use is going to be du, which stands for disk usage. And with that we'll provide it the path that we wanted to look at and tell us about the disk usage of that path. We wouldn't want to do this at the root of our hard drive because then it would tell us every single file and folder on the entire hard drive. If you accidentally do that, hit Ctrl+C to exit out of it. Instead we want to target it a little more at a direct path. disk usage for in my user folder unix_files. that's where I've got just a few files set aside. And it comes up and it tells me for each and every one of the directories that it sees, what the size is.
Now just like the other one we have a -h option that we can pass in. That's a lowercase h. unix_files, and now it gives me a human readable version. It has a -H option but it's completely unrelated to human readable output, so you wouldn't want to use it here. That's why I said that lowercase h is more widely supported as being humanized. So stick with lowercase h. Now you may notice it's only showing me the directories here. If we want it to also show us the files, we can put the -a option in front of it. Now you can see it tells us all of the files and the directories and their sizes, all right? So we get a list of all those. Fo for -a, think all.
Now this is sort of similar to what you get in the Finder if you do Get Info, right? And it calculates the sizes. But what it does is it actually summarizes the sizes. The way that we can do that is by using the depth. So for example we say du, we'll just do the directories. We'll leave out the files. Humanize the directory with the depth of 1, so that's the depth option and then the argument to the option is 1, and then we'll tell it to look at unix_files. And you'll see it just goes one directory deep. It shows me the current directory plus one.
If I did the same thing with the 0 option then it says, "Okay, just for the current directory, right?" Show me just this one directory, summarize the size of that. So a depth option can be really useful if you don't want all of this output. You really what you want to know is just this directory, to summarize and tell me how large that is. Now there's another important point that we need to talk about with disk usage. What it's reporting to us here is the amount of size that has been set aside for these files on the hard drive. That's different than the size that the files are actually using.
You notice here that all of these files report 4K as their value, right? But they're not all the same size files. In fact, we can see that. If we do ls -lah, we'll get a listing. Oops! Let's actually do that for the unix_files. -lah and unix_files and we can see those files and we see that some of them take up just 55 bytes. It's because the file system sets aside blocks of space for files. Even if they don't take up the whole space, it goes ahead and gives them a whole block on the hard drive.
So there's a minimum size for those. Disk usage is returning the space taken up by the blocks, the space allocated to the files, not the actual file size. So I want you ti understand the difference and understand that the two aren't the same. ls is reporting the actual size of the file, whereas du is reporting the allocation of space for that file, even though it may not be using it. You may have come across this before if you ever defragmented your hard drive. There are tools out there that lets you to defragment your hard drive to regain space.
One of the things that it's doing is it's taking the files and by moving them all together so that they're not fragmented, well, then the block allocation can really be best utilized. And we can really make sure that we're using only the exact number of blocks that we need, whereas if they're fragmented and part of the file is spread out at different places on the hard drive, you may end up with lots of blocks that are partially used. They've been allocated for the file but not completely used. And that's how you're able to reclaim a lot of that space when you defragment. So again, the two main commands for finding out disk information are df for disk free and du for disk usage.
Get unlimited access to all courses for just $25/month.Become a member
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.
Your file was successfully uploaded.