Большинство терминалов распознает определенную escape-последовательность как попытку изменить заголовок, таким образом, это будет работать:
$ alias foo-with-title='echo -ne "\033]0;foo\007"; foo'
Ваше имя каталога, кажется, имеет пространство в нем.
Можно или использовать кавычки:
chown -R zugul "/development /"
Или можно использовать символы ESC:
chown -R zugul /development\ /
Ваше имя каталога заканчивается пространством (вероятно, регулярное пространство, но это мог быть некоторый другой символ пробела как небьющееся пространство). В зависимости от того, каким опциям Вы передали ls
, \
или находится в имени файла или указывает, что следующий символ должен быть интерпретирован буквально как часть имени файла.
Вы захотите переименовать каталог:
mv /development\ /development
(отметьте два последовательных пробелов: первой является часть имени файла и заключенный в кавычки предыдущей обратной косой чертой, и второе пространство разделяет эти два аргумента). Или
mv '/development ' /development
Если уже существует названный каталог /development
, переместите файлы от /development
каталог к /development
затем удалите плохо названный каталог (rmdir '/development '
). Не упустите конфликты (файлы, существующие в обоих).
После того как Вы уладили проблему именования, заботьтесь о других вещах, таких как владение.
Имя файла является неправильным, когда Вы пытаетесь chown
; попробуйте вместо этого chown -R zugul development\\\ /
.
Не думайте, что это принадлежит stackoverflow, но в основном можно сделать одну из 2 вещей:
chown -R zugul /development*
Если у Вас есть несколько / каталогов разработки, это - проблема. Или
chown -R zugul "/development /"
В целом, хотя Вы могли бы не хотеть делать часть каталогов "разработки" / уровень. Они обычно принадлежат /home/zugul/
где-нибудь.
Если Вы не скопировали папку как корень, Вы не будете видеть его в /
. Так или Ваша операция перестала работать или папка в некотором другом каталоге. Если это находится в некотором другом каталоге затем, необходимо сделать:
cd <dest directory>
sudo chown -R zugul "development /"
Вместо того, чтобы угадывать, что это за символ, используйте что-то, что заключает в кавычки специальные символы. Мне нравится этот метод:
ls --quoting-style=shell-escape
Это показывает, что это на самом деле (с использованием строк в стиле bash/ksh -$''
, которые обрабатывают escape-последовательности ANSII C ). В качестве бонуса это должно дать вам строку в кавычках до -, которую вы можете напрямую передать в chown
или что-то еще, что вам нужно сделать в оболочке. Например, вот файл с новой строкой в имени, показывающий вывод ls, а затем использующий предварительно -вывод ls
в кавычках для chgrp
иrm
:
sauer@lightning:/tmp/test> ls -l
total 0
-rw-r--r-- 1 sauer users 0 Aug 14 17:04 a?file
sauer@lightning:/tmp/test> ls -l --quoting-style=shell-escape
total 0
-rw-r--r-- 1 sauer users 0 Aug 14 17:04 'a'$'\n''file'
sauer@lightning:/tmp/test> chgrp docker 'a'$'\n''file'
sauer@lightning:/tmp/test> ls -l --quoting-style=shell-escape
total 0
-rw-r--r-- 1 sauer docker 0 Aug 14 17:04 'a'$'\n''file'
sauer@lightning:/tmp/test> rm -v 'a'$'\n''file'
removed 'a'$'\n''file'
Я бы посоветовал переименовать файл во что-нибудь без странных символов.:)
sauer@lightning:/tmp/test> ls
a??file
sauer@lightning:/tmp/test> ls --quoting-style=shell-escape
'a'$'\t\033''file'
sauer@lightning:/tmp/test> mv -v 'a'$'\t\033''file' regular_filename
renamed 'a'$'\t\033''file' -> 'regular_filename'
mv "/development " "/development"
. Или можно добавить%20
к Вашему URL:foo.com/development%20
– Blender 23.12.2011, 20:42