В Ubuntu почему я не могу иметь папку с именем «MyFile» и документ с именем «MyFile» в одном месте? Я получаю ошибку item already used in this location
. Ubuntu / Linux рассматривает папки и файлы как одни и те же объекты (указатели на диск)?
у Вас не может быть двух объектов с тем же именем в том же месте. что произойдет, когда Вы захотите кошке или vi файл? объект ведьмы будет, ОС выбрала? таким образом из-за возможности беспорядка Вы не сможете иметь то же название файла и папки в том же месте. и по тому, как папка является файлом, которые размещают другие файлы.
В Linux почти все - дескриптор файла. Каталог является специальным типом файла, который с точки зрения пользователя может содержать другие файлы.
, Таким образом, у Вас не может быть обоих с тем же именем в том же каталоге одновременно.
, Если бы Вы могли, жизнь стала бы скудной для кодеров. Что было бы Вы иметь команду "isDir" возврат, когда кто-то хочет создать каталог, и проверка на него к существует. Должен isDir ("/home/shrodingers/cat") возвращают true, ложь или обоих? И что Вы ожидали бы, хочет ли кто-то открыть dir файла в некотором коде?
И что должна сделать система, когда Вы говорите ей открывать что-то? Предположите желание файла? Это записывает проблему ;)
Между прочим: это верно для ВСЕХ операционных систем, не просто Linux. Хотя с Настольной точки зрения операционная система могла добавить уникальный идентификатор к файлу или каталогу и удалить его из списка. С точки зрения командной строки это было бы проблематичный все же.
существует одна вещь, которую мы имеем по Windows: мы используем чувствительные к регистру имена. Таким образом, "MYFILE" и "myfile" являются разными вещами.
https://unix.stackexchange.com/a/238056/139805
, ничего себе это действительно странно, но я просто сделал то, что спросил автор. Это - то, как, таким образом, это - реальный ответ :P
charles@charles-MacBook ~ $ cd /usr/share
charles@charles-MacBook /usr/share $ ls -ld pix*
drwxr-xr-x 13 root root 4096 Oct 22 21:04 pixmaps
-rw-r--r-- 1 root root 17626 Oct 22 21:07 pixmaps
charles@charles-MacBook /usr/share $ mv pixmaps pixmaps
mv: cannot move ‘pixmaps’ to a subdirectory of itself, ‘pixmaps/pixmaps’
charles@charles-MacBook /usr/share $ ls -ld pix*
drwxr-xr-x 13 root root 4096 Oct 22 21:04 pixmaps
-rw-r--r-- 1 root root 17626 Oct 22 21:07 pixmaps
charles@charles-MacBook /usr/share $ file pix*
pixmaps: directory
pixmaps : X pixmap image, ASCII text
, это было сделано:
charles-MacBook MaSSH # ls
instMaSSH.sh MaSSHandra MaSSHandra.desktop MaSSHandraMesh.xpm
MaSSHandra.xpm mime-MaSSHandra.xml
charles-MacBook MaSSH # cat instMaSSH.sh
cp -i MaSSHandra.desktop /usr/share/applications
cp -i MaSSHandra.xpm /usr/share/pixmaps
cp -i MaSSHandraMesh.xpm /usr/share/pixmaps
xdg-icon-resource install --context mimetypes --size 48 /usr/share/pixmaps/MaSSHandra.xpm application-x-MaSSHandra
xdg-icon-resource install --context mimetypes --size 48 /usr/share/pixmaps/MaSSHandraMesh.xpm application-x-MaSSHandraMesh
setcap cap_net_raw+ep /opt/MaSSHandra/bin/MaSSHandra
charles-MacBook MaSSH # ./instMaSSH.sh
cp: overwrite ‘/usr/share/applications/MaSSHandra.desktop’? y
xdg-icon-resource: file '/usr/share/pixmaps/MaSSHandra.xpm' does not exist
xdg-icon-resource: file '/usr/share/pixmaps/MaSSHandraMesh.xpm' does not exist
whoah чередуют ответ два файла с тем же именем, даже справочник и файл еще , что продолжается??? _
charles-MacBook share # ls -ld pi*
drwxr-xr-x 13 root root 4096 Oct 22 21:08 pixmaps
-rw-r--r-- 1 root root 17626 Oct 22 21:09 pixmaps
charles-MacBook share # mv pixmaps /tmp
charles-MacBook share # mv pixmaps /tmp/pixmaps/
charles-MacBook share # ls -ld pix*
-rw-r--r-- 1 root root 21535 Oct 22 21:26 pixmaps
-rw-r--r-- 1 root root 17626 Oct 22 21:26 pixmaps
charles-MacBook share # ls -li pix*
1849351 -rw-r--r-- 1 root root 21535 Oct 22 21:26 pixmaps
1841386 -rw-r--r-- 1 root root 17626 Oct 22 21:26 pixmaps
charles-MacBook share # file pix*
pixmaps: X pixmap image, ASCII text
pixmaps : X pixmap image, ASCII text
charles-MacBook share # ls -liF pix*
1849351 -rw-r--r-- 1 root root 21535 Oct 22 21:26 pixmaps
1841386 -rw-r--r-- 1 root root 17626 Oct 22 21:26 pixmaps
полностью странное поведение
charles-MacBook MaSSH # ls -l /usr/share/pixmaps
pixmaps pixmaps
charles-MacBook MaSSH # rm -i /usr/share/pixmaps
rm: remove regular file ‘/usr/share/pixmaps’? y
charles-MacBook MaSSH # ls -l /usr/share/pixmaps
-rw-r--r-- 1 root root 17626 Oct 22 21:26 /usr/share/pixmaps
charles-MacBook MaSSH # rm -i /usr/share/pixmaps
rm: cannot remove ‘/usr/share/pixmaps’: No such file or directory
charles-MacBook MaSSH # ls -l /usr/share/pixmaps
-rw-r--r-- 1 root root 17626 Oct 22 21:26 /usr/share/pixmaps
charles-MacBook MaSSH # cd /usr/share
charles-MacBook share # rm pixmaps
charles-MacBook share #
Я знаю, что это - старая тема, но у меня просто была та же проблема, и я хотел совместно использовать.
Вот моя история (быть терпеливым, существует счастливый конец).
Среда:
Хинду ядро 4.12.5 64 бита на reiserfs
То, как это могло, произошло?
У меня есть несколько машин с папкой, совместно использованной с помощью syncthing. В какой-то момент в прошлом я удалил файл, названный ".stfolder", и создаю каталог с тем именем, вместо этого. Таким образом, возможно, ошибка происходит из-за syncthing, синхронизирующего эту операцию на другой машине.
Теперь давайте исследуем ошибку: (Я действую в качестве корня здесь),
ls -lahd .*
drwxrwx--- 5 stopi syncthing 656 3 sept. 18:24 .
drwxr-xr-x 5 stopi stopi 240 3 sept. 18:21 ..
drw-rw---- 2 stopi syncthing 48 3 sept. 18:24 .stfolder
-rw-rw---- 1 stopi syncthing 0 29 août 12:51 .stfolder
-rw-rw---- 1 stopi syncthing 23 28 oct. 2017 .stignore
find -type f -name .stfolder
(<= no output there)
find -type f -name ".*"
./.stignore
./.stfolder
find -type f -name ".s*"
./.stignore
похож на файл, фантом однако, папка отвечает обычно (находкой)
file .*
.: directory
..: directory
.stfolder: directory
.stfolder: empty
.stignore: C source, ASCII text
file .s*
.stfolder: directory
.stignore: C source, ASCII text
Я знаю, очень странный...
rm -r .stfolder
ls -lahd .*
drwxrwx--- 5 stopi syncthing 656 3 sept. 18:24 .
drwxr-xr-x 5 stopi stopi 240 3 sept. 18:21 ..
-rw-rw---- 1 stopi syncthing 0 29 août 12:51 .stfolder
-rw-rw---- 1 stopi syncthing 23 28 oct. 2017 .stignore
rm .stfolder
rm: impossible de supprimer '.stfolder': Aucun fichier ou dossier de ce type
Я не могу удалить тот фантомный файл!
Но в конце, я успешно удалил его путем перемещения его в tmpfs точку монтирования
mv .stfolder /elsewhere/
mv: impossible d'évaluer '.stfolder': Aucun fichier ou dossier de ce type
mv .* /elsewhere/
Я должен сказать, что ошибка все еще присутствует на tmpfs, таким образом, не связана с reiserfs:
cd /elsewhere
ls -lahd .*
-rw-rw---- 1 stopi syncthing 0 29 août 12:51 .stfolder
ls -lahd .s*
ls: impossible d'accéder à '.s*': Aucun fichier ou dossier de ce type
Как Вы видите в этом выводе удара, файл присутствует и не - подарок одновременно. Из-за этой способности к кошке Schrödinger мы можем создать папку с тем же именем.
Но ожидайте, существует больше (и необходимо найти это очевидным): мы можем создать другой файл с тем же именем также.
touch .stfolder
ls -lahdQ
total 0
drwxrwxr-x 3 root users 100 3 sept. 19:13 "."
drwxrwxrwt 18 root root 440 3 sept. 17:35 ".."
-rw-r--r-- 1 root root 0 3 sept. 19:13 ".stfolder"
-rw-r----- 1 root root 0 3 sept. 19:09 ".stfolder"
Фантом может быть скопирован (таким образом, я могу копировать ошибку), или управляемый показанным, chmod, и т.д. единственное ограничение - Вы, не может назвать его так, необходимо поместить его в пустой каталог и использование ".*" как аргументы в пользу тех команд..., но это работает!
Из-за самой природы его этот файл был пуст с начала (это - просто флаг для syncthing).
Таким образом, мне было любопытно, если я мог бы поместить некоторые данные в тот файл.
И здесь, решение прибыло ко мне:
vi .*
" ============================================================================
" Netrw Directory Listing (netrw v162)
" /elsewhere
" Sorted by name
" Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$
" Quick Help: <F1>:help -:go up dir D:delete R:rename s:sort-by x:special
" ==============================================================================
../
./
.<200b>stfolder
Да, существует невидимый символ в том файле, сразу после точки.
Это объясняет все.
Слава Богу я не использовал "тест эха>>.*" и кошка...
man 5 crontab
: еслиMAILTO
не определяется, " почта отправляется владельцу crontab." для не отправки почты,MAILTO
должен быть определен, чтобы быть пустой строкой. – fkraiem 10 November 2016 в 01:22