Sposta le cartelle "Immagini", "Documenti", "Film" ecc


23

Vorrei spostare cartelle come 'Immagini', 'Documenti', 'Film' in un diverso da quello predefinito sotto la radice della posizione iniziale dell'utente, preferibilmente in una sottocartella sotto la cartella principale dello stesso utente. Ad esempio, l'utente / Musica andrebbe su utente / cose / musica.

Preferirei non creare collegamenti simbolici alle cartelle spostate, ma cambiare del tutto il comportamento del sistema, quindi sa dove trovare quelle cartelle.

Tieni presente che non voglio spostare la cartella principale dell'utente, ma solo quelli, ad esempio, spostali in / Utenti / [nome utente] / cose / poiché non mi piacciono inquinare la cartella principale lì.


Il modo migliore è spostare l'intera directory home del tutto . L'ho fatto solo per liberare spazio sul mio SSD: ha funzionato perfettamente.
Dan,

1
Grazie Dan, ma in realtà non voglio spostare la mia cartella home, solo quelli che ho citato, preferirei averli in "Documenti" o in qualche altra cartella, che a sua volta si trova sotto la casa dell'utente. Non mi piace molto come quelle cartelle inquinano la home directory con la loro presenza.
Art

1
Se non ti piace la loro presenza e non li usi, pubblica un numero chflags hidden <folder>per nasconderli nel Finder. Questo non li sposterà ovviamente, ma mi piace nascondere la Publiccartella, per esempio.
Dan,

Vorrei davvero continuare a usarli, Dan, anche se spostarli.
Art

Risposte:


12

Arte,

Hai funzionato con successo?

Hai provato a nascondere le cartelle usando qualcosa come:

chflags hidden ~/Documents 

Quindi creando un collegamento come (nel Terminale):

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

Credo che questo nasconderà la cartella ~ / Documents dal Finder ma sarà ancora lì, quindi qualsiasi cosa scrivendo funzionerà correttamente. Inoltre vedrai il link in ~ / stuff ...


Sembra davvero molto promettente, ci proverò, grazie amico!
Art

Sebbene siano ancora visibili nel terminale dopo 'ls -la', sono felice che tu abbia suggerito questa soluzione che coprirà per me circa il 90% dei casi. Grazie!
Art

1
Questo è perfetto, grazie. Sarebbe comunque più interessante se tu potessi in qualche modo rinominarli ... se i nomi delle cartelle predefiniti iniziassero con lettere minuscole e probabilmente li terrei in giro.
Nathan Beach,

1
Questo non lo nasconde a ls. Come può essere fatto?
Ivan Perez, il

Per scoprire:chflags nohidden ~/Documents
Dennis Golomazov il

8

Uso personalmente i collegamenti simbolici per spostare tutte quelle directory nel mio account utente. Ho effettuato l'accesso come root e ho collegato tutti i miei elenchi "Download di documenti" Film ", ecc. E li ho spostati su un disco esterno.

Mac OS vede bene le modifiche e punta automaticamente a quelle directory (sul disco esterno) e non ho avuto problemi a farlo in questo modo.

C'è un servizio di sistema chiamato SymbolicLinkerche aggiungerà un'opzione al menu contestuale che creerà un collegamento simbolico per te.

inserisci qui la descrizione dell'immagine

Come abilitare l'utente root

OS X Lion

  1. Dal menu Apple, scegli Preferenze di Sistema ....
  2. Dal menu Visualizza, seleziona Utenti e gruppi.
  3. Fare clic sul lucchetto e autenticarsi come account amministratore.
  4. Fai clic su Opzioni di accesso ....
  5. Fai clic sul pulsante "Modifica ..." o "Partecipa ..." in basso a destra.
  6. Fai clic sul pulsante "Apri Directory Directory ...".
  7. Fai clic sul lucchetto nella finestra Directory Utility.
  8. Immettere un nome account e una password amministratore, quindi fare clic su OK.
  9. Scegli Abilita utente root dal menu Modifica.
  10. Immettere la password di root che si desidera utilizzare nei campi Password e Verifica, quindi fare clic su OK.

Mac OS X v10.6.x

  1. Dal menu Apple, scegli Preferenze di Sistema ....
  2. Dal menu Visualizza, selezionare Account.
  3. Fai clic sul lucchetto e esegui l'autenticazione con un account amministratore.
  4. Fai clic su Opzioni di accesso ....
  5. Fai clic sul pulsante "Modifica ..." o "Partecipa ..." in basso a destra.
  6. Fai clic sul pulsante "Apri Directory Directory ...".
  7. Fai clic sul lucchetto nella finestra Directory Utility.
  8. Immettere un nome account e una password amministratore, quindi fare clic su OK.
  9. Scegli Abilita utente root dal menu Modifica.
  10. Immettere la password di root che si desidera utilizzare nei campi Password e Verifica, quindi fare clic su OK.

Questo è un bel trucco. Ho solo pensato che sarebbe stato più bello se tu potessi espandersi un po 'per utenti non così esperti? Un link su come abilitare l'account root, una spiegazione su come avviare questo servizio di sistema sarebbe di grande aiuto.
Dan,

1
Quando scarichi l'estensione del servizio, ci saranno le istruzioni su come installarlo. In pratica, basta copiare SymbolicLinker.serviceper /Library/Services/poi disconnettersi e accedere nuovamente.
WrightsCS

Risposta modificata con istruzioni su come abilitare l'utente root per Lion e Snow.
WrightsCS

Risposta ben scritta, ma devo essere d'accordo con altri utenti sul fatto che si scherza con cose che Mac OS X, per una buona ragione, non vuole che tu faccia confusione, e potresti complicare inutilmente la struttura del tuo sistema. Pensa a questo: Time Machine eseguirà il backup di queste cartelle e dei loro contenuti ora che le hai spostate su un altro disco rigido? Faresti meglio a confermarlo.

2
@WheatWilliams sì, in realtà Time Machine esegue il backup di queste directory abbastanza bene per me.
Wrights CS

5

È possibile spostare l'intera cartella dell'account utente (home) utilizzando i seguenti passaggi:

  1. Fai clic su Utenti e gruppi in Preferenze di Sistema.
  2. Sblocca il riquadro (icona di blocco).
  3. Fare clic con il tasto destro del mouse sull'utente selezionato e selezionare l'opzione "avanzata" dall'elenco.
  4. Sarai accolto dalla seguente schermata:

inserisci qui la descrizione dell'immagine

Da lì, seleziona semplicemente la "home directory" in cui desideri spostare il profilo, quindi riavvia.

Nota: questo sposta tutti i contenuti presenti in /Users/{your user}/(Download, Documenti, Musica, ecc.)


@chsum: sei sicuro che il contenuto reale di documenti, immagini, ecc. sia stato spostato? Suppongo che OSX crei solo una nuova struttura di directory home nella posizione indicata, il contenuto deve essere spostato dall'utente stesso in seguito.
Nohillside

cksum, dal modo in cui ho letto la domanda, il richiedente non vuole spostare l'intera directory della cartella principale o l'account utente. Vuole conservare la sua directory home ma spostare determinate sottocartelle definite dal sistema da sotto la sua cartella home a volumi o luoghi remoti all'esterno della sua cartella home per motivi di spazio su disco.

2
Basta fare in modo che se non vuole mantenere il contenuto, prima copiare la cartella home a qualsiasi posizione che si preferisce, quindi modificare questa impostazione in base alla nuova posizione. La semplice modifica di questa impostazione non copia alcun file: ricomincerai da capo.
Dan,

Inoltre, se quel nuovo posto è un'unità diversa, assicurati di creare un secondo account amministratore di emergenza nel caso in cui la nuova unità in cui si trova la cartella principale si guasta.
Fomite,

Grazie cksum, ma non voglio spostare la mia cartella home, solo queste cartelle - non mi piacciono quelle che siedono direttamente sotto la casa dell'utente.
Art

4

Bene, la risposta breve è: No , perché troppe cose dipendono da questo. Questo è anche il motivo per cui Apple sceglie di rendere difficile rinominare queste cartelle.

Se vuoi comunque correre il rischio, questa risposta a una domanda in qualche modo correlata dovrebbe darti alcune idee.


Ho fatto +1 su questa risposta, ma devo anche dire che sono fortemente d'accordo con questo. Capisco il tuo desiderio, ma è una cattiva idea, e probabilmente semplicemente impossibile perché il sistema operativo li ricreare comunque, a meno che non ti metti in mezzo a cose che non dovresti confondere.
TJ Luoma,

Posso non essere d'accordo? Ho semplicemente spostato senza problemi la mia cartella principale usando questo riferimento in modo da poter risparmiare un po 'di spazio sul disco SSD. Sì, non puoi spostare singole cartelle ma il tuo post suona come se lo spostamento di tutta la cartella principale fosse difficile, in realtà non lo è.
Dan,

Se c'è un motivo per cui non lo vedo ancora - c'è un modo in cui puoi essere flessibile con questi nomi - ad esempio in Windows puoi sempre fare riferimento a quelle cartelle usando gli alias, cioè% System% ecc. Sembra testardaggine con una sola idea con il logo Apple per me.
Art

Dan, spostare l'intera cartella home è facile (come già sottolineato in un'altra risposta), non è rinominare nomi di cartelle specifiche (che sembrano essere la domanda originale).
Nohillside

6
Vorrei -100 questa risposta se potessi. Sul mio computer faccio quello che voglio! Compresa la rimozione delle directory inutili.
Devin,

2

Puoi provare ad aggiungere il seguente codice Bash al tuo ~ / .bash_profile. Cambia il lscomando quando eseguito $HOMEper non mostrare determinate cartelle ("Musica", "Film", "Immagini", ecc.).

Tutto ciò che fa è cambiare ciò che lsviene visualizzato nella $HOMEdirectory. In realtà non elimina le cartelle. Ad esempio, se lo fai ls -lvedrai che le cartelle sono ancora 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"

Schermate della sceneggiatura in azione: Lo "sh" in azione 'Ls' regolare


Puoi aggiungere qualche spiegazione su cosa fa il tuo script?
Nohillside

Non riesco a ritirare il mio voto. Per ogni futuro visitatore: questo script non funziona come desiderato.
Newb,

@Newb grazie per il tuo commento, darò un'occhiata oggi
Robert

@Newb la sceneggiatura funziona bene per me, potresti spiegare il tuo problema in modo più dettagliato? Come lo hai installato?
robert,

0

Sposta semplicemente dove vuoi. L'unica cosa importante è Libreria e per il resto puoi normalmente scegliere dove posizionare le app.

Ci sono solo poche app scadenti che non ti permetteranno di cambiare il modo in cui scrivono cose, mi vengono in mente le app Microsoft e Adobe. Metteranno i file in ~ / Documents. Tutto il resto funzionerà con i tuoi file, indipendentemente da dove li metti.


Temo di non essermi chiarito abbastanza: non voglio spostare le cartelle su un'altra unità , le voglio solo nascoste dalla radice della cartella principale (ovvero nascoste sotto una cartella "Apple junk")
Arte

0

Non ti suggerirei di spostare l'intera cartella home, invece è meglio creare collegamenti simbolici delle tue cartelle su disco esterno. Successivamente otterrai:

  1. Flessibilità - se succede qualcosa con il tuo HD esterno (ricorda che la tua cartella Libreria nascosta si trova sull'unità principale se l'HDD è inattivo, dovrai fare qualcosa perché anche questo sarà inattivo), sarai in grado di iniziare a ripararlo proprio in quel momento senza spegnerlo.
  2. Nel caso in cui l'unità principale sia SSD, quando la cartella principale si trova sull'unità principale si carica più velocemente, quando si troverebbe su un dispositivo esterno.
  3. Se hai Mac Pro, puoi impostare per la cartella dei filmati un HD, per la cartella della musica un altro HD ...

1
Mi dispiace ma questa risposta è molto vagamente correlata alla domanda originale. In particolare, non voglio spostare la cartella principale o creare collegamenti simbolici.
Art.

Aggiunge ancora valore alla discussione, inoltre sono d'accordo
Asier,

0

Ho aggiunto un'unità Transcend 256G nello slot di espansione e ho provato questo processo ma NON ha spostato i dati. DID ha creato un nuovo profilo con tutte le cartelle spostate nell'unità di espansione, MA ho dovuto spostare manualmente tutti i dati dall'unità SSD interna nella nuova posizione. Alla fine ho ottenuto quello che volevo, ma ho dovuto ricreare l'intero profilo (account e-mail di Outlook, preferenze, ecc.).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.