Учитывая 2 файла ниже, где один может быть прочитан пользователем, а другой нет:
[fsilveir@fsilveir tmp]$ ls -l ./test_dir/can_read.txt ./test_dir/cant_read.txt
-rw-r--r--. 1 root root 861784 May 29 20:34 ./test_dir/can_read.txt
-rwx------. 1 root root 0 May 29 20:30 ./test_dir/cant_read.txt
Вы можете использовать find
с опцией -perm
.Используя +r
, вы получите список файлов, которые вы можете прочитать, и используйте -r
для поиска файлов, которые вы не можете прочитать, как показано ниже:
[fsilveir@fsilveir tmp]$ find . -name "*.txt" -perm -g+r 2>/dev/null
./test_dir/can_read.txt
[fsilveir@fsilveir tmp]$
Другой подход - использование find
с опцией -readable
, как показано ниже:
[fsilveir@fsilveir tmp]$ find . -name "*.txt" -readable
./test_dir/can_read.txt
[fsilveir@fsilveir tmp]$ find . -name "*.txt" ! -readable
./test_dir/cant_read.txt