Инструмент, который показывает мне, который файлы записаны в Linux?

Когда я сталкиваюсь с этим, я просто создаю список на стороне. При соединении их в пользовательской Реализации Map она будет иметь хорошее чувство к нему... Можно использовать что-то как следующее, выполняя вид только при необходимости. (Отметьте: Я действительно не протестировал это, но это компилирует... могла бы быть глупая небольшая ошибка там где-нибудь)

(Если Вы хотите отсортированный и по ключам и по значениям, имеете класс, расширяют TreeMap, не определяйте методы доступа и имейте мутаторный вызов super.xxxxx вместо map_. xxxx)

package com.javadude.sample;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class SortedValueHashMap<K, V> implements Map<K, V> {
    private Map<K, V> map_ = new HashMap<K, V>();
    private List<V> valueList_ = new ArrayList<V>();
    private boolean needsSort_ = false;
    private Comparator<V> comparator_;

    public SortedValueHashMap() {
    }
    public SortedValueHashMap(List<V> valueList) {
        valueList_ = valueList;
    }

    public List<V> sortedValues() {
        if (needsSort_) {
            needsSort_ = false;
            Collections.sort(valueList_, comparator_);
        }
        return valueList_;
    }

    // mutators
    public void clear() {
        map_.clear();
        valueList_.clear();
        needsSort_ = false;
    }

    public V put(K key, V value) {
        valueList_.add(value);
        needsSort_ = true;
        return map_.put(key, value);
    }

    public void putAll(Map<? extends K, ? extends V> m) {
        map_.putAll(m);
        valueList_.addAll(m.values());
        needsSort_ = true;
    }

    public V remove(Object key) {
        V value = map_.remove(key);
        valueList_.remove(value);
        return value;
    }

    // accessors
    public boolean containsKey(Object key)           { return map_.containsKey(key); }
    public boolean containsValue(Object value)       { return map_.containsValue(value); }
    public Set<java.util.Map.Entry<K, V>> entrySet() { return map_.entrySet(); }
    public boolean equals(Object o)                  { return map_.equals(o); }
    public V get(Object key)                         { return map_.get(key); }
    public int hashCode()                            { return map_.hashCode(); }
    public boolean isEmpty()                         { return map_.isEmpty(); }
    public Set<K> keySet()                           { return map_.keySet(); }
    public int size()                                { return map_.size(); }
    public Collection<V> values()                    { return map_.values(); }
}
11
задан Josh Crozier 22 November 2015 в 20:22
поделиться

6 ответов

То, что вы ищете, это Исоф . Это инструмент командной строки, но для него также есть графический интерфейс на sourceforge .

3
ответ дан 3 December 2019 в 04:13
поделиться
strace -e trace=file -- <command>

покажет вам, какие именно файлы ваше приложение читает и записывает

8
ответ дан 3 December 2019 в 04:13
поделиться

Чтобы найти все файлы, измененные за последний 24 часа (последний полный день) в конкретный конкретный каталог и его подкаталоги:

find / directory_path -mtime -1 -print

подробнее на:

http://www.mydigitallife.info/2006/01/19/find-files-that-are-modified -today-or-Since-specific-time-ago-in-unix /

3
ответ дан 3 December 2019 в 04:13
поделиться

lsof выведет список всех открытых файлов для данного процесса:

lsof -p

2
ответ дан 3 December 2019 в 04:13
поделиться

Не уверен в программе, но команда find в утилите имеет множество параметров, которые позволят вам найти файлы и / или каталоги, которые были изменены в течение определенного периода времени.

Например:

$ find /home/you -iname "*.txt" -mtime -1 -print

Найдет текстовые файлы, которые последний раз были изменены 1 день назад.

Вы можете обернуть этот вызов в какой-нибудь сценарий или написать свое собственное небольшое приложение, чтобы использовать результаты.

Вот сайт с дополнительная информация и примеры:

http://www.cyberciti.biz/faq/howto-finding-files-by-date/

2
ответ дан 3 December 2019 в 04:13
поделиться

Linux предоставляет API уведомлений об изменении файлов под названием «dnotify» вместе с утилитой командной строки dnotify . Вы можете использовать это для отслеживания изменений за последние 30 секунд.

Я бы, вероятно, написал приложение, которое строится непосредственно на Linux API и отбрасывает все события старше 30 секунд.

1
ответ дан 3 December 2019 в 04:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: