Как иметь косую черту в имени файла?
Я понимаю, что это, скорее всего, сломает и запутает мою систему, но возможно ли назвать или переименовать файл так, чтобы он имел /
s в его названии (это нужно для файла, который должен идти на столь же сумасшедший сервер - ну, вроде, это скорее сумасшедший обходной путь)? Я запускаю Ubuntu GNOME 15.10 с GNOME 3.18, и я пытался сделать это с большинством программ, и они либо создают папку с файлом, потому что они обрабатывают то, что до /
в качестве папки и что после нее, как имя файла, или просто дать мне ошибку.
Причина:
Конкретная причина, по которой я нуждаюсь в этом, заключается в том, что я настроил сервер, который упрям и теперь не изменит свое мнение о том, где находится его конфигурационный файл. Однако я случайно положил /
в имени файла, поэтому он считает, что файл конфигурации, скорее всего, находится в ~/configuration/files/config1.conf
в ~/configuration/files/con/fig1.conf
... так что вы можете сказать, что я должен просто создать папку в files
и назовите это con
а затем файл конфигурации называется fig1.conf
Однако сервер в настоящее время даже не позволяет создавать новые каталоги или что-то еще... Так что я думаю, что моя единственная надежда будет заключаться в том, чтобы поставить косую черту в имени файла, пока он не выйдет из блокировки. режим вниз.
3 ответа
Можно ли назвать или переименовать файл, чтобы он имел /s в своем имени [...]?
Нет, по очевидным причинам.
Например, у вас есть каталог, содержащий:
- каталог с именем "foo", содержащий файл с именем "bar"
- файл с именем "foo/bar"
/path/to/foo/bar # file named "bar" in the directory named "foo"
/path/to/foo/bar # file named "foo/bar"
Ссылка на любую из двух была бы неоднозначной.
Если вам интересно, где накладывается ограничение, это на уровне ядра, чтобы соответствовать спецификациям файловой системы.
В общем, любой символ может быть использован в имени файла, кроме /
(юникода 002f
) а также \0
(юникода 0000
) и имена файлов, такие как .
а также ..
также не разрешены.
В терминале Mac OS вы можете заменить косую черту двоеточием (:) при переименовании, а при просмотре файла в Finder (графическом файловом менеджере) имя файла должно иметь косую черту в том месте, где вы ввели двоеточие. . Это, вероятно, также работает в Linux.
Это может быть сделано, не легко, не хорошо, и не рекомендуется (это создает проблемы при попытке удалить файл.
Просто используйте замену Unicode. Это лучше объяснить на linuxanswers.com.
bash
пример оболочки с использованием юникода "дробная косая черта" U+2044
bash# >test$'\xe2\x88\x95'file
bash# ls --show-control-chars
test∕file
bash# ls
test???file
Я не знаю, может ли сервер получить доступ к файлу, но Ubuntu может. Возможно, вам придется использовать псевдоним на стороне сервера, если это возможно. (Не было необходимости касаться установки Windows со времен Windows 95).