Linux / UNIX: Display file inode (index number)

last updated in Categories , , , , , , , , ,

Q. How do I display file inode number using command line?

A. An inode is a data structure on a Unix / Linux file system. An inode stores basic information about a regular file, directory, or other file system object. You can use following two commands to display an inode:
[a] ls command : list directory contents

[b] stat command : display file or file system status

ls command

Type ls command with -i ( print the index number of each file ) option:
$ ls -i /etc/passwd
Output:

752010 /etc/passwd

752010 is index number (inode) for /etc/passwd file.

stat command

$ stat /etc/passwd
Output:

  File: `/etc/passwd'
  Size: 2026            Blocks: 8          IO Block: 4096   regular file
Device: 811h/2065d      Inode: 752010      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2007-08-20 23:19:20.000000000 +0530
Modify: 2007-07-07 00:06:56.000000000 +0530
Change: 2007-07-07 00:06:56.000000000 +0530

You can use inode number to delete or search a file.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 2 comments/add one below):

2 comment

  1. Hi, I would like to use grep command on a file by mentioning it’s inode number instead of it’s file name. Does grep command has this facility. If yes, how do I do it?

    What I want is some thing along the lines of this: grep PATTERN

    Thanks in advance.

  2. What I want is some thing along the lines of this: grep [whatever options] PATTERN [inode no.]. I previously wrote them using “>” and “<" instead of [ and ].

    Have a question? Post it on our forum!