Déplacer les dossiers «Images», «Documents», «Films», etc.

23

Je voudrais déplacer des dossiers tels que «Images», «Documents», «Films» vers un dossier différent de celui par défaut sous la racine de l'emplacement d'origine de l'utilisateur, de préférence dans un sous-dossier sous le dossier d'accueil du même utilisateur. Par exemple, l'utilisateur / Musique irait à l'utilisateur / trucs / Musique.

Je préfère ne pas créer de liens symboliques vers des dossiers déplacés, mais changer complètement le comportement du système, afin qu'il sache où trouver ces dossiers.

Veuillez garder à l'esprit que je ne veux pas déplacer le dossier personnel de l'utilisateur, mais seulement ceux-ci, par exemple, les déplacer vers / Users / [nom d'utilisateur] / stuff / car je n'aime pas qu'ils polluent le dossier personnel là-bas.

Art
la source
La meilleure façon est de déplacer entièrement votre répertoire personnel . Je viens de le faire pour libérer de l'espace sur mon SSD — a parfaitement fonctionné.
Dan
1
Merci Dan, mais je ne veux pas vraiment déplacer mon dossier personnel, juste ceux que j'ai mentionnés, je préfère les avoir sous 'Documents' ou un autre dossier, qui à son tour, se trouve sous la maison de l'utilisateur. Je n'aime pas vraiment la façon dont ces dossiers polluent le répertoire personnel par leur présence.
Art
1
Si vous n'aimez pas leur présence et ne les utilisez pas, émettez chflags hidden <folder>pour masquer l'un d'eux dans le Finder. Cela ne les déplacera pas bien sûr mais j'aime cacher le Publicdossier, par exemple.
Dan
J'aimerais en fait continuer à les utiliser, Dan, bien que je les déplace.
Art

Réponses:

12

Art,

Avez-vous ce travail avec succès?

Avez-vous essayé de masquer les dossiers en utilisant quelque chose comme:

chflags hidden ~/Documents 

Puis en créant un lien vers celui-ci comme (dans Terminal):

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

Je crois que cela cachera le dossier ~ / Documents du Finder mais il sera toujours là donc tout ce qui y sera écrit fonctionnera OK. De plus, vous verrez le lien dans ~ / stuff ...

Pogues
la source
Cela semble vraiment très prometteur, je vais essayer, merci mec!
Art
Bien qu'ils soient toujours visibles dans le terminal après 'ls -la', je suis heureux que vous ayez suggéré cette solution qui couvrira environ 90% des cas pour moi. Merci!
Art
1
C'est parfait, merci. Ce serait encore plus cool si vous pouviez les renommer d'une manière ou d'une autre ... si les noms de dossier par défaut commençaient par des minuscules et que je les garderais probablement.
Nathan Beach du
1
Cela ne le cache pas à ls. Comment cela peut-il être fait?
Ivan Perez
Pour révéler:chflags nohidden ~/Documents
Dennis Golomazov
8

J'utilise personnellement des liens symboliques pour déplacer tous ces répertoires sous mon compte d'utilisateur. Je me suis connecté en tant que root et j'ai créé un lien symbolique vers tous mes répertoires "Téléchargements de documents" Films ", etc., et les ai déplacés vers un lecteur externe.

Mac OS voit les changements très bien et pointe vers ces répertoires (sur le disque externe) automatiquement et je n'ai eu aucun problème à le faire de cette façon.

Il existe un service système appelé SymbolicLinkerqui ajoutera une option à votre menu contextuel qui créera un lien symbolique pour vous.

entrez la description de l'image ici

Comment activer l'utilisateur root

OS X Lion

  1. Dans le menu Apple, choisissez Préférences Système ....
  2. Dans le menu Affichage, choisissez Utilisateurs et groupes.
  3. Cliquez sur le verrou et authentifiez-vous en tant que compte administrateur.
  4. Cliquez sur Options de connexion ....
  5. Cliquez sur le bouton "Modifier ..." ou "Rejoindre ..." en bas à droite.
  6. Cliquez sur le bouton "Open Directory Utility ...".
  7. Cliquez sur le verrou dans la fenêtre de l'utilitaire d'annuaire.
  8. Saisissez un nom de compte administrateur et un mot de passe, puis cliquez sur OK.
  9. Choisissez Activer l'utilisateur racine dans le menu Edition.
  10. Saisissez le mot de passe root que vous souhaitez utiliser dans les champs Mot de passe et Vérifier, puis cliquez sur OK.

Mac OS X v10.6.x

  1. Dans le menu Apple, choisissez Préférences Système ....
  2. Dans le menu Affichage, choisissez Comptes.
  3. Cliquez sur le verrou et authentifiez-vous avec un compte administrateur.
  4. Cliquez sur Options de connexion ....
  5. Cliquez sur le bouton "Modifier ..." ou "Rejoindre ..." en bas à droite.
  6. Cliquez sur le bouton "Open Directory Utility ...".
  7. Cliquez sur le verrou dans la fenêtre de l'utilitaire d'annuaire.
  8. Saisissez un nom de compte administrateur et un mot de passe, puis cliquez sur OK.
  9. Choisissez Activer l'utilisateur racine dans le menu Edition.
  10. Saisissez le mot de passe root que vous souhaitez utiliser dans les champs Mot de passe et Vérifier, puis cliquez sur OK.
WrightsCS
la source
C'est un truc sympa. Je pensais juste que ça aurait été plus agréable si vous pouviez vous étendre un peu pour les utilisateurs pas si puissants? Un lien sur la façon d'activer le compte root, une explication sur la façon de lancer ce service système aideraient beaucoup.
Dan
1
Lorsque vous téléchargez l'extension de service, il y aura des instructions sur la façon de l'installer. Fondamentalement, vous venez de copier SymbolicLinker.serviceà /Library/Services/, puis vous déconnecter et reconnectez- vous.
WrightsCS
Réponse modifiée avec des instructions sur la façon d'activer l'utilisateur root pour Lion et Snow.
WrightsCS
Réponse bien écrite, mais je dois convenir avec d'autres utilisateurs que vous allez jouer avec des choses avec lesquelles Mac OS X, pour une bonne raison, ne veut pas que vous jouiez, et vous pourriez compliquer inutilement la structure de votre système. Réfléchissez à ceci: Time Machine va-t-il sauvegarder ces dossiers et leur contenu maintenant que vous les avez déplacés vers un autre disque dur? Vous feriez mieux de le confirmer.
2
@WheatWilliams oui, en fait, Time Machine sauvegarde assez bien ces répertoires pour moi.
WrightsCS
5

Vous pouvez déplacer l'intégralité de votre dossier de compte d'utilisateur (home) en procédant comme suit:

  1. Cliquez sur Utilisateurs et groupes dans les Préférences Système.
  2. Déverrouillez le volet (icône de verrouillage).
  3. Faites un clic droit sur l'utilisateur sélectionné et choisissez l'option "avancé" dans la liste.
  4. Vous serez accueilli par l'écran suivant:

entrez la description de l'image ici

De là, sélectionnez simplement le "répertoire personnel" dans lequel vous souhaitez déplacer le profil, puis redémarrez.

Remarque: Cela déplacera tous les contenus trouvés sous /Users/{your user}/(Téléchargements, Documents, Musique, etc.)


la source
@chsum: Êtes-vous sûr que le contenu réel des documents, des images, etc. a été déplacé? Je suppose que OSX crée simplement une nouvelle structure de répertoires personnels à l'endroit indiqué, le contenu doit ensuite être déplacé par l'utilisateur lui-même.
nohillside
cksum, d'après la façon dont j'ai lu la question, le demandeur ne veut pas déplacer l'intégralité de son répertoire de dossiers personnels ou de son compte utilisateur. Il souhaite conserver son répertoire personnel mais déplacer certains sous-dossiers définis par le système sous son dossier personnel vers des volumes distants ou des emplacements à l'extérieur de son dossier personnel pour des raisons d'espace disque.
2
Assurez-vous simplement que si vous souhaitez conserver votre contenu, copiez d'abord le dossier de base à l'emplacement de votre choix, puis modifiez ce paramètre pour qu'il corresponde au nouvel emplacement. Le simple fait de modifier ce paramètre ne copie aucun fichier - vous recommencerez le nettoyage.
Dan
De plus, si ce nouvel emplacement est un lecteur différent, assurez-vous de créer un deuxième compte d'administrateur d'urgence au cas où le nouveau lecteur où se trouve votre dossier de départ tombe en panne.
Fomite
Merci cksum, mais je ne veux pas déplacer mon dossier personnel, juste ces dossiers - je n'aime simplement pas qu'ils soient assis directement sous la maison de l'utilisateur.
Art
4

Eh bien, la réponse courte est: ne le faites pas , car trop de choses en dépendent. C'est également la raison pour laquelle Apple a choisi de rendre difficile le changement de nom de ces dossiers.

Si vous voulez quand même prendre le risque, cette réponse à une question quelque peu connexe devrait vous donner quelques idées.

nohillside
la source
J'ai attribué +1 à cette réponse, mais je dois également dire que je suis entièrement d'accord avec cela. Je comprends votre désir, mais c'est une mauvaise idée, et probablement tout simplement impossible parce que le système d'exploitation les recréerait de toute façon à moins que vous ne fassiez le ménage avec des choses avec lesquelles vous ne devriez pas le faire.
TJ Luoma
Puis-je être en désaccord? Je viens de déplacer mon dossier personnel de manière transparente en utilisant cette référence afin de pouvoir économiser de l'espace sur le disque SSD. Oui, vous ne pouvez pas déplacer des dossiers individuels, mais votre publication semble comme si le déplacement de l'ensemble du dossier d'accueil est difficile à faire, alors que ce n'est pas le cas.
Dan
S'il y a une raison pour laquelle je ne le vois pas encore - il existe un moyen de faire preuve de souplesse avec ces noms - par exemple, dans Windows, vous pouvez toujours vous référer à ces dossiers en utilisant des alias, c'est-à-dire% System%, etc. avec le logo Apple pour moi.
Art
Dan, déplacer tout le dossier personnel est facile (comme déjà souligné dans une autre réponse), renommer des noms de dossier spécifiques (qui semble être la question d'origine) ne l'est pas.
nohillside
6
Je voudrais -100 cette réponse si je pouvais. Sur mon ordinateur, je fais ce que je veux! Y compris la suppression des répertoires inutiles.
devin
2

Vous pouvez essayer d'ajouter le code Bash suivant à votre ~ / .bash_profile. Il change la lscommande lors de l'exécution $HOMEpour ne pas afficher certains dossiers ("Musique", "Films", "Images", etc.).

Tout cela ne fait que modifier ce qui lss'affiche dans le $HOMErépertoire. Il ne supprime pas réellement les dossiers. Par exemple, si vous le faites, ls -lvous verrez que les dossiers sont toujours là.

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"

Captures d'écran du script en action: La cale 'ls' en action 'Ls' régulier

robert
la source
Pouvez-vous ajouter quelques explications sur ce que fait votre script?
nohillside
Je ne peux pas retirer mon vote positif. Pour tout futur visiteur: ce script ne fonctionne pas comme souhaité.
Newb
@Newb merci pour votre commentaire, je vais jeter un oeil aujourd'hui
robert
@Newb le script fonctionne bien pour moi, pourriez-vous expliquer votre problème plus en détail? Comment l'avez-vous installé?
robert
0

Déplacez-les simplement où vous voulez. La seule importante est la bibliothèque et pour le reste, vous pouvez normalement choisir où les applications placent les choses.

Il n'y a que quelques applications merdiques qui ne vous permettront pas de changer où elles écrivent, les applications Microsoft et Adobe me viennent à l'esprit. Ils mettront les fichiers dans ~ / Documents. Tout le reste fonctionnera avec vos fichiers, peu importe où vous les avez placés.

w00t
la source
J'ai bien peur de ne pas être assez clair - je ne veux pas déplacer les dossiers vers un autre lecteur , je veux juste qu'ils soient hors de vue depuis la racine du dossier d'accueil (c'est-à-dire cachés sous un dossier 'Apple junk')
Art
0

Je ne vous suggérerais pas de déplacer l'intégralité de votre dossier de départ, il est préférable de créer des liens symboliques de vos dossiers vers un lecteur externe. Après cela, vous obtiendrez:

  1. Flexibilité - si quelque chose se produit avec votre disque dur externe (rappelez-vous que votre dossier de bibliothèque caché se trouve sur le lecteur principal si le disque dur est en panne, vous devrez faire quelque chose car il sera également en panne), vous pourrez commencer à le réparer à ce moment précis sans l'éteindre.
  2. Dans le cas où votre lecteur principal est SSD - lorsque votre dossier de départ se trouve sur votre lecteur principal, il se charge plus rapidement, alors qu'il serait externe.
  3. Si vous avez Mac Pro - vous pouvez définir pour le dossier de films un HD, pour le dossier de musique un autre HD ...
SABOND21
la source
1
Je suis désolé mais cette réponse est très vaguement liée à la question d'origine. En particulier, je ne souhaite pas déplacer le dossier d'accueil ni créer de liens symboliques.
Art
Cela ajoute encore de la valeur à la discussion, d'ailleurs je suis d'accord
Asier
0

J'ai ajouté un lecteur Transcend 256G dans l'emplacement d'extension et j'ai essayé ce processus mais il n'a PAS déplacé les données. Il A FAIT créer un nouveau profil avec tous les dossiers déplacés vers le lecteur d'extension MAIS j'ai dû déplacer manuellement toutes les données du SSD interne vers le nouvel emplacement. J'ai finalement obtenu ce que je voulais mais j'ai dû recréer tout le profil (compte de messagerie Outlook, préférences, etc.).

Marc A
la source