7

Если текущим путем является /data/db_1 и /data имеет три db_1, db_2, db_3 .

Я хочу знать модификацию db_1 , владельца и группу.

В настоящее время я использую ls -li /data |grep db_1 , но я думаю, что должен быть лучший способ сделать это?

2 ответа2

8

Чтобы увидеть разрешения текущего каталога, каким бы он ни был, используйте:

ls -lid .

Как это устроено:

  • -l просит ls получить длинный список каталогов.

  • -i запрашивает у ls информацию об иноде (необязательно).

  • -d говорит ls сообщать о самом каталоге, а не о том, что в нем.

  • . ссылается, как это принято для Unix, на текущий каталог.

Поскольку POSIX ls поддерживает параметры -l , -i и -d , этот метод является переносимым.

7

Не используйте 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 для большего.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .