Это был NetworkManager.
Выполнение systemctl stop mysqld httpd postfix ipmievd настроено atd rsyslog smartd crond irqbalance gssproxy polkit chronyd
не помогло, но сделало таблицу процессов очень маленькой.
После systemctl stop NetworkManager
я смог переименовать / home.
Переименование для каждого каталога очень просто:
rename 's/\s/_/g' *
Это позволит избавиться от всех пробелов в именах файлов в каталоге и заменить их на '_'. Если вы опустите 'g', он заменит только первый пробел в имени файла, так что не забывайте эту часть. * означает все файлы в каталоге, в котором он запущен.
rename 's/\s/_/g' /home/you/something/*
Заменил бы все пробелы в именах файлов в каталоге: / home / you / something /
Это не распространяется на просмотр многих каталогов, но в целом я бы так и поступил.
Мне нравятся подчеркивания, которые можно было бы заменить:
my file with spaces.txt
на
my_file_with_spaces.txt
Этот сценарий найдет все файлы в целевом каталоге и сгенерирует новый сценарий, который переименует все файлы, чтобы в них не было пробелов. Затем вы можете просмотреть сценарий на досуге перед выполнением:
#!/bin/bash
TARGET=/path/to/files
NEWSCRIPT=${HOME}/rename-spaced-files.sh
OLDIFS="${IFS}"
IFS="\n"
for file in $(find ${TARGET}/ -type f -name "* *"); do
if [[ -f \"${file// /}\" ]]; then
echo "# \"${file// /}\" already exists- come up with a new name for it and uncomment the next line" >> $NEWSCRIPT
echo -n "# " >> $NEWSCRIPT
fi
echo "mv \"${file}\" \"${file// /}\"" >> $NEWSCRIPT
done
Хотя наличие пробелов в именах файлов абсолютно допустимо в Unix и ее файловых системах, вы должны позаботиться о том, чтобы вы указывали имена в кавычках, когда используете их с командами оболочки или из переменных, например. грамм. в скриптах. В противном случае оболочка передаст каждое слово команде как отдельный параметр.
VAR="existing file with spaces in name"
#This works
ls "${VAR}"
#This results in file(s) not found
ls ${VAR}
В дополнение к уже приведенным ответам вы также можете использовать команду mmv
для переименования нескольких файлов, имена которых соответствуют шаблону, независимо от пробелов в именах, потому что с mmv
у вас есть в любом случае процитировать исходный и целевой шаблон.
И бессовестно цитирую себя (каламбур не предназначен, но с радостью принят):
Практическое правило: Всегда используйте кавычки вокруг переменных оболочки, которые содержат строки при их раскрытии; они могут содержать пробелы или быть пустыми, что без кавычек часто сбивает с толку команду, которой они передаются (слишком много или отсутствуют параметры).