My First Post      My Facebook Profile      My MeOnShow Profile      W3LC Facebook Page      Learners Consortium Group      Job Portal      Shopping @Yeyhi.com

Pages










Monday, May 4, 2020

Simple Ways to Get the Size of Directories and files in Linux


  • Check Disk Space with the Commands du and df - Linux
  • How to find size of directory in linux
  • How do I get the size of a directory on the command line
  • Linux Check Disk Space Command To View System
  • display the size and other stats of a file/directory or a filesystem.
  • How to Get the Size of a Directory in Linux | Linuxizelinuxize.com › post › system Linux and Unix du command tutorial with examples


To answer these questions, I published an article in 2013. Since then it attained nearly half a million views. After 7 years, i find myself prompted to add some more details on it in relation to latest developments around this. So, please have all your above answers here:


Linux (and Typically all UNIX based or UNIX alike systems including AIX, Solaris, MAC or CentOS) offer two commands for checking out free disk space.


1. Linux "df" command :

Report file system disk space usage. That is, it shows information about the file system on which each FILE resides, or all file systems by default.


Syntax:  df [OPTION]... [FILE]...

Mandatory arguments to long options are mandatory for short options too.

  -a, --all             include dummy file systems
  -B, --block-size=SIZE  use SIZE-byte blocks
  -h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)
  -H, --si              likewise, but use powers of 1000 not 1024
  -i, --inodes          list inode information instead of block usage
  -k                    like --block-size=1K
  -l, --local           limit listing to local file systems
      --no-sync         do not invoke sync before getting usage info (default)
  -P, --portability     use the POSIX output format
      --sync            invoke sync before getting usage info
  -t, --type=TYPE       limit listing to file systems of type TYPE
  -T, --print-type      print file system type
  -x, --exclude-type=TYPE   limit listing to file systems not of type TYPE
  -v                    (ignored)
      --help     display this help and exit
      --version  output version information and exit
SIZE may be (or may be an integer optionally followed by) one of following:
kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.

EG. I am in a directory. But "df" command has nothing to deal with that. It outputs current OVERALL status of the system and its partitions.


 



2. Linux "du" command :


Estimate file space usage. That is, it summarize disk usage of each FILE, recursively for directories.


Syntax: du [OPTION]... [FILE]...

Mandatory arguments to long options are mandatory for short options too.

  -a, --all             write counts for all files, not just directories
--apparent-size   print apparent sizes, rather than disk usage; although
                          the apparent size is usually smaller, it may be
                          larger due to holes in (`sparse') files, internal
                          fragmentation, indirect blocks, and the like
  -B, --block-size=SIZE  use SIZE-byte blocks
  -b, --bytes           equivalent to `--apparent-size --block-size=1'
  -c, --total           produce a grand total
  -D, --dereference-args  dereference only symlinks that are listed on the
                          command line
      --files0-from=F   summarize disk usage of the NUL-terminated file
                          names specified in file F
  -H                    like --si, but also evokes a warning; will soon
                          change to be equivalent to --dereference-args (-D)
  -h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)
      --si              like -h, but use powers of 1000 not 1024
  -k                    like --block-size=1K
  -l, --count-links     count sizes many times if hard linked
  -m                    like --block-size=1M
  -L, --dereference     dereference all symbolic links
  -P, --no-dereference  don't follow any symbolic links (this is the default)
  -0, --null            end each output line with 0 byte rather than newline
  -S, --separate-dirs   do not include size of subdirectories
  -s, --summarize       display only a total for each argument
  -x, --one-file-system  skip directories on different file systems
  -X FILE, --exclude-from=FILE  Exclude files that match any pattern in FILE.
      --exclude=PATTERN  Exclude files that match PATTERN.
      --max-depth=N     print the total for a directory (or file, with --all)
                          only if it is N or fewer levels below the command
                          line argument;  --max-depth=0 is the same as
                          --summarize
      --time            show time of the last modification of any file in the
                          directory, or any of its subdirectories
      --time=WORD       show time as WORD instead of modification time:
                          atime, access, use, ctime or status
      --time-style=STYLE  show times using style STYLE:
                          full-iso, long-iso, iso, +FORMAT
                          FORMAT is interpreted like `date'
      --help     display this help and exit
      --version  output version information and exit

SIZE may be (or may be an integer optionally followed by) one of following:
kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.


Eg. I am in a directory. The "du" command tells about that directory. For eg. the following picture directly outputs the total size of that folder.




Just to add more:


Remember 3 important commands when you are sitting on a linux, solaris, AIX, FreeBSD, or Mac Box [Huh, enuff. Just remember Unix :)  ]


1. df

df command can get how much space is occupied and  how much available space.

You can give a device or mount point as an argument, and df report data only for the filesystem physically residing on that device. For example, the following command provides information only for the partition /dev/sda:
$ df /dev/sda
$ df -h /dev/sdc1
$ df /data/


2. du

du is the abbreviation of “disk usage”, this command will progressively into each subdirectory


Also, we can use the du command to look at the file size:

du anwar.txt
Remember, when du reports file sizes in blocks, the size it uses depends on several factors. You can specify which block size it should use on the command line. If you don’t force du to use a particular block size, it follows a set of rules to decide which one to use.

First, it checks the following environment variables:

DU_BLOCK_SIZE
BLOCK_SIZE
BLOCKSIZE
If any of these exist, the block size is set, and du stops checking. If none are set, du defaults to a block size of 1,024 bytes. Unless, that is, an environment variable called POSIXLY_CORRECT is set. If that’s the case, du defaults to a block size of 512 bytes.

So, how do we find out which one is in use? You can check each environment variable to work it out, but there’s a quicker way. Let’s compare the results to the block size the file system uses instead.

To discover the block size the file system uses, we’ll use the tune2fs program. We’ll then use the -l option, pipe the output through grep, and then print lines that contain the word “Block.”

In this example, we’ll look at the file system on the first partition of the first hard drive, sda1, and we’ll need to use sudo:

sudo tune2fs -l /dev/sda1 | grep Block


3. fdisk

fdisk can be used to  manage disk partitions. One can do tasks like create new partition or delete an existing partition



There is yet another tool/ command that you can use:

btrfs fi df /device/ – Show disk space usage information for a btrfs based mount point/file system.



Hope this acts like a quick guide to men and women trying to play with Linux and other UNIX alike systems.

Original post link: https://www.w3lc.com/2013/05/checking-file-system-directory-size-in.html

Cheers :)


No comments:

Post a Comment