Sponsored Content
Homework and Emergencies Emergency UNIX and Linux Support calculate internal fragmentation in directory Post 302580230 by otheus on Thursday 8th of December 2011 01:51:39 AM
Old 12-08-2011
Ah, maybe the OP wants to know the amount of disk space used (blocks allocated * block size) versus the size of the files in bytes.
Code:
find . \( -type f -o -type d \) -printf "%b %s\n"  |awk '{ blocks+=$1; bytes+=$2; } END { print bytes/(blocks*BLKSZ)} ' BLKSZ=512

Gives me 0.997 for one directory, and 0.955 for another. Normally BLKSZ is 512, irrespective of the underlying filesystem's concept of a 'block'.

To be sure, just do
Code:
mkdir test; cd test;
find . -name . -printf "%b %s\n" | awk '{ print "Block size is " $2/$1 }'

One problem is that this doesn't account for hard-linked files, and therefore whose disk fragmentation would incorrectly be counted double.
 

10 More Discussions You Might Find Interesting

1. IP Networking

IP fragmentation

HI all, I am in urgent need of this answer. In TCP/IP protocol, If the IP datagram size > MTU of the any routing network then the IP fragmentation takes place! Where exactly the Fragmentation takes place? is it at the source network layer or in between at some router? If so, which of the... (1 Reply)
Discussion started by: reddyb
1 Replies

2. Shell Programming and Scripting

How to calculate file's size in directory and subdirectory

Hi, I have written one script to calculate total space of all file in one directory, ignoring subdirectory, it works fine. Now, I've been trying to calculate all files which includes files in any subdirectories. I use recursive function to do this, but it can work only if there is only one... (4 Replies)
Discussion started by: KLL
4 Replies

3. UNIX for Dummies Questions & Answers

Fragmentation command in linux?

Hi, Please let me know more details on fragmentation in redhat linux and command to check fragmented files? Thanks, Bache Gowda (2 Replies)
Discussion started by: bache_gowda
2 Replies

4. Solaris

Fragmentation Ratio

All. How can i calculate the fragmentation ratio on a mounted disk, given that i have no root privilege and i cannot switch to single user mode. (0 Replies)
Discussion started by: Negm
0 Replies

5. UNIX for Dummies Questions & Answers

calculate directory size by year of file

I need to calcualte the size of a directory by the year the files in that directory were created . For example the script will sum up, by year, the number of blocks for that directory and its' subdirectories for files created / accessed in that year. I need a report that would look like... (11 Replies)
Discussion started by: igidttam
11 Replies

6. UNIX for Advanced & Expert Users

Forwarding internal internet packets to internal webserver using iptables

Hi, I need to redirect internal internet requests to a auth client site siting on the gateway. Currently users that are authenticated to access the internet have there mac address listed in the FORWARD chain. All other users need to be redirected to a internal site for authentication. Can... (1 Reply)
Discussion started by: mshindo
1 Replies

7. Shell Programming and Scripting

How to calculate the entropy of a single directory that contains many files

Hello, I'm new member of shell scripting and i face some difficulties. To begin, i try to write an algorithm that calculate from one directory containing nfdump files (288) the entropy of one day 24hours. Each of the file is 5 min interval (nfdump -r nfcapd.200908250000 -s srcip) 1st (nfdump... (0 Replies)
Discussion started by: draxmas
0 Replies

8. Shell Programming and Scripting

Find a particular directory in multiple file systems and calculate total size

Hello : I need some help in writing a ksh script which will find a particular directory in all the file systems in a server and finally report the total size of the direcotry in all the file systems. Some thing like this.. find /u*/app/oracle -type d -name "product" -prune and then... (1 Reply)
Discussion started by: Sam1974
1 Replies

9. IP Networking

IP fragmentation problem

Hello all, I am experiencing a problem with IP fragmentation. I am receiving an udp packet that is larger than the MTU and it is fragmented along the network. I am receiving the two fragments but they are not being reassembled correclty. The MTU of the system is 1500 and I cannot increase it,... (2 Replies)
Discussion started by: arichard
2 Replies

10. Shell Programming and Scripting

Bash to calculate average of all files in directory and output by part of filename

I am trying to use awk to calculate the average of all lines in $2 for every file in a directory. The below bash seems to do that, but I cannot figure out how to capture the string before the _ as the output file name and have it be tab-delimeted. Thank you :). Filenames in... (3 Replies)
Discussion started by: cmccabe
3 Replies
RK(4)							     Kernel Interfaces Manual							     RK(4)

NAME
rk - RK-11/RK03 or RK05 disk DESCRIPTION
Rk? refers to an entire disk as a single sequentially-addressed file. Its 256-word blocks are numbered 0 to 4871. Minor device numbers are drive numbers on one controller. The rk files discussed above access the disk via the system's normal buffering mechanism and may be read and written without regard to physical disk records. There is also a `raw' interface which provides for direct transmission between the disk and the user's read or write buffer. A single read or write call results in exactly one I/O operation and therefore raw I/O is considerably more efficient when many words are transmitted. The names of the raw RK files begin with rrk and end with a number which selects the same disk as the corre- sponding rk file. In raw I/O the buffer must begin on a word boundary, and counts should be a multiple of 512 bytes (a disk block). Likewise seek calls should specify a multiple of 512 bytes. FILES
/dev/rk?, /dev/rrk? BUGS
In raw I/O read and write(2) truncate file offsets to 512-byte block boundaries, and write scribbles on the tail of incomplete blocks. Thus, in programs that are likely to access raw devices, read, write and lseek(2) should always deal in 512-byte multiples. RK(4)
All times are GMT -4. The time now is 04:43 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy