Если текущим путем является /data/db_1 и /data имеет три db_1, db_2, db_3 .
Я хочу знать модификацию db_1 , владельца и группу.
В настоящее время я использую ls -li /data |grep db_1 , но я думаю, что должен быть лучший способ сделать это?
Чтобы увидеть разрешения текущего каталога, каким бы он ни был, используйте:
ls -lid .
Как это устроено:
-l просит ls получить длинный список каталогов.
-i запрашивает у ls информацию об иноде (необязательно).
-d говорит ls сообщать о самом каталоге, а не о том, что в нем.
. ссылается, как это принято для Unix, на текущий каталог.
Поскольку POSIX ls поддерживает параметры -l , -i и -d , этот метод является переносимым.
Не используйте ls вообще. Обычно плохая идея - анализировать вывод ls и есть другие инструменты, специально предназначенные для этой работы. В этом случае вы можете использовать stat:
$ stat -c '%G %U %y' .
terdon terdon 2015-03-03 19:37:48.007033824 +0200
   -c  --format=FORMAT
          use the specified FORMAT instead of the default; output  a  new‐
          line after each use of FORMAT
   %G     group name of owner
   %U     user name of owner
   %y     time of last modification, human-readable
Таким образом, вышеприведенная команда выведет пользователя (%U), группу (%G) и время изменения (%y) . , текущий каталог. Он также может печатать другие фрагменты информации, практически все, что вам когда-либо понадобится. Смотрите man stat для большего.