Find the file permission without using ls -l command
Q. I need to find file permission and store the same to a shell variable. How do I find out the file permission without parsing ls -l output?
A. Use GNU stat command to display file or file system status. It has option to display output in specific format.
Display stat for /etc/passwd file
Type the following command:
$ stat /etc/passwd
Output:
File: `/etc/passwd' Size: 1675 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 7899368 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2007-12-05 08:20:31.000000000 +0530 Modify: 2007-12-04 23:36:50.000000000 +0530 Change: 2007-12-04 23:36:50.000000000 +0530
Print access rights in octal format:
$ stat -c %a /etc/passwd
Output:
644
Print access rights in human readable format, enter:
$ stat -c %A /etc/passwd
Output:
-rw-r--r--
Store access rights in octal format to a shell variable:
$ VAR=$(stat -c %a /etc/passwd)
$ echo $VAR
Other valid format sequences for files
- %b : Number of blocks allocated (see %B)
- %B : The size in bytes of each block reported
- %d : Device number in decimal
- %C : SELinux security context
- %D : Device number in hex
- %f : Raw mode in hex
- %F : File type
- %g : Group ID of owner
- %G : Group name of owner
- %h : Number of hard links
- %i : Inode number
- %n : File name
- %N : Quoted file name with dereference if symbolic link
- %o : I/O block size
- %s : Total size, in bytes
- %t : Major device type in hex
- %T : Minor device type in hex
- %u : User ID of owner
- %U : User name of owner
- %x : Time of last access
- %X : Time of last access as seconds since Epoch
- %y : Time of last modification
- %Y : Time of last modification as seconds since Epoch
- %z : Time of last change
- %Z : Time of last change as seconds since Epoch
Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
Related Other Helpful FAQs:
- Sun Solaris UNIX display list for loaded kenel device driver / modules
- Display Apache Server Status with mod_status
- Shell: How to determine the exit status of Linux and UNIX command
- What are the exit statuses of ssh command?
- How to find out if mysql is running on linux
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: display file status, format sequences, hard links, human readable format, inode number, raw mode, selinux, shell variable, stat c, stat_command, symbolic link



Recent Comments
Today ~ 1 Comment
Today ~ 2 Comments
Yesterday ~ 9 Comments
Yesterday ~ 32 Comments
07/04/2008 07:04 pm (2 days ago) ~ 1 Comment