2013-09-14 6 views
3

Мне нужно перечислить все файлы, которые были изменены (изменены) сегодня от одиноких пользователей.Список файлов, которые были изменены/изменены сегодня одним пользователем

Я пробовал: find -mtime -1, но выход неправильный. Можете ли вы, ребята/девочки, сказать мне, есть ли способ перечислить все файлы, которые сегодня передаются от одного пользователя?

+2

Что означает «изменение от отдельных пользователей»? – mnagel

+0

перечисляет измененные файлы, которые изменяются одним пользователем, то есть у вас есть серверные пользователи, и я хочу показывать модифицированные файлы для каждого из них отдельно (не togethr) ... – user2496520

+2

Это просто невозможно вообще, идентификатор последнего пользователя, который изменил файл обычно не сохраняется. – Mat

ответ

2

Если вы хотите сгруппировать по собственному усмотрению файла, вы можете добавить -user $user и перевернуть все соответствующие пользователи. если вы хотите сгруппировать пользователем, изменяющим файл, это невозможно, так как эта информация не хранится в файловой системе или где-либо еще.

0

Хотя это не лучшее решение, но этот скрипт можно использовать.

# Check for files modified within past 24 hrs. 

modifiedfiles=`find . -mtime -0` 
username=`pwd | cut -d'/' -f2` # pwd is your current directory /home/user/ 

for i in $modifiedfiles 
    do 
    check=`grep $i /home/user/.bash_history` 
     if [ "$check" != " " ] 
     then 
     echo "file $i modified by $username " 
     fi 
    done 

где пользователь в пути/дома/пользователя является конкретным пользователем. .bash_history Содержимое файла сравнивается с modifiedfiles.

3
find . -mtime -1 -printf "%u %p\n" | sort 

рекурсивно список всех файлов (и имя владельца) в текущем каталоге - группировать владельцем - которые были изменены сегодня.

Смежные вопросы