Przenieś foldery „Obrazy”, „Dokumenty”, „Filmy” itp

23

Chciałbym przenieść foldery takie jak „Obrazy”, „Dokumenty”, „Filmy” do innych niż domyślne w katalogu głównym lokalizacji domowej użytkownika, najlepiej w podfolderze w folderze domowym tego samego użytkownika. Na przykład użytkownik / Muzyka przejdzie do user / stuff / Music.

Wolałbym nie tworzyć dowiązań symbolicznych do przeniesionych folderów, ale całkowicie zmienić zachowanie systemu, aby wiedział, gdzie znaleźć te foldery.

Pamiętaj, że nie chcę przenosić folderu domowego użytkownika, ale tylko te, na przykład, przenieś je do / Users / [nazwa użytkownika] / rzeczy /, ponieważ nie lubię, aby zanieczyszczały tam folder domowy.

Sztuka
źródło
Najlepszym sposobem jest przeniesienie całego katalogu domowego . Właśnie to zrobiłem, aby zwolnić trochę miejsca na moim dysku SSD - działało idealnie.
Dan
1
Dzięki Dan, ale tak naprawdę nie chcę przenosić folderu domowego, tylko te, o których wspomniałem, wolę mieć je w „Dokumentach” lub w innym folderze, który z kolei znajduje się w domu użytkownika. Nie podoba mi się to, jak te foldery zanieczyszczają katalog domowy swoją obecnością.
Art.
1
Jeśli nie podoba ci się ich obecność i nie korzystasz z nich, spróbuj chflags hidden <folder>ukryć którekolwiek z nich w Finderze. To oczywiście ich nie przeniesie, ale lubię na przykład ukrywać Publicfolder.
Dan
Właściwie chciałbym nadal ich używać, Dan, chociaż je przenieś.
Art.

Odpowiedzi:

12

Sztuka,

Czy to działa skutecznie?

Czy próbowałeś ukryć foldery, używając czegoś takiego:

chflags hidden ~/Documents 

Następnie stwórz link do niego, taki jak (w Terminalu):

cd ~
mkdir stuff
cd stuff
ln -s ~/Documents

Wierzę, że to ukryje folder ~ / Documents przed Finderem, ale nadal tam będzie, więc wszystko do niego pisać będzie działać OK. Ponadto zobaczysz link w ~ / stuff ...

Pogues
źródło
To naprawdę brzmi bardzo obiecująco, dam temu szansę, dzięki stary!
Art
Mimo że są one nadal widoczne w terminalu po ls -la, cieszę się, że zasugerowałeś to rozwiązanie, które obejmie dla mnie około 90% przypadków. Dziękuję Ci!
Art
1
To jest idealne, dzięki. Byłoby fajniej, gdybyś mógł jakoś zmienić ich nazwę ... gdyby domyślne nazwy folderów zaczynały się małymi literami i prawdopodobnie trzymałbym je przy sobie.
Nathan Beach
1
To nie ukrywa go przed ls. Jak można to zrobić?
Ivan Perez
Aby odkryć:chflags nohidden ~/Documents
Dennis Golomazov
8

Osobiście używam dowiązań symbolicznych do przenoszenia wszystkich tych katalogów na moje konto użytkownika. Zalogowałem się jako root i dowiązałem symbolicznie wszystkie moje katalogi „Dokumenty do pobrania”, „Filmy” itp. I przeniosłem je na dysk zewnętrzny.

Mac OS widzi zmiany w porządku i automatycznie wskazuje te katalogi (na dysku zewnętrznym) i nie miałem z tym problemu.

Istnieje usługa systemowa o nazwie SymbolicLinker, która doda opcję do menu kontekstowego, która utworzy dla Ciebie łącze symboliczne.

wprowadź opis zdjęcia tutaj

Jak włączyć użytkownika root

OS X Lion

  1. Z menu Apple wybierz Preferencje systemowe ....
  2. Z menu Widok wybierz Użytkownicy i grupy.
  3. Kliknij blokadę i uwierzytelnij się jako konto administratora.
  4. Kliknij Opcje logowania ....
  5. Kliknij przycisk „Edytuj ...” lub „Dołącz ...” w prawym dolnym rogu.
  6. Kliknij przycisk „Open Directory Utility ...”.
  7. Kliknij blokadę w oknie Directory Utility.
  8. Wprowadź nazwę konta administratora i hasło, a następnie kliknij OK.
  9. Wybierz opcję Włącz użytkownika root z menu Edycja.
  10. Wprowadź hasło roota, którego chcesz używać w polach Hasło i Weryfikuj, a następnie kliknij OK.

Mac OS X 10.6.x

  1. Z menu Apple wybierz Preferencje systemowe ....
  2. Z menu Widok wybierz Konta.
  3. Kliknij blokadę i uwierzytelnij się za pomocą konta administratora.
  4. Kliknij Opcje logowania ....
  5. Kliknij przycisk „Edytuj ...” lub „Dołącz ...” w prawym dolnym rogu.
  6. Kliknij przycisk „Open Directory Utility ...”.
  7. Kliknij blokadę w oknie Directory Utility.
  8. Wprowadź nazwę konta administratora i hasło, a następnie kliknij OK.
  9. Wybierz opcję Włącz użytkownika root z menu Edycja.
  10. Wprowadź hasło roota, którego chcesz używać w polach Hasło i Weryfikuj, a następnie kliknij OK.
WrightsCS
źródło
To fajna sztuczka. Pomyślałem, że byłoby miło, gdybyś mógł trochę rozszerzyć dla mało-zaawansowanych użytkowników? Link do tego, jak włączyć konto root, wyjaśnienie, jak uruchomić tę usługę systemową, bardzo by pomógł.
Dan
1
Po pobraniu rozszerzenia usługi pojawią się instrukcje jego instalacji. Zasadniczo wystarczy skopiować SymbolicLinker.servicedo /Library/Services/, a następnie wylogować się i zalogować ponownie.
WrightsCS
Edytowano odpowiedź z instrukcjami, jak włączyć użytkownika root dla Lion i Snow.
WrightsCS,
Dobrze napisana odpowiedź, ale muszę zgodzić się z innymi użytkownikami, że będziesz bałaganić rzeczy, z których Mac OS X, nie bez powodu, nie chce, abyś bałaganił, i możesz niepotrzebnie komplikować strukturę systemu. Proszę pomyśleć o tym: czy Time Machine zamierza wykonać kopię zapasową tych folderów i ich zawartości po przeniesieniu ich na inny dysk twardy? Lepiej to potwierdź.
2
@WheatWilliams tak, właściwie Time Machine tworzy dla mnie całkiem dobrze te katalogi.
WrightsCS,
5

Możesz przenieść cały folder konta użytkownika (domowego), wykonując następujące czynności:

  1. Kliknij Użytkownicy i grupy w Preferencjach systemowych.
  2. Odblokuj panel (ikona kłódki).
  3. Kliknij wybranego użytkownika prawym przyciskiem myszy i wybierz z listy opcję „zaawansowane”.
  4. Zostanie powitany następujący ekran:

wprowadź opis zdjęcia tutaj

Stamtąd wybierz po prostu „katalog domowy”, do którego chcesz przenieść profil, a następnie uruchom ponownie.

Uwaga: spowoduje to przeniesienie całej zawartości znalezionej w /Users/{your user}/(Pobrane, Dokumenty, Muzyka itp.)


źródło
@chsum: Czy jesteś pewien, że rzeczywista zawartość dokumentów, zdjęć itp. została przeniesiona? Zakładam, że OSX po prostu tworzy nową strukturę katalogu domowego we wskazanym miejscu, a zawartość musi zostać później przeniesiona przez samego użytkownika.
nohillside
cksum, ze sposobu, w jaki czytam pytanie, pytający nie chce przenieść całego katalogu folderu domowego lub konta użytkownika. Chce zachować swój katalog domowy, ale przenosi pewne zdefiniowane przez system podfoldery ze swojego folderu domowego do zdalnych woluminów lub miejsc poza swoim folderem domowym ze względu na miejsce na dysku.
2
Wystarczy upewnić się, że jeśli nie chcemy, aby utrzymać zawartość, należy najpierw skopiować do folderu domowego cokolwiek lokalizacja wolisz, następnie zmienić to ustawienie, aby dopasować nową lokalizację. Zmiana tego ustawienia nie powoduje skopiowania żadnych plików - zaczniesz ponownie czyścić.
Dan
Ponadto, jeśli to nowe miejsce jest innym dyskiem, należy utworzyć drugie konto administratora awaryjnego na wypadek awarii nowego dysku, na którym znajduje się folder domowy.
Fomite,
Dzięki cksum, ale nie chcę przenosić folderu domowego, tylko te foldery - po prostu nie lubię, gdy siedzą pod domem użytkownika.
Art.
4

Krótka odpowiedź brzmi: nie , ponieważ zbyt wiele rzeczy zależy od tego. Jest to również powód, dla którego Apple utrudnia zmianę nazw tych folderów.

Jeśli mimo wszystko chcesz zaryzykować, ta odpowiedź na nieco powiązane pytanie powinna dać ci kilka pomysłów.

nohillside
źródło
Dałem +1 tej odpowiedzi, ale muszę też powiedzieć, że zdecydowanie się z tym zgadzam. Rozumiem twoje pragnienie, ale jest to zły pomysł i prawdopodobnie po prostu niemożliwe, ponieważ system operacyjny i tak po prostu je odtworzy, chyba że zaczniesz gadać z rzeczami, z którymi nie powinieneś się bawić.
TJ Luoma,
Czy mogę się nie zgodzić? Właśnie bezproblemowo przeniosłem swój folder domowy, korzystając z tego odwołania, dzięki czemu mogę zaoszczędzić trochę miejsca na dysku SSD. Tak, nie możesz przenosić pojedynczych folderów, ale Twój post brzmi tak, jakby trudno było przenieść cały folder domowy, jeśli tak nie jest.
Dan
Jeśli istnieje jakiś powód, którego jeszcze nie widzę - istnieje sposób, aby być elastycznym przy użyciu tych nazw - na przykład w systemie Windows zawsze możesz odwoływać się do tych folderów przy użyciu aliasów, tj.% System% itp. Wygląda jak standardowa jednoznaczna upór z logo Apple do mnie.
Art.
Dan, przeniesienie całego folderu domowego jest łatwe (jak wskazano już w innej odpowiedzi), zmiana nazwy określonych folderów (które wydają się być oryginalnym pytaniem) nie jest.
nohillside
6
Zrobiłbym -100 tej odpowiedzi, gdybym mógł. Na moim komputerze robię, co chcę! W tym usunięcie niepotrzebnych katalogów.
devin
2

Możesz spróbować dodać następujący kod Bash do swojego ~ / .bash_profile. Zmienia lspolecenie po uruchomieniu, $HOMEaby nie wyświetlać niektórych folderów („Muzyka”, „Filmy”, „Obrazy” itp.).

Wszystko to zmienia zawartość lswyświetlaną w $HOMEkatalogu. W rzeczywistości nie usuwa folderów. Na przykład, jeśli to zrobisz ls -l, zobaczysz, że foldery nadal tam są.

function ls-home() {
        excludeDirectories=(
        "Music"
        "Movies"
        "Pictures"
        "Public"
        "Documents"
        "Desktop"
        "Downloads"
        "VirtualBox VMs"
        )

        files=$(comm -23 <( /bin/ls -1) <(printf '%s\n' "${excludeDirectories[@]}" | sort))

        temporary_dir=$(mktemp -d)

        for file in $files; do
                if [ -h $file ]; then
                        ln -s $file $temporary_dir/$file
                elif [ -f $file ]; then
                        touch $temporary_dir/$file
                        if [ -x $file ]; then
                                chmod +x $temporary_dir/$file
                        fi
                else
                        mkdir $temporary_dir/$file
                fi
        done

        /bin/ls $temporary_dir
        rm -rf $temporary_dir
}

function ls-shim() {
        if [ "$(pwd)" = "$HOME" ]; then
                lastArgument="${@:-1}"
                if [ "${lastArgument:0}" = 1 ];  then
                        ls-home
                else
                        /bin/ls "$@"
                fi
        else
                /bin/ls "$@"
        fi
}

alias ls="ls-shim"

Zrzuty ekranu skryptu w akcji: „Ls” lśni w akcji Regularne „ls”

Robert
źródło
Czy możesz dodać wyjaśnienie na temat tego, co robi Twój skrypt?
nohillside
Nie mogę wycofać mojego poparcia. Dla każdego przyszłego użytkownika: ten skrypt nie działa zgodnie z oczekiwaniami.
Newb
@Newb dzięki za komentarz, spojrzę dzisiaj
Robert
@Newb skrypt działa dla mnie dobrze, czy mógłbyś bardziej szczegółowo wyjaśnić problem? Jak to zainstalowałeś?
Robert
0

Po prostu przenieś je gdziekolwiek chcesz. Jedyną ważną jest Biblioteka, a reszta to zwykle miejsce, w którym aplikacje umieszczają różne rzeczy.

Jest tylko kilka kiepskich aplikacji, które nie pozwolą ci zmienić miejsca, w którym piszą, przychodzą na myśl aplikacje Microsoft i Adobe. Umieszczą pliki w ~ / Documents. Cała reszta będzie działać z plikami bez względu na to, gdzie je umieścisz.

w00t
źródło
Obawiam się, że nie wyraziłem się wystarczająco jasno - nie chcę przenosić folderów na inny dysk , chcę tylko, aby były niewidoczne z katalogu głównego folderu domowego (tj. Ukryte pod jakimś folderem „śmieci Apple”)
Art
0

Nie sugeruję przeniesienia całego folderu domowego, zamiast tego lepiej jest utworzyć symboliczne łącza do folderów na dysk zewnętrzny. Następnie otrzymasz:

  1. Elastyczność - jeśli coś dzieje się z zewnętrznym dyskiem HD (pamiętaj, że ukryty folder Library znajduje się na dysku głównym, jeśli dysk twardy jest wyłączony, musisz coś zrobić, ponieważ również będzie on wyłączony), w tym momencie będziesz mógł go naprawić bez wyłączania go.
  2. W przypadku, gdy głównym dyskiem jest dysk SSD - gdy folder domowy znajduje się na dysku głównym, ładuje się szybciej, gdy byłby na dysku zewnętrznym.
  3. Jeśli masz komputer Mac Pro - możesz ustawić dla folderu z filmami jeden HD, dla folderu z muzyką inny HD ...
SABOND21
źródło
1
Przykro mi, ale ta odpowiedź jest bardzo luźno związana z pierwotnym pytaniem. W szczególności nie chcę przenosić folderu domowego ani tworzyć dowiązań symbolicznych.
Art.
Nadal stanowi wartość dodaną do dyskusji, poza tym się zgadzam
Asier
0

Dodałem dysk Transcend 256G w gnieździe rozszerzeń i wypróbowałem ten proces, ale NIE przenosi on danych. TO NIE utworzyło nowego profilu ze wszystkimi folderami przeniesionymi na dysk rozszerzeń, ALE musiałem ręcznie przenieść wszystkie dane z wewnętrznego dysku SSD do nowej lokalizacji. W końcu dostałem to, co chciałem, ale musiałem odtworzyć cały profil (konto e-mail programu Outlook, preferencje itp.).

Marc A.
źródło