RAID-контроллеры представляют системе виртуальный диск, который выглядит как один диск для операционной системы, но фактически является массивом, состоящим из нескольких дисков. Если в операционной системе нет специальной поддержки для управления RAID-контроллером, ОС не сможет увидеть или проверить диски компонентов. Необходимо проверить RAID-массив, используя функции, предоставляемые самим RAID-контроллером.
Поскольку Вы, похоже, не доверяете RAID-контроллеру BIOS (Вы называете его «фальшивым»), Вы можете рассмотреть возможность его полного отключения, чтобы ОС могла видеть отдельные реальные диски и управлять ими. Затем можно настроить Linux программного обеспечения RAID с помощью mdadm
.
С помощью sudo
пользователь переключается на root. Я подозреваю, что это не было предназначено, так как ssh затем будет искать ключи в/root/.ssh/и, не найдя там применимого ключа, просто попросит пароль удаленного пользователя.
Обычно я запускаю exec ssh-agent bash
или т.п. - оставаясь тогда с моим собственным пользователем.
Затем я запускаю ssh-add
, чтобы загрузить (большую часть) мои ключи в агент, перед запуском ssh - снова обычно без sudo
.
Если я ошибаюсь и sudo
был намеренным, можете ли вы сообщить нам, чего вы тем самым пытаетесь достичь?
Поскольку эта проблема возникает на различных типах терминалов и возникает в командной строке, но не когда какая-либо другая программа читает с терминала, это проблема конфигурации в вашей оболочке. Вы случайно определили привязки для a
и c
.
Предположим, что оболочка bash (интерактивная оболочка по умолчанию на Ubuntu), проверьте два соответствующих файла конфигурации в вашем домашнем каталоге:
.inputrc
, файл конфигурации для библиотеки readline, который используется bash. Найдите строку, начинающуюся с a
, и строку, начинающуюся с c
. .bashrc
, конфигурационный файл для bash при его работе в интерактивном режиме. Найдите строку, содержащую , связывающую...
, и строку, содержащую , связывающую c...
. Ваш вопрос, как написано, предполагает, что вы хотите искать во всей файловой системе файлы Analysis.mzXML
, даже если они появляются в /lib/perl5/5.14/Unicode/Collate/Locale
, /proc/sys/net/ipv4/conf/all
, /sys/devices/system/cpu/cpu0/cache
, /usr/share/doc/cmake/html/_sources
, или аналогично маловероятные / неподходящие места — и что вы хотите переместить файлы в корневой каталог, что также кажется маловероятным/ неуместным. Я предположил, что вы работаете из какого-то другого каталога.
Запустите эту команду:
find. -mindepth 7 -maxdepth 7 -type f -name Analysis.mzXML -exec sh -c 'for arg do echo mv -i -- "$arg" "$(echo "$arg" | sed -e "s|^\./||" -e "s|/dir6/Analysis\.mzXML|.mzXML|" -e "s|/|_|g")"; done' sh {} +
Вы можете не указывать -mindepth 7 -maxdepth 7
если вы уверены, что все файлы Analysis.mzXML
находятся на седьмом уровне. Эта команда находит все файлы Analysis.mzXML
на седьмом уровне. и передает их мини-сценарию оболочки -. Это берет каждый путь, удаляет ./
в начале и dir6
в конце вместе с Analysis
частью имени файла, и изменяет все оставшиеся символы /
на _
. Это должно дать что-то вроде этого:
mv -i --./dir1/dir2/dir3/dir4/dir5/dir6/Analysis.mzXML dir1_dir2_dir3_dir4_dir5.mzXML
mv -i --./the/quick/brown/fox/jumps/dir6/Analysis.mzXML the_quick_brown_fox_jumps.mzXML
mv -i --./over/the/lazy/dog/foo bar/dir6/Analysis.mzXML over_the_lazy_dog_foo bar.mzXML
Если это выглядит правильно, запустите команду еще раз, но удалите первый echo
(, т.е. замените echo mv
просто наmv
).
Примечания:
dir6
. Если он находит файл Analysis.mzXML
в dir11/dir12/dir13/dir14/dir15/dir16
он переименует этот файл к dir11_dir12_dir13_dir14_dir15_dir16_Analysis.mzXML
а не dir11_dir12_dir13_dir14_dir15.mzXML
. -i
заставит mv
запросить подтверждение если он пытается переместить файл на имя, которое уже существует. --
должен защитить вас от аргументов, начинающихся с-
. Это не должно быть проблемой, поскольку $arg
всегда должно начинаться с ./
. cd /
и следуйте приведенным выше инструкциям. Запоздалая мысль :Это может привести к сбою, если у вас есть каталог с именем Analysis.mzXML
. Так что не делайте этого.
Если вы перемещаете только один файл с помощью mv
, вы указываете имя исходного файла, а затем имя целевого файла ИЛИ целевой каталог, если вы хотите, чтобы он имел то же имя в другом каталоге. например.
mv /path/to/Analysis.mzXML /new/directory/new-filename.mzXML
или (сохранение того же имени файла в новом каталоге):
mv /path/to/Analysis.mzXML /new/directory/
Если вы перемещаете несколько файлов, целью ДОЛЖЕН быть каталог. например.
mv /path/to/*.mzXML /new/directory/
То же самое верно, если вы хотите скопировать файл или файлы с помощью cp
, а не mv
.