Verschieben Sie die Ordner "Bilder", "Dokumente", "Filme" usw.

23

Ich möchte Ordner wie "Bilder", "Dokumente" und "Filme" in einen anderen als den Standardordner im Stammverzeichnis des Heimatorts des Benutzers verschieben, vorzugsweise in einen Unterordner im Heimatordner desselben Benutzers. Zum Beispiel würde user / Music zu user / stuff / Music gehen.

Ich möchte lieber keine symbolischen Links zu verschobenen Ordnern erstellen, sondern das Verhalten des Systems insgesamt ändern, damit es weiß, wo diese Ordner zu finden sind.

Bitte denken Sie daran, dass ich den privaten Ordner des Benutzers nicht verschieben möchte, sondern nur diese, zum Beispiel nach / Users / [Benutzername] / stuff /, da ich nicht mag, dass sie den privaten Ordner dort verschmutzen.

Kunst
quelle
Am besten verschieben Sie Ihr gesamtes Home-Verzeichnis . Habe ich nur getan, um Speicherplatz auf meiner SSD freizugeben - hat einwandfrei funktioniert.
Dan
1
Vielen Dank, Dan, aber ich möchte meinen privaten Ordner eigentlich nicht verschieben, nur die, die ich erwähnt habe. Ich möchte sie lieber unter "Dokumente" oder einem anderen Ordner haben, der sich wiederum unter dem privaten Ordner des Benutzers befindet. Mir gefällt nicht wirklich, wie diese Ordner das Home-Verzeichnis mit ihrer Anwesenheit verschmutzen.
Kunst
1
Wenn Sie ihre Anwesenheit nicht mögen und sie nicht verwenden, chflags hidden <folder>können Sie sie im Finder ausblenden. Das verschiebt sie natürlich nicht, aber ich mag es zum Beispiel, PublicOrdner zu verstecken .
Dan
Eigentlich würde ich sie gerne weiter benutzen, Dan, obwohl ich sie wegschiebe.
Kunst

Antworten:

12

Kunst,

Haben Sie dies erfolgreich funktioniert?

Haben Sie versucht, die Ordner mit etwas zu verstecken:

chflags hidden ~/Documents 

Erstellen Sie dann einen Link dazu wie (im Terminal):

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

Ich glaube, dass dies den Ordner ~ / Documents vor dem Finder verstecken wird, aber es wird immer noch da sein, so dass alles, was darauf geschrieben wird, in Ordnung funktionieren wird. Außerdem siehst du den Link in ~ / stuff ...

Pogues
quelle
Das klingt tatsächlich sehr vielversprechend, ich werde es versuchen, danke Mann!
Kunst
Obwohl sie im Terminal nach 'ls -la' noch sichtbar sind, bin ich froh, dass Sie diese Lösung vorgeschlagen haben, die für mich etwa 90% der Fälle abdecken wird. Vielen Dank!
Kunst
1
Das ist perfekt, danke. Es wäre immer noch cooler, wenn Sie sie irgendwie umbenennen könnten ... wenn die Standard-Ordnernamen mit Kleinbuchstaben anfingen und ich sie wahrscheinlich behalten würde.
Nathan Beach
1
Dies verbirgt es nicht vor ls. Wie geht das?
Ivan Perez
Zum Ausblenden:chflags nohidden ~/Documents
Dennis Golomazov
8

Ich persönlich benutze Symlinks, um alle diese Verzeichnisse unter meinem Benutzerkonto zu verschieben. Ich habe mich als root angemeldet und alle meine Verzeichnisse mit "Documents 'Downloads" Movies "usw. verknüpft und auf ein externes Laufwerk verschoben.

Mac OS erkennt die Änderungen sehr gut und zeigt automatisch auf diese Verzeichnisse (auf dem externen Laufwerk), und ich hatte keine Probleme, dies auf diese Weise zu tun.

Es gibt einen Systemdienst namens SymbolicLinker, der Ihrem Kontextmenü eine Option hinzufügt, die eine symbolische Verknüpfung für Sie erstellt.

Bildbeschreibung hier eingeben

So aktivieren Sie den Root-Benutzer

OS X Lion

  1. Wählen Sie im Menü "Apple" die Option "Systemeinstellungen".
  2. Wählen Sie im Menü Ansicht die Option Benutzer und Gruppen.
  3. Klicken Sie auf das Schloss und authentifizieren Sie sich als Administrator.
  4. Klicken Sie auf Anmeldeoptionen ....
  5. Klicken Sie unten rechts auf die Schaltfläche "Bearbeiten ..." oder "Beitreten ...".
  6. Klicken Sie auf die Schaltfläche "Open Directory Utility ...".
  7. Klicken Sie im Fenster des Verzeichnisdienstprogramms auf das Schloss.
  8. Geben Sie einen Administrator-Kontonamen und ein Kennwort ein und klicken Sie auf OK.
  9. Wählen Sie im Menü Bearbeiten die Option Root-Benutzer aktivieren.
  10. Geben Sie das Root-Passwort, das Sie verwenden möchten, in die Felder Passwort und Bestätigen ein und klicken Sie auf OK.

Mac OS X 10.6.x

  1. Wählen Sie im Menü "Apple" die Option "Systemeinstellungen".
  2. Wählen Sie im Menü Ansicht die Option Konten.
  3. Klicken Sie auf das Schloss und authentifizieren Sie sich mit einem Administratorkonto.
  4. Klicken Sie auf Anmeldeoptionen ....
  5. Klicken Sie unten rechts auf die Schaltfläche "Bearbeiten ..." oder "Beitreten ...".
  6. Klicken Sie auf die Schaltfläche "Open Directory Utility ...".
  7. Klicken Sie im Fenster des Verzeichnisdienstprogramms auf das Schloss.
  8. Geben Sie einen Administrator-Kontonamen und ein Kennwort ein und klicken Sie auf OK.
  9. Wählen Sie im Menü Bearbeiten die Option Root-Benutzer aktivieren.
  10. Geben Sie das Root-Passwort, das Sie verwenden möchten, in die Felder Passwort und Bestätigen ein und klicken Sie auf OK.
WrightsCS
quelle
Das ist ein cooler Trick. Ich dachte nur, es wäre schöner gewesen, wenn Sie ein wenig für Nicht-Power-User erweitern könnten? Ein Link zum Aktivieren des Root-Kontos und eine Erklärung zum Starten dieses Systemdienstes würden viel helfen.
Dan
1
Wenn Sie die Serviceerweiterung herunterladen, werden Anweisungen zur Installation angezeigt. Im Grunde SymbolicLinker.service/Library/Services/
kopierst
Bearbeitete Antwort mit Anweisungen zum Aktivieren des Root-Benutzers für Lion und Snow.
WrightsCS
Gut geschriebene Antwort, aber ich muss anderen Benutzern zustimmen, dass Sie mit Dingen herumspielen werden, mit denen Mac OS X aus gutem Grund keine Probleme hat, und dass Sie möglicherweise die Struktur Ihres Systems unnötig komplizieren. Denken Sie darüber nach: Sichert Time Machine diese Ordner und ihren Inhalt, nachdem Sie sie auf eine andere Festplatte verschoben haben? Das solltest du besser bestätigen.
2
@ WheatWilliams Ja, eigentlich sichert Time Machine diese Verzeichnisse ziemlich gut für mich.
WrightsCS
5

Sie können Ihren gesamten Benutzerkontoordner (Privatordner) mithilfe der folgenden Schritte verschieben:

  1. Klicken Sie in den Systemeinstellungen auf Benutzer und Gruppen.
  2. Entsperren Sie den Bereich (Schlosssymbol).
  3. Klicken Sie mit der rechten Maustaste auf den ausgewählten Benutzer und wählen Sie die Option "Erweitert" aus der Liste.
  4. Sie werden vom folgenden Bildschirm begrüßt:

Bildbeschreibung hier eingeben

Wählen Sie dort einfach das "Home-Verzeichnis" aus, in das Sie das Profil verschieben möchten, und starten Sie es neu.

Hinweis: Dadurch werden alle unter /Users/{your user}/(Downloads, Dokumente, Musik usw.) gefundenen Inhalte verschoben .


quelle
@chsum: Sind Sie sicher, dass der tatsächliche Inhalt von Dokumenten, Bildern usw. verschoben wurde? Ich würde davon ausgehen, dass OSX nur an der angegebenen Stelle eine neue Homeverzeichnisstruktur erstellt, deren Inhalt anschließend vom Benutzer selbst verschoben werden muss.
Nohillside
cksum, so wie ich die Frage gelesen habe, möchte der Fragesteller nicht sein gesamtes Basisverzeichnis oder Benutzerkonto verschieben. Er möchte sein Basisverzeichnis beibehalten, aber bestimmte systemdefinierte Unterordner aus Gründen des Speicherplatzes aus seinem Basisordner auf Remote-Volumes oder an Orte außerhalb seines Basisordners verschieben.
2
So stellen Sie sicher , dass , wenn Sie Sie Ihre Inhalte behalten wollen, zuerst zu den Home - Ordner kopieren , was auch immer Position , die Sie bevorzugen, dann diese Einstellung ändern , um die neue Position entsprechen. Durch einfaches Ändern dieser Einstellung werden keine Dateien kopiert. Sie werden wieder sauber.
Dan
Wenn es sich bei diesem neuen Speicherort um ein anderes Laufwerk handelt, müssen Sie ein zweites Notfalladministratorkonto einrichten, falls das neue Laufwerk, auf dem sich Ihr Basisordner befindet, ausfällt.
Fomite
Danke, cksum, aber ich möchte meinen Home-Ordner nicht verschieben, nur diese Ordner - ich mag es einfach nicht, wenn sie direkt unter dem Home-Ordner des Benutzers liegen.
Kunst
4

Nun, die kurze Antwort lautet: Nicht , weil zu viele Dinge davon abhängen. Dies ist auch der Grund, warum Apple es schwierig macht, diese Ordner umzubenennen.

Wenn Sie trotzdem das Risiko eingehen möchten, sollte diese Antwort auf eine etwas verwandte Frage Ihnen einige Ideen geben.

nohillside
quelle
Ich würde diese Antwort +1 geben, aber ich muss auch sagen, dass ich dem nachdrücklich zustimme. Ich verstehe Ihren Wunsch, aber es ist eine schlechte Idee und wahrscheinlich einfach unmöglich, weil das Betriebssystem sie sowieso nur neu erstellen würde, wenn Sie nicht mit Dingen herumalbern, mit denen Sie nicht herumalbern sollten.
TJ Luoma
Darf ich nicht zustimmen? Ich habe gerade meinen Home-Ordner mithilfe dieser Referenz nahtlos verschoben, damit ich Speicherplatz auf dem SSD-Laufwerk sparen kann. Ja, Sie können einzelne Ordner nicht verschieben, aber Ihr Beitrag hört sich so an, als wäre das Verschieben des gesamten Basisordners schwierig, obwohl dies nicht der Fall ist.
Dan
Wenn es einen Grund gibt, den ich noch nicht sehe - es gibt eine Möglichkeit, wie Sie mit diesen Namen flexibel umgehen können -, können Sie zum Beispiel in Windows immer mithilfe von Aliasnamen (% System%) auf diese Ordner verweisen mit Apple Logo zu mir.
Kunst
Dan, das Verschieben des gesamten Home-Ordners ist einfach (wie bereits in einer anderen Antwort erwähnt) und das Umbenennen bestimmter Ordnernamen (was anscheinend die ursprüngliche Frage ist) nicht.
Nohillside
6
Ich würde diese Antwort -100, wenn ich könnte. Auf meinem Computer mache ich was ich will! Einschließlich das Entfernen der nutzlosen Verzeichnisse.
devin
2

Sie können versuchen, den folgenden Bash-Code zu Ihrem ~ / .bash_profile hinzuzufügen. Der lsBefehl wird geändert, wenn er ausgeführt wird $HOME, um bestimmte Ordner ("Musik", "Filme", ​​"Bilder" usw.) nicht anzuzeigen.

Dies ändert lediglich die lsAnzeige im $HOMEVerzeichnis. Die Ordner werden nicht wirklich gelöscht. Wenn Sie dies tun, werden ls -lSie beispielsweise feststellen, dass die Ordner noch vorhanden sind.

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"

Screenshots des Skripts in Aktion: Das 'ls' Shim in Aktion Regelmäßige 'ls'

Robert
quelle
Können Sie eine Erklärung hinzufügen, was Ihr Skript macht?
Nohillside
Ich kann meine Zustimmung nicht widerrufen. Für jeden zukünftigen Besucher: Dieses Skript funktioniert nicht wie gewünscht.
Newb
@Newb danke für deinen Kommentar, ich werde heute einen Blick darauf werfen
robert
@Newb Das Skript funktioniert einwandfrei für mich. Könnten Sie Ihr Problem genauer erläutern? Wie hast du es installiert?
Robert
0

Bewegen Sie sie einfach, wohin Sie möchten. Das einzig Wichtige ist die Bibliothek und für den Rest können Sie normalerweise auswählen, wo Apps Inhalte platzieren.

Es gibt nur ein paar beschissene Apps, mit denen Sie nicht ändern können, wo sie Dinge schreiben. Microsoft- und Adobe-Apps fallen Ihnen ein. Sie legen Dateien in ~ / Documents ab. Der Rest wird mit Ihren Dateien arbeiten, egal wo Sie sie ablegen.

w00t
quelle
Ich fürchte, ich habe mich nicht klar genug ausgedrückt - ich möchte keine Ordner auf ein anderes Laufwerk verschieben , ich möchte sie nur aus dem Stammverzeichnis des Ausgangsordners entfernen (dh unter einem "Apple Junk" -Ordner verstecken)
Art
0

Ich würde nicht vorschlagen, dass Sie Ihren gesamten Basisordner verschieben. Stattdessen ist es besser, symbolische Verknüpfungen Ihrer Ordner mit einem externen Laufwerk herzustellen. Danach erhalten Sie:

  1. Flexibilität - Wenn etwas mit Ihrer externen Festplatte passiert (denken Sie daran, dass sich Ihr versteckter Bibliotheksordner auf dem Hauptlaufwerk befindet, wenn die Festplatte ausgefallen ist, müssen Sie etwas tun, da sie ebenfalls ausgefallen ist), können Sie in diesem Moment mit der Reparatur beginnen ohne es auszuschalten.
  2. Handelt es sich bei Ihrem Hauptlaufwerk um eine SSD - Wenn sich Ihr Basisordner auf Ihrem Hauptlaufwerk befindet, wird er schneller geladen, als wenn er sich auf einem externen Laufwerk befindet .
  3. Wenn Sie einen Mac Pro haben, können Sie für Filme einen HD- Ordner und für Musik einen anderen HD- Ordner festlegen.
SABOND21
quelle
1
Es tut mir leid, aber diese Antwort hat sehr viel mit der ursprünglichen Frage zu tun. Ich möchte den Basisordner nicht verschieben oder symbolische Links erstellen.
Kunst
Es ist immer noch ein Mehrwert für die Diskussion, außerdem stimme ich zu
Asier
0

Ich habe ein Transcend 256G-Laufwerk in den Erweiterungssteckplatz eingefügt und diesen Vorgang ausprobiert, aber die Daten wurden NICHT verschoben. Es wurde ein neues Profil mit allen Ordnern erstellt, die auf das Erweiterungslaufwerk verschoben wurden, ABER ich musste alle Daten manuell von der internen SSD an den neuen Speicherort verschieben. Ich bekam schließlich, was ich wollte, aber ich musste das gesamte Profil (Outlook-E-Mail-Konto, Einstellungen usw.) neu erstellen.

Marc A
quelle