rm -f test && touch testpoza tym, naprawdę nie wiem
Kiwy
@ Kiwi Tak, ale wyobrażam sobie wbudowane polecenie zaprojektowane do wykonania tego zadania.
Ionică Bizău
Odpowiedzi:
12
Nie jest to możliwe w przypadku systemów Unix i Linux, których kiedykolwiek dotknąłem.
W niektórych starszych Uniksach katalogi to pliki, specjalnie oznaczone, ale nadal pliki. Na przykład potrafiłeś czytać katalog w catsystemie SunOS. Wiele współczesnych systemów plików może mieć katalogi jako drzewa B + lub inną strukturę danych na dysku. Tak więc przekształcenie pliku w katalog lub odwrotnie zawsze wymagałoby usunięcia i odtworzenia o tej samej nazwie.
Ciekawy. Jeśli nikt nie przyjdzie z rozwiązaniem, zaznaczę tę odpowiedź. :-)
Ionică Bizău
5
Nie, nie ma takiego polecenia, ponieważ absolutnie nie miałoby sensu. Twoje pytanie jest jak zapytanie o sposób przekształcenia pudełka w płaski prostokąt. Co zrobiłbyś z rzeczami w pudełku (katalogu)? W jaki sposób prostokąt odpowiadałby pudełku, z którego pochodzi?
Pliki i katalogi pełnią zupełnie różne funkcje. Chociaż katalog jest rzeczywiście plikiem w systemach * nix, dotyczy to tylko elementów wewnętrznych systemu, a nie tego, co widzisz użytkownik. Tak więc konwersja pliku do katalogu lub odwrotnie zawsze wiąże się z usunięciem pliku i utworzeniem katalogu. Najlepsze, na co możesz mieć nadzieję, to użyć tego samego i-węzła, ale znowu, nie ma to większego sensu.
Mówiąc, że nie ma sensu, to twoja opinia, a nie fakt tekstowy.
Sridhar Sarnobat
@ user7000 co byś zrobił z zawartością katalogu, kiedy „konwertujesz” do pliku?
terdon
System plików przechowuje dane w strukturze drzewa. W informatyce węzły drzew, które są węzłami liści, mogą stać się węzłami wewnętrznymi po dodaniu do nich dzieci. I nie, nie zamierzam używać bazy danych, gdy wystarcza system plików.
Sridhar Sarnobat
2
Utwórz funkcję, aby robić, co chcesz. ( bashlub założono inną powłokę Bourne / POSIX)
Celowo używam, rmdirktóry zawiedzie, jeśli adirnie jest katalogiem lub nie jest pusty (nie, -faby wymusić). touchbędzie działać tylko w przypadku rmdirpowodzenia.
Możesz umieścić definicję funkcji w pliku dostosowywania powłoki ( .bashrcdla bash).
Najwyraźniej błąd w oprogramowaniu układowym spowodował, że bit we wpisie katalogu dla pliku sprawił, że system operacyjny uznał, że jest to folder zamiast pliku.
Chociaż nie mam odpowiedniego routera Linksys, coś zmieniło wszystkie moje pliki .jpg w puste foldery. Jeśli jest jakiś sposób, aby przerzucić bit (lub cokolwiek), który mówi, że pozycja katalogu NTFS jest folderem kontra plik, chciałbym o tym wiedzieć.
Jedno z rozwiązań w tym 2-letnim wątku mówi, że jeśli dysk twardy zawierający foldery, które kiedyś były plikami, zostanie podłączony do komputera Mac z systemem OS / X, komputer Mac zobaczy je ponownie jako pliki i można skopiować do folderu na komputerze Mac. Nie mam komputera Mac, aby to wypróbować, więc jeśli ktoś wie, jak to odwrócić ...
Najpierw uzyskaj dostęp do terminala i uruchom ls -al filez plikiem będącym plikiem, który chcesz przekonwertować z powrotem do folderu RZECZYWISTEGO. Jeśli na liście znajdują się pliki i podkatalogi, oznacza to, że „plik” był wcześniej folderem z prawdziwą zawartością i możesz kontynuować:
Wykonać:
sudo chmod 700/
LUB
sudo chmod 700 file
Uruchom ponownie system, odzyskaj dostęp do terminala i wykonaj:
sudo chmod 744/
LUB
sudo chmod 744 file
PAMIĘTAJ: „plik” należy zastąpić plikiem, który chcesz przekonwertować z powrotem na folder RZECZYWISTY.
Jest to tylko arbitralny sposób rozwiązania tego problemu, ale tworzy anomalie uprawnień, których można użyć fsck -fdo naprawy (oczywiście bez zamontowania) lub ręcznego ustawiania nowych uprawnień w razie potrzeby.
PONOWNIE, jest to po prostu sprawdzony sposób na uniknięcie konieczności usuwania pliku, który wcześniej był niepustym folderem.
rm -f test && touch test
poza tym, naprawdę nie wiemOdpowiedzi:
Nie jest to możliwe w przypadku systemów Unix i Linux, których kiedykolwiek dotknąłem.
W niektórych starszych Uniksach katalogi to pliki, specjalnie oznaczone, ale nadal pliki. Na przykład potrafiłeś czytać katalog w
cat
systemie SunOS. Wiele współczesnych systemów plików może mieć katalogi jako drzewa B + lub inną strukturę danych na dysku. Tak więc przekształcenie pliku w katalog lub odwrotnie zawsze wymagałoby usunięcia i odtworzenia o tej samej nazwie.źródło
Nie, nie ma takiego polecenia, ponieważ absolutnie nie miałoby sensu. Twoje pytanie jest jak zapytanie o sposób przekształcenia pudełka w płaski prostokąt. Co zrobiłbyś z rzeczami w pudełku (katalogu)? W jaki sposób prostokąt odpowiadałby pudełku, z którego pochodzi?
Pliki i katalogi pełnią zupełnie różne funkcje. Chociaż katalog jest rzeczywiście plikiem w systemach * nix, dotyczy to tylko elementów wewnętrznych systemu, a nie tego, co widzisz użytkownik. Tak więc konwersja pliku do katalogu lub odwrotnie zawsze wiąże się z usunięciem pliku i utworzeniem katalogu. Najlepsze, na co możesz mieć nadzieję, to użyć tego samego i-węzła, ale znowu, nie ma to większego sensu.
źródło
Utwórz funkcję, aby robić, co chcesz. (
bash
lub założono inną powłokę Bourne / POSIX)Celowo używam,
rmdir
który zawiedzie, jeśliadir
nie jest katalogiem lub nie jest pusty (nie,-f
aby wymusić).touch
będzie działać tylko w przypadkurmdir
powodzenia.Możesz umieścić definicję funkcji w pliku dostosowywania powłoki (
.bashrc
dlabash
).źródło
--
?--
oznacza koniec tak flagamirmdir
itouch
nic wiedzieć przeszłość jest to nazwa pliku, nawet jeśli zaczyna się-
.Jeśli zastanawiasz się, dlaczego chcesz to zrobić, skorzystaj z tego wątku:
https://community.linksys.com/t5/Wireless-Routers/Media-files-changing-to-folder-types/td-p/504192/highlight/true
Najwyraźniej błąd w oprogramowaniu układowym spowodował, że bit we wpisie katalogu dla pliku sprawił, że system operacyjny uznał, że jest to folder zamiast pliku.
Chociaż nie mam odpowiedniego routera Linksys, coś zmieniło wszystkie moje pliki .jpg w puste foldery. Jeśli jest jakiś sposób, aby przerzucić bit (lub cokolwiek), który mówi, że pozycja katalogu NTFS jest folderem kontra plik, chciałbym o tym wiedzieć.
Jedno z rozwiązań w tym 2-letnim wątku mówi, że jeśli dysk twardy zawierający foldery, które kiedyś były plikami, zostanie podłączony do komputera Mac z systemem OS / X, komputer Mac zobaczy je ponownie jako pliki i można skopiować do folderu na komputerze Mac. Nie mam komputera Mac, aby to wypróbować, więc jeśli ktoś wie, jak to odwrócić ...
źródło
Najpierw uzyskaj dostęp do terminala i uruchom
ls -al file
z plikiem będącym plikiem, który chcesz przekonwertować z powrotem do folderu RZECZYWISTEGO. Jeśli na liście znajdują się pliki i podkatalogi, oznacza to, że „plik” był wcześniej folderem z prawdziwą zawartością i możesz kontynuować:Wykonać:
LUB
Uruchom ponownie system, odzyskaj dostęp do terminala i wykonaj:
LUB
PAMIĘTAJ: „plik” należy zastąpić plikiem, który chcesz przekonwertować z powrotem na folder RZECZYWISTY.
Jest to tylko arbitralny sposób rozwiązania tego problemu, ale tworzy anomalie uprawnień, których można użyć
fsck -f
do naprawy (oczywiście bez zamontowania) lub ręcznego ustawiania nowych uprawnień w razie potrzeby.PONOWNIE, jest to po prostu sprawdzony sposób na uniknięcie konieczności usuwania pliku, który wcześniej był niepustym folderem.
źródło