stat output


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers stat output
# 1  
Old 08-09-2012
stat output

hi guys

i got confused about stat output

stat manual says

File : Size in Bytes
Blocks : Number of blocks used
IO Block : Size in bytes of every block.

when i use stat command for passwd file it says
Code:
~#stat /etc/passwd   File: `/etc/passwd' Size: 999       	Blocks: 8          IO Block: 4096   regular file Device: ca00h/51712d	Inode: 845         Links: 1 Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root) Access: 2011-05-26 12:14:41.000000000 +0200 Modify: 2011-05-26 12:14:41.000000000 +0200 Change: 2011-05-26 12:14:41.000000000 +0200

size is 999 bytes and every block is 4096 bytes how can this file use 8 blocks ???

8 blocks === 8 * 4096 = 32768

file size should be 32769 bytes to use 8 blocks !!
# 2  
Old 08-09-2012
Files can have smaller sizes than their block usage. You can have a file that's 1 byte in size, even though it'd use at least one block. The extra space is simply reserve for it.

It's been given more than one block in case someone needs to extend the file later. Less fragmentation that way.

The file might also have been larger in the past.
# 3  
Old 08-10-2012
thx man but i think it's not rational !!

a file with 999 in bytes which can store in only 1 block use 8 blocks ???

1 block for store and 7 blocks reserve for it ????
# 4  
Old 08-10-2012
For frequently-modified files, it's rational. I have a set of text files that gets appended to frequently, and if they had more blocks reserved for them at a time, they'd fragment less than they do. If I found a straightforward way to change that without reformatting the FS I would.

Also, like said, it may have been larger in the past, and the extra blocks got kept in case the file becomes large again.

The other thing is, it may not be going by the I/O block here.
# 5  
Old 08-11-2012
Does your stat allow for the --printf option? If yes: %B The size in bytes of each block reported by %b
Issue
Code:
stat --printf=%B /etc/passwd
512

- this will output the disk block size. 8 * 512 = 4096, the usual disk block allocation size.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Please Help CP CANNOT STAT issue

Hi All, I am getting the below error can anyone please help with this? cp ${AI_SERIAL}/file_name ${AI_SERIAL_ARCH}/${ODATE}_file_name cp: cannot stat `$AI_SERIAL/FILE_NAME': No such file or directory + gzip:$AI_SERIAL_ARCH./$ODATE_FILE_NAME gzip:$AI_SERIAL_ARCH./$ODATE_FILE_NAME: No such... (2 Replies)
Discussion started by: bhanudhingra
2 Replies

2. Shell Programming and Scripting

Stat value changes

Die to what all operations, the "Modify" and "Change" values of stat output changes for a file. I found, during editing a file, Change and Modify alters. When chmod'ing Change alters, while Modify doesnot alters. Is there more situations where these changes? (1 Reply)
Discussion started by: anil510
1 Replies

3. UNIX for Dummies Questions & Answers

Stat command

i know this command does not exist in solaris. however, i read somewhere on this forum that basically everything the stat command provides in other oses can be obtained in solaris using the ls command. i've searched the forum for a while now and i cant find the thread. does anyone know about... (1 Reply)
Discussion started by: SkySmart
1 Replies

4. Shell Programming and Scripting

stat command with ls -l

If i do ls -l i get the result rwx-rw-r ...... ............... file. How can i get the result in octal format. All other output will be the same as ls -l shows. The rwx-rw-r would be like 755 etc. (7 Replies)
Discussion started by: cola
7 Replies

5. Shell Programming and Scripting

Putting echo output as input to stat

I have a string with escape differentiators as a result of searching for a file using find. Essentially find returned to my shell variable several absolute paths each ending with the file name and each path/file separated by \n. Echo recognizes the escape sequence and is able to print the paths... (3 Replies)
Discussion started by: Ebodee
3 Replies

6. Shell Programming and Scripting

cannot stat error

I'm trying to find .tif files in a directory tree and rename them prior to zipping them and moving them to another dir. this is my code: cd $TMPPATH pwd ctr=0 for i in 'find . -name "*.tif"' do let "ctr+=1" newtifname=$DATEDIR"_"$SEQ"_"$ctr".tif" mv "$i"... (6 Replies)
Discussion started by: rss0213
6 Replies

7. Programming

Q with stat()

From reading various articles on the net, I know stat() is used on files to get things like permissions, sizes etc... As a folder is a special type of file in Unix, I assumed that stat() could work on it as well as any general file. However, from running my program, perror() reported that the... (3 Replies)
Discussion started by: JamesGoh
3 Replies

8. UNIX for Advanced & Expert Users

stat

the output of stat command is Size: 238 Blocks: 8 IO Block: 4096 regular file Device: 80ah/2058d Inode: 736783 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 500/ gajju) Gid: ( 500/ gajju) Access: 2008-09-08 20:00:15.000000000 +0530 Modify: 2008-09-08... (6 Replies)
Discussion started by: gajju
6 Replies

9. UNIX for Advanced & Expert Users

Cannot Stat Error

I'm not sure where to post this so I'll try it here. I'm trying to load a software package to my server and I keep getting a cannot stat error. I'll post the error line below along with my configuartaion line. Can anyone help or point me in the right direction. Thanks! This is the error. ... (1 Reply)
Discussion started by: Homer Allman
1 Replies

10. UNIX for Dummies Questions & Answers

Cannot stat?

Hi! I ran into a problem with a job I'm running. All it is doing is a "touch" on a filename. However, when I ran the job, it error'd out and got the message 'cannot stat'. When I restarted the job (making no changes) it worked just fine. Anyone know what this means? (1 Reply)
Discussion started by: lgardner
1 Replies
Login or Register to Ask a Question