Для ответа на часть вопроса, это находится в строке темы, исполняемый код для этого сохранен в изображении initrd. Изображение initrd может быть загружено непосредственно в ядро во время начальной загрузки, которое является, как проблема курицы/яйца решена для получения кода для чтения разделов расширения, не будучи должен считать раздел.
Относительно выбора файловой системы для начальной загрузки/.
Я действительно не вижу потребность волноваться об использовании ext3/4 на начальной загрузке/. Я обычно даже не беспокоюсь отдельной начальной загрузкой / на своих виртуальных машинах, и она работает просто великолепно как часть моих ext4 разделов. Я не волновался бы об использовании ext2, не журналируя на начальной загрузке / также, поскольку у Вас вряд ли будут выдающиеся операции записи, продолжающиеся в файловой системе начальной загрузки / во время отключения питания, если Вы не обновите свое ядро.
Модули сохранены в обычном месте:/lib/modules//kernel/fs/. Они компилируются в изображение initrd для использования ядром во время начальной загрузки.
Обновление: не нашли официальный оператор RedHat, но отмечено в книге Michael Jang, что RHEL 6 больше ext2 для начальной загрузки / как ext4 отлично не соответствует и теперь файловая система по умолчанию для начальной загрузки/. Книга Jang также указывает, что нет эффективно НИКАКИХ различий между ext2 по сравнению с ext3 за исключением журналирования.
Существует много способов достигнуть этого, я просто циклично выполнился бы по различным значениям, которые требуется разделить, т.е.
for i in {0..9} a b; do
ls -1 gsc"${i}"* > filelist"${i}".txt
done
Это будет эффективно работать
ls -1 gsc0* > filelist0.txt
ls -1 gsc1* > filelist1.txt
ls -1 gsc2* > filelist2.txt
...
Обратите внимание, что, если никакой файл не существует, сообщение об ошибке будет распечатано на stderr, т.е. на терминале, не перенаправленном к списку файлов, список файлов будет создан, но остается пустым.
Принятие всех Ваших файлов имеет шаблон gsc*_*
, Я имею в виду где строка между gsc
и _
whatyou, хотят использовать в качестве индекса, это должно работать:
find ./J0902-405/*.evt -maxdepth 1 -type f -printf '%f\n' |
awk -F'_' '{print $0 > $1"_list.txt"}'
Это создаст названные файлы gsc0_list.txt
, gsc1_list.txt
и т.д.
Прием должен дать awk
подчеркивание (_
) как его разделитель полей (-F'_'
) так, чтобы первое поле ($1
) будет gsc0
, или gsc1
или gsc11
и т.д. Затем Вы добавляете (print >>
) текущая строка (имя файла) в названный файл "whatever value $1 has"_list.txt
.
Тест:
$ tree
├── foo
│ └── bar
│ ├── gsc0_12630.foo
│ ├── gsc10_14894.foo
│ ├── gsc11_23911.foo
│ ├── gsc1_18215.foo
│ ├── gsc2_14017.foo
│ ├── gsc3_22263.foo
│ ├── gsc4_16461.foo
│ ├── gsc5_29327.foo
│ ├── gsc6_14337.foo
│ ├── gsc7_27295.foo
│ ├── gsc8_7591.foo
│ └── gsc9_31840.foo
├── gsc0_26853.foo
├── gsc10_30741.foo
├── gsc11_27136.foo
├── gsc1_25097.foo
├── gsc2_1446.foo
├── gsc3_7110.foo
├── gsc4_7399.foo
├── gsc5_14557.foo
├── gsc6_21869.foo
├── gsc7_13413.foo
├── gsc8_2952.foo
└── gsc9_20981.foo
$ find . -type f -printf '%f\n' | awk -F'_' '{print $0 > $1"_list.txt"}'
$ ls *txt
gsc0_list.txt gsc11_list.txt gsc2_list.txt gsc4_list.txt
gsc6_list.txt gsc8_list.txt gsc10_list.txt gsc1_list.txt
gsc3_list.txt gsc5_list.txt gsc7_list.txt gsc9_list.txt
$ cat gsc6_list.txt
gsc6_21869.foo
gsc6_14337.foo
Обратите внимание, что это не дает Вам путь файла, и у Вас могут легко быть двойные названия, но Вы явно удаляете путь с Вашим find -printf
управляйте, таким образом, я предполагаю, что это - то, что Вы хотите сделать.
find
отслеживать надлежащий каталог. Но все еще большой ответ!Спасибо. – Py-ser 30.01.2014, 05:03