Simplest way to get size (in bytes) of a file

du -b filename

By: j_melis
2010-10-30 19:27:18

These Might Interest You

  • If you want to create fast a very big file for testing purposes and you do not care about its content, then you can use this command to create a file of arbitrary size within less than a second. Content of file will be all zero bytes. The trick is that the content is just not written to the disk, instead the space for it is somehow reserved on operating system level and file system level. It would be filled when first accessed/written (not sure about the mechanism that lies below, but it makes the file creation super fast). Instead of '1G' as in the example, you could use other modifiers like 200K for kilobytes (1024 bytes), 500M for megabytes (1024 * 1024 bytes), 20G for Gigabytes (1024*1024*1024 bytes), 30T for Terabytes (1024^4 bytes). Also P for Penta, etc... Command tested under Linux. Show Sample Output

    truncate --size 1G bigfile.txt
    ynedelchev · 2015-02-26 11:56:27 0
  • The posting by St?phane Chazelas also lists the following offsets: type 32768 (1 byte) id 32769 (5 bytes) version 32774 (1 byte) system_id 32776 (32 bytes) volume_id 32808 (32 bytes) volume_space_size 32848 (8 bytes) escape_sequences 32856 (32 bytes) volume_set_size 32888 (4 bytes) volume_sequence_number 32892 (4 bytes) logical_block_size 32896 (4 bytes) path_table_size 32900 (8 bytes) type_l_path_table 32908 (4 bytes) opt_type_l_path_table 32912 (4 bytes) type_m_path_table 32916 (4 bytes) opt_type_m_path_table 32920 (4 bytes) root_directory_record 32924 (34 bytes) volume_set_id 32958 (128 bytes) publisher_id 33086 (128 bytes) preparer_id 33214 (128 bytes) application_id 33342 (128 bytes) copyright_file_id 33470 (37 bytes) abstract_file_id 33507 (37 bytes) bibliographic_file_id 33544 (37 bytes) creation_date 33581 (17 bytes) modification_date 33598 (17 bytes) expiration_date 33615 (17 bytes) effective_date 33632 (17 bytes) file_structure_version 33649 (1 byte) application_data 33651 (512 bytes)

    dd if=/dev/cdrom bs=1 skip=32808 count=32 conv=unblock cbs=32 2>/dev/null
    mlk · 2013-04-14 20:50:58 0
  • To sort the list by file/directory size, insert `sort -n |` before `awk`. Show Sample Output

    du -Lsbc * |awk 'function hr(bytes){hum[1024**4]="TiB";hum[1024**3]="GiB";hum[1024**2]="MiB";hum[1024]="kiB";for(x=1024**4;x>=1024;x/=1024){if(bytes>=x){return sprintf("%8.3f %s",bytes/x,hum[x]);}}return sprintf("%4d B",bytes);}{print hr($1) "\t" $2}'
    nst · 2013-08-18 02:28:18 2
  • Linux - starting with a packetsize that must be split into two packets, count down by 8 bytes, and try to send the packet using the "Don't Fragment" option. The actual MTU (the size of the actual PING packet) is (in this example) 1460 data bytes + 20 bytes IP header + 8 bytes PING request = 1488 Show Sample Output

    pktsize=1516;for i in $( seq $pktsize -8 1450 ) ; do ping -M do -s $i -c 1; done
    unixmonkey31510 · 2012-02-21 01:58:07 0

What Others Think

Let's see your code: du -b /bin/bash 926536 /bin/bash Please note that if you wanna get the size o a given file with scripts you need to apply a pipe like this way: du -b /bin/bash | cut -f1 926536
vlan7 · 398 weeks and 4 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this? is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands

Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.


Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: