Как удалить файл с именем \\. \ pipe \ FC_ {6D57D5C3-9CEA-4497-BE57-9E544137A437} _1

Я каким-то образом получил этот файл \. \ Pipe \ FC_ {6D57D5C3-9CEA-4497-BE57-9E544137A437} _1 в моем домашнем каталоге.

Попытка удаления с помощью rm и табуляции с использованием следующих префиксов:

  1. ./ \
  2. ./ \.
  3. ./ \. \ P

, но, похоже, этот файл полностью игнорируется

Файл странный (прохождение):

srwxr-xr-x  X  Y          0 Aug 13 19:28 \\.\pipe\FC_{6D57D5C3-9CEA-4497-BE57-9E544137A437}_1=

и это не может быть ls-d:

ls: cannot access '\.\pipe\FC_{6D57D5C3-9CEA-4497-BE57-9E544137A437}_1=': No such file or directory
2
задан 5 September 2019 в 09:55

3 ответа

Тот файл является сокетом. Это не реальный файл и не занимает места на диске кроме каталога. Это - частная альтернатива интернет-адресу для сервисов, работающих на Вашем компьютере.

Это похоже от \\.\pipe\ часть это было создано программой, разработанной, чтобы также работать с Windows. Выполнение sudo lsof '\\.\pipe\FC_{6D57D5C3-9CEA-4497-BE57-9E544137A437}_1' в рамках того каталога покажет, использует ли что-нибудь его.

Лично я оставил бы файл в покое, хотя хорошо удалять, если бы ничто не использует его и было бы любопытно, что было то, если все еще используемо. Однако что касается многих причин, почему Вы не могли удалить его:

Во-первых заполнение клавишей Tab может быть перепутано обратными косыми чертами в имени файла.

Одинарная кавычка \\.\pipe\FC_{6D57D5C3-9CEA-4497-BE57-9E544137A437}_1, и попробуйте Ваш ls из файла снова. Заметьте недостающий финал =.

Попытайтесь использовать ll, затем ll -p на каталоге и уведомлении = исчезает из имени файла. = не часть имени файла, но индикатор типа файла для сокета. Мой -p коротко для --indicator-style=slash который переопределяет псевдоним ll -F, короткий для --indicator-style=classify

От info ls для --indicator-style= ( man страница является неполной):

‘file-type’
      Append ‘/’ for directories, ‘@’ for symbolic links, ‘|’ for
      FIFOs, ‘=’ for sockets, and nothing for regular files.  This
      is the same as the ‘--file-type’ option.
‘classify’
      Append ‘*’ for executable regular files, otherwise behave as
      for ‘file-type’.  This is the same as the ‘-F’ or ‘--classify’
      option.
1
ответ дан 2 December 2019 в 04:36

Если рассматриваемый файл является действительно регулярным файлом и не чем-то специальным, как предложено в ссылке, на которую ссылается @mook765, то существует два общих подхода.

Самый простой метод должен перечислить каталог с помощью файлового менеджера GUI, который отобразит файл и позволит Вам удалить его, выбирая его и говоря ему удалить файл.

Если Вы хотите остаться на командной строке, то можно получить inode число и использование файла что удалить ее. Это объяснено здесь. Можно использовать stat или ls -il отобразить inode и find использовать inode для удаления его.

0
ответ дан 2 December 2019 в 04:36

Можно попробовать, удаляют файл или папку путем нахождения inode

man ls ... -i, --inode print the index number of each file ...

ls -li 7093614 -rw-r--r-- 1 moi moi 0 Sep 12 16:40 test

find . -inum 7093614 -exec rm -i {} \;

0
ответ дан 2 December 2019 в 04:36

Другие вопросы по тегам:

Похожие вопросы: