The solution by @LilloX should work, but I would recommend using find
for the job:
find . -maxdepth 1 -perm 644 | wc -l
This returns the number of files with read and write permissions for the owner of the file in the current directory. If you remove | wc -l
from the command, it returns the files themselves.
See man find
for more information on how to use find
.
Edit:
This is an excerpt from man find
. As you can see, there are many possibilities to define the permissions in the search. If you want to match files that are read- and writeable by anyone and also include files that have additional permissions (executeable), you can use find -perm /u+w,g+w,a+w
find . -perm 664
Search for files which have read and write permission for their owner, and group, but which other users can read but not write to. Files which
meet these criteria but have other permissions bits set (for example if someone can execute the file) will not be matched.
find . -perm -664
Search for files which have read and write permission for their owner and group, and which other users can read, without regard to the presence of
any extra permission bits (for example the executable bit). This will match a file which has mode 0777, for example.
find . -perm /222
Search for files which are writable by somebody (their owner, or their group, or anybody else).
find . -perm /220
find . -perm /u+w,g+w
find . -perm /u=w,g=w
All three of these commands do the same thing, but the first one uses the octal representation of the file mode, and the other two use the symbolic
form. These commands all search for files which are writable by either their owner or their group. The files don't have to be writable by both
the owner and group to be matched; either will do.
find . -perm -220
find . -perm -g+w,u+w
Both these commands do the same thing; search for files which are writable by both their owner and their group.
find . -perm -444 -perm /222 ! -perm /111
find . -perm -a+r -perm /a+w ! -perm /a+x
These two commands both search for files that are readable for everybody ( -perm -444 or -perm -a+r), have at least one write bit set ( -perm /222
or -perm /a+w) but are not executable for anybody ( ! -perm /111 and ! -perm /a+x respectively).
RWFILE=0