Добро пожаловать на форумы. Я получил системные требования с официальных сайтов. Windows 10 требуется как минимум 16 ГБ для 32-разрядной ОС и 20 ГБ для 64-разрядной версии. Kali Linux (2.0) требуется не менее 10 ГБ (может быть, и для 64-битной, и для 32-битной?). #fixme
Другой способ с деревом
, не упомянутым здесь, работает рекурсивно и, в отличие от find или ls, у вас нет ошибок (например: Permission denied
, Not a каталог
) вы также получите абсолютный путь на тот случай, если вы хотите передать файлы в xargs
или другую команду
tree -fai /pathYouWantToList >listOfFiles.list
, значения параметров:
-a All files are printed. By default tree does not print hidden files (those beginning with a dot
`.'). In no event does tree print the file system constructs `.' (current directory) and `..'
(previous directory).
-i Makes tree not print the indentation lines, useful when used in conjunction with the -f option.
-f Prints the full path prefix for each file.
Для установки tree
:
sudo apt install tree
на Ubuntu / Debian
sudo yum install tree
на CentOS / Fedora
sudo zypper install tree
на OpenSUSE
Рекурсивные файлы могут быть перечислены многими способами в linus.Здесь я делюсь одним скриптом лайнера, чтобы очистить все журналы файлов (только файлы )из каталога /var/log/, а второй недавно проверил, какой файл журналов сделал запись.
Первый:-
find /var/log/ -type f #listing file recursively
Второй:-
for i in $(find $PWD -type f) ; do cat /dev/null > "$i" ; done #empty files recursively
Третье использование:-
ls -ltr $(find /var/log/ -type f ) # listing file used in recent
примечание :для расположения каталога вы также можете передать $PWD вместо /var/log.
Список полного пути ко всем командам (приложениям/программам ), доступным пользователю...(исправлено для устранения большинства, но не всех ограничений, указанных в комментариях)
eval ls -d $(echo $PATH | sed -e 's|^:|.:|' -e 's|:$|:.:|' -e 's|:|/{.,}[[:word:]]* |g') 2>/dev/null | sort
ПРИМЕЧАНИЕ
Переменная PATH
обычно имеет двоеточие(:
)либо в начале, либо в конце, но не в обоих сразу. Двоеточие в начале или в конце означает поиск в текущем каталоге. Стандартная практика заключается в том, чтобы он находился в конце, чтобы никогда не переопределять стандартные служебные программы. Подстановки sed
здесь подходят для любого случая.
Пояснение...
eval
eval
, но он есть. Без него я получаю... ls: cannot access './{.,}[[:word:]]': No such file or directory
ls: cannot access '/home/alpha/bin/{.,}[[:word:]]': No such file or directory
ls: cannot access '/usr/local/sbin/{.,}[[:word:]]': No such file or directory
ls: cannot access '/usr/local/bin/{.,}[[:word:]]': No such file or directory
ls: cannot access '/usr/sbin/{.,}[[:word:]]': No such file or directory
ls: cannot access '/usr/bin/{.,}[[:word:]]': No such file or directory
ls: cannot access '/sbin/{.,}[[:word:]]': No such file or directory
ls: cannot access '/bin/{.,}[[:word:]]': No such file ordirectory
ls -d
-d
на самом деле не просто перечисляет каталоги. Добавляя /*
к каждому каталогу (см. ниже ), мы получим содержимое каталогов. $(... )
Выполните команды в скобках и замените $(... )
результатами для ls
. $(echo :$PATH | sed -e 's|^:|.:|' -e 's|:$|:.:|' -e 's|:|/{.,}[[:word:]]* |g')
./{.,}[[:word:]]* /home/alpha/bin/{.,}[[:word:]]* /usr/local/sbin/{.,}[[:word:]]* /usr/local/bin/{.,}[[:word:]]* /usr/sbin/{.,}[[:word:]]* /usr/bin/{.,}[[:word:]]* /sbin/{.,}[[:word:]]* /bin/{.,}[[:word:]]*
echo $PATH
sed
-e
варианты замены обрабатываются последовательно, так что результаты каждого из них доступны для следующего. Таким образом, :.:
, вставленный вторым, позволяет заменить двоеточие шаблоном в третьем. -e 's|^:|.:|'
PATH
начинается с двоеточия (:
), замените его на .:
-e 's|:$|:.:|'
PATH
заканчивается двоеточием (:
), замените его на:.:
-e 's|:|/{.,}[[:word:]]* |g
:
)на /{.,}[[:word:]]*
. Этот шаблон включает файлы, начинающиеся с точки (.
), за которой следует любое количество буквенно-цифровых символов или символов подчеркивания. Дополнительная запятая(,
)в {.,}
является причудой bash 5.0.18
, поскольку она ожидает список или диапазон, разделенный запятыми.Здесь мы используем замену фигурных скобок, чтобы сделать точку(.
)необязательной. 2>/dev/null
| sort
Я считаю, что bash find $(pwd)
работает хорошо. Также работает ls | xargs realpath
. Вы можете добавить любые другие флаги к последнему примеру, а также к первому.