Любое запоминающее устройство можно открыть в любой другой компьютерной системе при условии, что операционная система поддерживает эту файловую систему.
Для EXT4 , как правило, но не всегда. Да, если это RHEL/CentOS 7.x или SLES 12.x. Я знаю, что SLES 11.4, например, имел ограниченную поддержку EXT4, а SLES 11.3, по-моему, вообще не поддерживал EXT4. По мере того, как мы приближаемся к будущему, EXT4 становится более универсальным, чем более твердое «да».
EXT3 например, очень вероятно, что да для любой Linux-системы, потому что эта файловая система существует достаточно часто, где она поддерживается везде, а также EXT2 и XFS.
Microsoft Windows не поддерживает это, поэтому подключение отформатированного хранилища EXT4 к чему-либо Microsoft Windows было бы нет {я знаю, что вы не спрашивали об этом}.
С файловой системой Microsoft NTFS, которая может быть смонтирована для чтения/записи в системе Linux, если драйвер файловой системы ntfs-3g
установлен и работает; linux изначально не поддерживает файловую систему NTFS, вам нужно выйти и вручную получить / установить этот конкретный драйвер файловой системы, чтобы операционная система могла понять и использовать файловую систему такого типа.
с драйвером ntfs -3g для Linux, который может сделать NTFS наиболее универсальной при рассмотрении Microsoft Windows, но только для Linux система EXT3 в настоящее время может быть лучшим выбором по сравнению с EXT4, учитывая, что более старая используется система Linux, которая не имеет программной поддержки EXT4. И XFS может быть наиболее широко поддерживаемой.
find "$dir" \( -name stdout -o -name stderr \) -exec...
Или с GNUfind
:
find "$dir" -regextype posix-extended -regex ".*/(stdout|stderr)"
Просто обратите внимание, что -regex
соответствует всему пути, больше похожему на -path
, чем на -name
, и регулярное выражение привязано, как если бы было неявное ^
в начале и $
в конце. Также имейте в виду, что, поскольку .*
соответствует любой последовательности из символов , он не найдет stdout
/ stderr
файлы в каталогах, путь которых не может быть декодирован как символы в локали.
Также помните, что произойдет сбой, если $dir
начинается с -
или совпадает с именем предиката find
.
В BSD find
можно сделать:
find -E -f "$dir" -- -regex '.*/std(out|err)'
Выше "$dir"
передается в качестве аргумента опции -f
, поэтому не возникает двусмысленности и проблем со значениями $dir
, начинающимися с -
. -E
включает расширенные регулярные выражения, такие как grep
или sed
.