Skip to Content
Shell Scripting: Expert Recipes for Linux, Bash, and More
book

Shell Scripting: Expert Recipes for Linux, Bash, and More

by Steve Parker
August 2011
Beginner to intermediate
600 pages
14h 29m
English
Wrox
Content preview from Shell Scripting: Expert Recipes for Linux, Bash, and More

stat

stat is a fantastic utility that gives to shell users what C programmers have had access to since Unix began. The stat(2) system call calls the appropriate filesystem driver within the operating system’s kernel and asks for the details stored in the file’s inode. The stat(1) command exposes this kernel call to userspace. This gives the shell programmer lots of useful information about a file, which would otherwise have to be extracted from the output of programs such as ls. stat, instead, gives the whole inode in a form in which you can query any aspect of the inode directly.

stat /etc/nsswitch.conf
  File: '/etc/nsswitch.conf'
  Size: 513             Blocks: 8          IO Block: 4096   regular file
Device: 805h/2053d      Inode: 639428      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2011-03-30 19:35:48.000000000 +0100
Modify: 2010-06-05 19:52:18.000000000 +0100
Change: 2010-06-05 19:52:18.000000000 +0100

While this is quite interesting, and it would be possible to parse out the relevant details from this, stat takes a lot of format switches, which restrict its output to exactly the information you are looking for. This means that you can create your own super-ls, which reports on anything you like, in any way you like.

stat -c "%a %U %G %n" /etc/nsswitch.conf
644 root root /etc/nsswitch.conf
$ stat -c "%n is owned by %U and has permissions %a (%A)" /etc/nsswitch.conf /etc/nsswitch.conf is owned by root and has permissions 644 (-rw-r--r--) ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Linux Command Line and Shell Scripting Techniques

Linux Command Line and Shell Scripting Techniques

Vedran Dakic, Jasmin Redzepagic
Linux Shell Scripting Cookbook - Third Edition

Linux Shell Scripting Cookbook - Third Edition

Clif Flynt, Sarath Lakshman, Shantanu Tushar

Publisher Resources

ISBN: 9781118166321Purchase bookDownloads