Переместить папки «Изображения», «Документы», «Фильмы» и т. Д.


23

Я хотел бы переместить папки, такие как «Изображения», «Документы», «Фильмы», в папку, отличную от папки по умолчанию, в корневой каталог домашнего расположения пользователя, предпочтительно в подпапку в домашней папке того же пользователя. Например, пользователь / Music будет переходить к пользователю / stuff / Music.

Я бы предпочел не создавать символические ссылки на перемещенные папки, а полностью изменить поведение системы, чтобы он знал, где найти эти папки.

Пожалуйста, имейте в виду, что я не хочу перемещать домашнюю папку пользователя, а только те, например, перемещать их в / Users / [имя пользователя] / stuff /, так как я не люблю, чтобы они загрязняли домашнюю папку.


Лучший способ - полностью переместить весь домашний каталог . Просто сделал это, чтобы освободить место на моем SSD - работал отлично.
Дэн

1
Спасибо, Дэн, но я на самом деле не хочу перемещать мою домашнюю папку, только те, которые я упомянул, я бы предпочел, чтобы они находились в папке «Документы» или в какой-то другой папке, которая, в свою очередь, находится под домом пользователя. Мне не очень нравится, как эти папки загрязняют домашний каталог своим присутствием.
Art

1
Если вам не нравится их присутствие и вы им не пользуетесь, вы chflags hidden <folder>можете скрыть любую из них в Finder. Это не переместит их, конечно, но мне нравится, например, скрывать Publicпапки.
Дэн

Я бы на самом деле хотел бы сохранить их , используя, Дэн, хотя их перемещения.
Art

Ответы:


12

Искусство,

У вас это работает успешно?

Вы пытались скрыть папки, используя что-то вроде:

chflags hidden ~/Documents 

Затем создать ссылку на него, например (в терминале):

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

Я полагаю, что это скроет папку ~ / Documents от Finder, но она все еще будет там, поэтому все, что пишет в нее, будет работать нормально. Кроме того, вы увидите ссылку в ~ / вещи ...


Это на самом деле звучит очень многообещающе, я попробую, спасибо, мужик!
Искусство

Хотя они по-прежнему видны в терминале после «ls -la», я рад, что вы предложили это решение, которое охватит около 90% случаев для меня. Спасибо!
Искусство

1
Это прекрасно, спасибо. Было бы еще круче, если бы вы могли как-то переименовать их ... если бы имена папок по умолчанию начинались со строчной буквы, и я бы, вероятно, оставил их рядом
Натан Бич

1
Это не скрывает это от лс. Как это можно сделать?
Иван Перес

Чтобы показать:chflags nohidden ~/Documents
Денис Голомазов

8

Я лично использую символические ссылки для перемещения всех этих каталогов под моей учетной записью. Я вошел в систему как пользователь root и создал ссылку на все мои каталоги «Документы», «Фильмы» и т. Д. И переместил их на внешний диск.

Mac OS замечательно видит изменения и автоматически указывает на эти каталоги (на внешнем диске), и у меня не было проблем с этим.

Существует системная служба с именем SymbolicLinker, которая добавит в ваше контекстное меню опцию, которая создаст для вас символическую ссылку.

введите описание изображения здесь

Как включить пользователя root

OS X Lion

  1. В меню Apple выберите «Системные настройки» ....
  2. В меню «Вид» выберите «Пользователи и группы».
  3. Нажмите на замок и войдите в систему под учетной записью администратора.
  4. Нажмите Параметры входа ....
  5. Нажмите кнопку «Изменить ...» или «Присоединиться ...» в правом нижнем углу.
  6. Нажмите кнопку «Открыть каталог Utility ...».
  7. Нажмите на замок в окне утилиты каталогов.
  8. Введите имя учетной записи администратора и пароль, затем нажмите OK.
  9. Выберите Enable Root User в меню Edit.
  10. Введите пароль пользователя root, который вы хотите использовать, в поля «Пароль» и «Проверка», затем нажмите «ОК».

Mac OS X v10.6.x

  1. В меню Apple выберите «Системные настройки» ....
  2. В меню «Вид» выберите «Учетные записи».
  3. Нажмите на замок и авторизуйтесь с учетной записью администратора.
  4. Нажмите Параметры входа ....
  5. Нажмите кнопку «Изменить ...» или «Присоединиться ...» в правом нижнем углу.
  6. Нажмите кнопку «Открыть каталог Utility ...».
  7. Нажмите на замок в окне утилиты каталогов.
  8. Введите имя учетной записи администратора и пароль, затем нажмите OK.
  9. Выберите Enable Root User в меню Edit.
  10. Введите пароль пользователя root, который вы хотите использовать, в поля «Пароль» и «Проверка», затем нажмите «ОК».

Это крутой трюк. Я просто подумал, что было бы лучше, если бы вы могли немного расшириться для не очень влиятельных пользователей? Ссылка о том, как включить корневую учетную запись, объяснение того, как запустить эту системную службу, очень поможет.
Дэн

1
Когда вы загрузите расширение службы, появятся инструкции по его установке. По сути, вы просто копируете SymbolicLinker.serviceв /Library/Services/, затем выходите из системы и снова
входите в нее

Отредактированный ответ с инструкциями о том, как включить root-пользователя для Lion и Snow.
WrightsCS

Хорошо написанный ответ, но я должен согласиться с другими пользователями, что вы будете возиться с вещами, с которыми Mac OS X, по понятным причинам, не хочет, чтобы вы возились, и вы, возможно, излишне усложняете структуру вашей системы. Подумайте об этом: собирается ли Time Machine создавать резервные копии этих папок и их содержимого сейчас, когда вы переместили их на другой жесткий диск? Тебе лучше подтвердить это.

2
@WheatWilliams да, на самом деле, Time Machine довольно хорошо поддерживает эти каталоги для меня.
WrightsCS

5

Вы можете переместить всю свою учетную запись пользователя (домашнюю) папку, выполнив следующие действия:

  1. Нажмите «Пользователи и группы» в «Системных настройках».
  2. Разблокируйте панель (значок замка).
  3. Щелкните правой кнопкой мыши по выбранному пользователю и выберите «расширенный» вариант из списка.
  4. Вас встретит следующий экран:

введите описание изображения здесь

Оттуда просто выберите «домашний каталог», в который вы хотите переместить профиль, затем перезагрузите компьютер.

Примечание. При этом будет перемещено все содержимое, найденное в разделе /Users/{your user}/(Загрузки, Документы, Музыка и т. Д.).


@chsum: Вы уверены, что фактическое содержимое документов, изображений и т. д. перемещено? Я бы предположил, что OSX просто создает новую структуру домашнего каталога в указанном месте, после чего контент должен быть перемещен самим пользователем.
nohillside

cksum, из того, как я читаю вопрос, спрашивающий не хочет перемещать весь каталог своей домашней папки или учетную запись пользователя. Он хочет сохранить свой домашний каталог, но переместить определенные системные подпапки из-под своей домашней папки на удаленные тома или места за пределами своей домашней папки по соображениям свободного места на диске.

2
Просто убедитесь , что если вы действительно хотите сохранить содержимое, сначала скопируйте домашнюю папку в любое место , вы предпочитаете, а затем изменить этот параметр в соответствии с новым расположением. Простое изменение этого параметра не копирует файлы - вы начнете чистить снова.
Дэн,

Кроме того, если это новое место - другой диск, обязательно создайте вторую учетную запись администратора в случае отказа нового диска, на котором находится ваша домашняя папка.
Fomite

Спасибо cksum, но я не хочу перемещать мою домашнюю папку, только эти папки - мне просто не нравятся они, сидящие прямо под домом пользователя.
Art

4

Ну, короткий ответ: нет , потому что от этого зависит слишком много вещей. Это также причина, по которой Apple решает затруднить переименование этих папок.

Если вы все равно хотите рискнуть, этот ответ на несколько связанный вопрос должен дать вам некоторые идеи.


Я добавил +1 к этому ответу, но я также должен сказать, что я полностью согласен с этим. Я понимаю ваше желание, но это плохая идея, и, вероятно, просто невозможная, потому что операционная система просто воссоздаст их в любом случае, если только вы не начнете копаться в вещах, с которыми не стоит копаться.
TJ Luoma

Могу ли я не согласиться? Я просто без проблем переместил свою домашнюю папку по этой ссылке, чтобы сэкономить место на диске SSD. Да, вы не можете перемещать отдельные папки, но ваше сообщение звучит так, как будто перемещение всей домашней папки сделать сложно, хотя на самом деле это не так.
Дэн

Если есть причина, по которой я этого еще не вижу - есть способ, которым вы можете быть гибкими с этими именами - например, в Windows вы всегда можете ссылаться на эти папки, используя псевдонимы, например,% System% и т. Д. Выглядит как стандартная односторонняя тупость с логотипом Apple для меня.
Art

Дэн, переместить всю домашнюю папку легко (как уже указывалось в другом ответе), переименовать определенные имена папок (что кажется первоначальным вопросом) - нет.
холме

6
Я бы -100 этот ответ, если бы мог. На своем компьютере я делаю все, что хочу! В том числе удаление ненужных каталогов.
Девин

2

Вы можете попробовать добавить следующий код Bash в ваш ~ / .bash_profile. Он изменяет lsкоманду при запуске, $HOMEчтобы не показывать определенные папки («Музыка», «Фильмы», «Изображения» и т. Д.).

Все, что это делает, это меняет то, что lsотображается в $HOMEкаталоге. Это на самом деле не удаляет папки. Например, если вы это сделаете, ls -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"

Скриншоты скрипта в действии: Подкладка "ls" в действии Регулярное "лс"


Можете ли вы добавить некоторые объяснения о том, что делает ваш сценарий?
nohillside

Я не могу отозвать свой голос. Для любого будущего посетителя: этот скрипт не работает так, как хотелось бы.
Новичок

@Newb спасибо за ваш комментарий, я посмотрю сегодня
Роберт

@Newb сценарий работает нормально для меня, не могли бы вы объяснить вашу проблему более подробно? Как вы это установили?
Роберт

0

Просто переместите их куда хотите. Единственным важным является библиотека, а в остальном вы обычно можете выбирать, где приложения размещают вещи.

Есть только несколько дрянных приложений, которые не позволят вам поменять, где они пишут вещи, на ум приходят приложения Microsoft и Adobe. Они будут помещать файлы в ~ / Documents. Все остальное будет работать с вашими файлами независимо от того, где вы их положили.


Боюсь, я не прояснил себя достаточно - я не хочу перемещать папки на другой диск , я просто хочу, чтобы они были вне поля зрения корневого каталога (то есть скрыты в какой-то папке «Apple Junk»)
Art

0

Я бы не советовал вам переносить всю домашнюю папку, вместо этого лучше сделать символические ссылки ваших папок на внешний диск. После этого вы получите:

  1. Гибкость - если что-то случится с вашим внешним HD (помните, что ваша скрытая папка «Библиотека» находится на главном диске, если жесткий диск не работает, вам нужно будет что-то делать, потому что он тоже не работает), вы сможете начать восстанавливать его прямо в этот момент не выключая его.
  2. В случае, если ваш основной диск SSD - когда ваша домашняя папка находится на вашем главном диске, она загружается быстрее, чем на внешнем.
  3. Если у вас Mac Pro - вы можете установить для папки с фильмами один HD, для папки с музыкой другой HD ...

1
Извините, но этот ответ очень слабо связан с исходным вопросом. Я специально не хочу перемещать домашнюю папку или создавать символические ссылки.
Art

Это все еще добавляет ценность обсуждению, кроме того, я согласен
Asier

0

Я добавил диск Transcend 256G в слот расширения и попробовал этот процесс, но он НЕ перемещал данные. Это ДЕЙСТВИТЕЛЬНО создало новый профиль со всеми папками, перемещенными на диск расширения, НО мне пришлось вручную переместить все данные с внутреннего SSD на новое место. В конце концов я получил то, что хотел, но мне пришлось воссоздать весь профиль (учетная запись электронной почты Outlook, настройки и т. Д.).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.