Jak mogę uzyskać folder o nazwie kropka „.” na liście ostatnich miejsc?

14

Szukałem w moich „ostatnich” miejscach w Nautilusie i zobaczyłem folder o nazwie ..

Folder kropkowy

Rozumiem, że folder o nazwie .reprezentuje bieżący katalog i nie jest faktycznym folderem. Sprawdziłem właściwości tego folderu:

Właściwości kropek

Wydaje się, że w nazwie nie ma ukrytych znaków (jak spacja-kropka-spacja). Folder znajduje się w /usr/local/binśrodku i zawiera 4728 elementów.

W rzeczywistości /usr/local/binzawiera 16 512 elementów, więc nie może tak być (tzn. Ten sam folder, w którym się znajduje).

Jeśli otworzę ten folder, klikając go dwukrotnie, wydaje się, że jest naprawdę arduino-1.6.9(tzn. Jego nazwa nie jest tak naprawdę .).

Folder arduino-1.6.9

Jeśli robię ls -laod /usr/local/binwidzę (między innymi):

nick:/usr/local/bin$ ls -la
total 156928
drwxrwxr-x  7 root nick     4096 Oct  5 14:55 .
drwxr-xr-x 11 root root     4096 Apr 10  2015 ..
drwxr-xr-x 11 nick nick     4096 May 10 19:18 arduino-1.6.9

Moje pytanie brzmi : dlaczego folder /usr/local/bin/arduino-1.6.9pojawia się na liście „Ostatnie” jako .?


To jest Ubuntu 14.04 LTS 64-bit.


Czy możesz znaleźć tam odniesienie do / usr / local / bin i powiedzieć nam, co on mówi?

Wydaje się, że jest kilka wpisów wzdłuż tych linii:

  <bookmark href="file:///usr/local/bin/arduino-1.6.9/." added="2016-10-10T19:50:11Z" modified="2016-10-10T19:50:11Z" visited="2016-10-10T19:50:11Z">
    <info>
      <metadata owner="http://freedesktop.org">
        <mime:mime-type type="text/plain"/>
        <bookmark:groups>
          <bookmark:group>geany</bookmark:group>
        </bookmark:groups>
        <bookmark:applications>
          <bookmark:application name="geany" exec="&apos;geany %u&apos;" modified="2016-10-10T19:50:11Z" count="1"/>
        </bookmark:applications>
      </metadata>
    </info>
  </bookmark>
Nick Gammon
źródło
4
bardzo ciekawe pytanie. Powiedziałbym, że to nautilus. Co z ~/.local/share/recently-used.xbelplikiem? Tam zapisywane są ostatnio zapisane pliki. Czy możesz znaleźć tam odniesienie /usr/local/bini powiedzieć nam, co mówi?
Sergiy Kolodyazhnyy
Zobacz zmienione pytanie. Jeśli jest to obrażający wpis, oczekiwałbym, że (Nautilus) upuści /.część i pokaże następny poziom wyżej.
Nick Gammon
1
wydaje się być wpisem, jednak ma on zajmować się tylko plikami, a nie katalogami (innymi słowy, nie powinien upuszczać /.części). Ważniejsze pytanie brzmi, dlaczego pojawił się na ostatniej liście, ponieważ nie powinien . Pokazuje również, że pochodzi z geanyIDE, więc domyślam się, że próbowałeś otworzyć ten folder w geany i zgłosił to jako najnowszy plik
Sergiy Kolodyazhnyy
Tak, mogłem równie dobrze otworzyć ten folder, ale na pewno w Geany folder otworzyłby się w oknie dialogowym otwierania pliku i pokazał mi zawartość. Geany to edytor tekstowy, a nie edytor folderów. Nie rozumiem, jak Nautilus powinien powiedzieć, że .był to nowy folder. Równie dobrze możesz powiedzieć, że z każdego folderu.
Nick Gammon,
Kiedy podwójnie kliknę folder o nazwie .w Nautilus i /usr/local/binwtedy na pewno otrzymam taką nazwę, która powinna pojawić się w folderze? (A może po prostu bin)
Nick Gammon

Odpowiedzi:

1

Powiedziałbym, że problemem jest tutaj błąd w Geany, który jest odpowiedzialny za zapełnianie listy ostatnich plików błędnym wpisem. .Podczas tworzenia tych wpisów powinien on używać „prawdziwej ścieżki” zamiast ścieżki z nią zawartej.

https://github.com/geany/geany/blob/12b9f27a795f7ec8c1faf6c225314a09b6c5f7af/src/ui_utils.c

Nie widzę, skąd .pochodziłaby twoja ścieżka do pliku. Próbowałem otworzyć plik w Geany, a nowy wpis, ~/.local/share/recently-used.xbelktóry się pojawił, miał tam poprawną nazwę pliku, a nie .. Ale jeśli istnieje jakiś przypadek użycia, w którym możesz otworzyć katalog w Geany, może to być sposób, w jaki skończyłeś z tym wpisem na ostatnio używanej liście plików. Chciałbym po prostu usunąć cały fragment ostatnio używanej listy plików (lub całkowicie usunąć plik i uruchomić ponownie, nie wyobrażam sobie, że spowodowałoby to problemy)

jdpipe
źródło
Tak, ale Geany umieściła tam całą nazwę pliku, jak widać z cytowanego fragmentu z recently-used.xbel. Problem nie objawia się w Geany, ale w przeglądarce plików Nautilus.
Nick Gammon
Widzę nazwę pliku w twoim pliku .xbel jako plik: ///usr/local/bin/arduino-1.6.9/. ”, Więc ostatnia część ścieżki to„. ”I to właśnie masz renderowane w Nautilusie jako „nazwa” ostatniego folderu - ostatniego elementu ścieżki. Ten problem można naprawić w Nautilusie lub Geany, ale zwykle
wskazuję
Aby pokazać, że Nautilus potrafi postępować właściwie, sugeruję usunięcie /.pliku .xbel i ponowne uruchomienie Nautilusa. Oczekuję, że ostatni wpis zmieni się wtedy na oczekiwane zachowanie, pojawi się jako arduino-1.6.9.
jdpipe,
Mogę jednak dodać, że oczekuje się, że identyfikatory URI mogą zawierać „segmenty kropkowe”, abyśmy mogli argumentować, że Nautilus powinien móc je połykać ... tools.ietf.org/html/rfc3986#section-5.2.4
jdpipe,
Jest to błąd w obu programach, ale Geany go uruchomiła. Nautilus powinien być w stanie rozwiązywać ścieżki zawierające zbędne ścieżki, ale nie może, co również jest błędem.
Kristopher Ives