Katalog jest (koncepcyjnie) specjalnym „plikiem”, który zawiera listę nazw oraz numery i-węzłów, na które wskazują te nazwy. Niektóre nazwy mogą być podkatalogami. Istnieje specjalny wpis ..wskazujący katalog macierzysty.
Oczywiste jest więc, że zmiana nazwy pliku jest łatwa: wystarczy zmienić nazwę we wpisie katalogu, nic więcej. Odnosi się to do tego, czy plik jest w rzeczywistości plikiem, czy jest „plikiem” służącym do przechowywania zawartości innego katalogu. Rzeczywiście, to samo renamewywołanie systemowe działa zarówno.
Kopiowanie jest jednak znacznie mniej trywialną operacją. Państwo mogłoby po prostu skopiować katalogu „plik”, ale wtedy masz dwa katalogi, w których pliki są takie same (byliby hardlinki). Jeśli posiadasz system, który pozwala na tworzenie twardych linków do katalogów, byłoby to możliwe, ale ponieważ żaden nowoczesny system nie pozwala na to, przynajmniej dla użytkownika innego niż root, musisz wykonać tę kopię dla każdego podkatalogu. Możesz poprosić cpo takie zachowanie za pomocą cp -lR: -ltwardego linku, -Rtej rekurencji.
Ale pozostawienie wszystkiego połączonego prawdopodobnie nie jest tym, czego chcesz. Zamiast tego chcesz cpskopiować każdy plik. To dość kosztowna operacja: każdy plik musi zostać wczytany do pamięci i zapisany z powrotem na dysk w drugiej lokalizacji. W rzeczywistości potrzeba kilku wywołań systemowych, aby otwierać, czytać, pisać i zamykać pliki, i należy to powtórzyć dla każdego pliku.
Tradycyjne systemy plików działają również w ten sposób na dysku. Nie ma innego sposobu na skopiowanie wiązki plików, niż przejrzenie każdego z nich osobno i skopiowanie go, a są to typy systemów plików, które były używane podczas projektowania podstawowych narzędzi wiersza poleceń.
mving z jednego systemu plików do tego samego „po prostu zmienia nazwę we wpisie katalogu”?