Если вы занимаетесь судебно-медицинской экспертизой (слишком поздно планировать, что лучше записывать), то
Используйте find, чтобы найти файлы, которые были изменены через определенное время.
find «directory_name» -newerct "1 час назад"
Здесь используется команда -newerXY
команды find
. X=c для сравнения ctime
(изменение режима/разрешения и любые другие метаданные) со временем Y=t в командной строке. Используйте информационную страницу даты, чтобы получить справку по строкам времени.
Невозможно узнать, сколько раз были внесены изменения или были ли изменены другие метаданные, если вы не планируете заранее, чтобы записать больше.
вам нужна страница TLDP для BASH,
расширенный bash: http://www.tldp.org/LDP/abs/html/index.html
bash для начинающих: http://tldp.org/LDP/Bash-Beginners -Guide / html / index.html
то, что вы спрашивали, касается операторов проверки файлов , и его можно найти здесь: http://www.tldp.org/LDP/abs/html /fto.html
, а также условные выражения bash , которые можно найти здесь: http://www.gnu.org/software/bash/manual/html_node/Bash-Conditional-Expressions. html
-d file is a directory
-f file is a regular file
-e file exists
-s file size is not zero
-b file is a block device
-h file is a symbolic link
-w file has write permissions for user executing this bash statement
{there are more}
#!/bin/bash
if [ -e $1 ] && [ -w $1 ]; then
echo "the file you entered was "$1" and it exists and you have write permission to it"
else
echo "condition failed for exist and for write permission"
fi
Я считаю, что вы должны найти все в деталях на странице руководства вашей оболочки (например, man bash
).
Более того, bash
, например, имеет встроенную команду с именем help
. Просто дайте команду в параметре. Здесь команда [[
и help [[
перенаправляет на команду test
(также известную как [
] »), поэтому help test
даст вам то, что вам нужно.
Наконец, встроенные команды часто имеют свои автономные аналоги в / bin
и обычно снабжены справочной страницей => man [
или man test