Как переместить домашнюю папку в linux
Next: Удаление файлов и каталогов Up: Работа с файлами Previous: Копирование файлов и каталогов Contents Index
Чтобы переместить файл в другое место или изменить его имя, используйте команду mv («move»). Она принимает два аргумента: имя файла или каталога для перемещения, а затем имя пути для перемещения. Если Вы перемещаете файл в каталог, в котором уже есть файл с таким именем, то он будет перезаписан.
Чтобы переместить файл `notes’ из текущего рабочего каталога в каталог `../play’, наберите:
$ mv notes ../play [Enter]
Если в родительском каталоге текущего каталога нет подкаталога `play’, эта команда переместит файл `notes’ в родительский каталог и переименует его в `play’.
Чтобы переместить файл или каталог, который не находится в текущем каталоге, укажите в качестве аргумента его полное имя и путь.
Чтобы переместить файл `/usr/tmp/notes’ в текущий рабочий каталог, введите:
$ mv /usr/tmp/notes . [Enter]
Чтобы переместить каталог, укажите путь к каталогу, который нужно переместить и путь к каталогу-приемнику.
Чтобы переместить каталог `work’ из текущего рабочего каталога в каталог `play’, введите:
$ mv work play [Enter]
Если каталог `play’ уже существует, mv поместит `work’ внутрь `play’ — эта команда не перезаписывает каталоги.
Переименование файла — это то же самое, что и его перемещение; просто укажите в качестве аргументов файл для переименования и его новое имя.
Чтобы переименовать файл `notes’ в `notes.old’, введите:
$ mv notes notes.old [Enter]
Alex Otwagin 2002-12-16
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.049 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Как поменять домашнюю директорию для пользователя linux командой usermod
У каждого пользователя в Unix есть своя домашняя папка, предназначенная для хранения данных пользователя в месте, доступном только для него. О том, как узнать домашнюю директорию любого пользователя можно прочитать по → этой ссылке. О том, где и как создаются записи о домашнем каталоге пользователя написано в → этой статье. О том, как поменять домашнюю папку пользователя по умолчанию в Linux → по этой ссылке. Все перечисленные сведения полезны и могут помочь ручками поправить путь до домашнего каталога пользователя, однако для его смены есть удобная команда linux — usermod . То, как с её помощью быстро поменять домашнюю директорию для пользователя и рассмотрим ниже.
Помощь по команде usermod в linux
Зная название команды, лично я лезу в подсказки операционной системе по ней. Чего и всем советую. =) Данный случай не является исключением. Сперва посмотрим на те опции, которые описаны в хэлпе:
root@server:~# usermod -h Usage: usermod [options] LOGIN Options: -c, --comment COMMENT new value of the GECOS field -d, --home HOME_DIR new home directory for the user account -e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE -f, --inactive INACTIVE set password inactive after expiration to INACTIVE -g, --gid GROUP force use GROUP as new primary group -G, --groups GROUPS new list of supplementary GROUPS -a, --append append the user to the supplemental GROUPS mentioned by the -G option without removing him/her from other groups -h, --help display this help message and exit -l, --login NEW_LOGIN new value of the login name -L, --lock lock the user account -m, --move-home move contents of the home directory to the new location (use only with -d) -o, --non-unique allow using duplicate (non-unique) UID -p, --password PASSWORD use encrypted password for the new password -R, --root CHROOT_DIR directory to chroot into -s, --shell SHELL new login shell for the user account -u, --uid UID new UID for the user account -U, --unlock unlock the user account -v, --add-subuids FIRST-LAST add range of subordinate uids -V, --del-subuids FIRST-LAST remove range of subordinate uids -w, --add-subgids FIRST-LAST add range of subordinate gids -W, --del-subgids FIRST-LAST remove range of subordinate gids -Z, --selinux-user SEUSER new SELinux user mapping for the user account
Как видно, опций у команды usermod более, чем достаточно, но для текущей цели (смены домашнего каталога пользователя) понадобится опция -d . Её и рассмотрим более подробно.
Как с помощью опции -d команды usermod в линукс поменять домашнюю директорию пользователя
Рассмотрим на живом примере. Создадим нового пользователя (как это сделать → подробно тут):
root@server:~# adduser newuser
Посмотрим на запись об этом пользователе в файле /etc/passwd . Она имеет следующий вид:
root@server:~# cat /etc/passwd . newuser:x:1000:1000. /var/www/newuser:/bin/bash .
Посмотрим содержимое этой домашней папки (она пустая):
root@server:~# ls -l /var/www/newuser total 0 root@server:~# tree /var/www/newuser /var/www/newuser 0 directories, 0 files
И теперь сменим домашнюю папку этому пользователю:
root@server:~# usermod -d /var/www/newuser2 newuser root@server:~# ls -l /var/www/newuser2 ls: cannot access '/var/www/newuser2': No such file or directory root@server:~# cat /etc/passwd . newuser:x:1000:1000. /var/www/newuser2:/bin/bash .
- Командой usermod -d /var/www/newuser2 newuser прописали папку /var/www/newuser2 в качестве домашней для пользователя newuser
- Но директория при этом не была создана. Это видно при попытке её прочитать: ls -l /var/www/newuser2
- Однако, запись в файле /etc/passwd была изменена.
Можно конечно создать эту папку вручную командой mkdir (читать тут), а потом прописать ей владельца и группу командой chown (читать тут), но проще и безболезненнее воспользоваться дополнительной опцией -m команды usermod . Важно, чтобы папка пользователя содержала хоть что-нибудь в себе. Даже просто пустой файл. Тогда и только тогда, новая папка будет создана и в неё будет перенесено содержимое старой папки.
Поэтому для того, чтобы поменять домашнюю директорию для пользователя linux, нужно воспользоваться командой usermod с опцией -md. При этом в папке пользователя должны храниться какие-нибудь данные.
Формат команды переноса:
usermod -md /путь_до_новой_домашней_папки username
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! 😉
Перенос папки /home с отдельного раздела назад в корневую папку
Спросите зачем?На харде два раздела,на одном Linux OpenSuse 12.3,а на втором домашняя папка,но я хочу установить на второй Windows,но не хотелось бы терять данные и иметь две рабочие оси Везде пишут,как перенести на отдельный раздел домашнюю папку,но еще пока не встречал ни одной статье, объясняющей,как именно можно перенести обратно в корневой раздел Вся надежда на форумчан,ноутбук не мой. Буду очень благодарен тем,кто последовательно выложит все необходимые команды для терминала,Именно команды,ибо из фразы «нужно размонтировать и заново смонтировать» я не извлеку ничего полезного Заранее спасибо:3 И если оффтоп тоже извините
TheGoshka
10.07.16 14:13:38 MSK
Буду очень благодарен тем,кто последовательно выложит все необходимые команды для терминала
Для начала покажи вывод команд
lsblk lvdisplay pvdisplay vgdisplay
anonymous
( 10.07.16 14:15:58 MSK )
mkdir -p /heroin
mv /home/* /heroin
mv /heroin /home
Reedych ★☆
( 10.07.16 14:21:43 MSK )
Ответ на: комментарий от anonymous 10.07.16 14:15:58 MSK
TheGoshka
( 10.07.16 14:31:13 MSK ) автор топика
Ответ на: комментарий от Reedych 10.07.16 14:21:43 MSK

Ненене. Надо уточнить, что делать такое надо зайдя из под рута (лучше консоль, но можно и в графику) или с загрузочного диска. Наживую переносить — не самая лучшая.
То есть, инструкция ТС. Заходишь тем или иным способом как root — в менеджере входа, либо с виртуальной консоли — потыкать Alt+Ctrl+F1..F12 и где будет консоль, ввести root и пароль. Из основного при этом надо выйти, а лучше перезагрузиться и зайти только в root.
Только после этого можно делать
После этого создаём где-нибудь в / директорию
cd / mkdir tmpdir/
Дальше копируем содержимое /home в неё
cp -R /home/* /tmpdir
Потом — размонтируем /home
umount /home
Затем перемещаем нашу содержимое нашей временной папки
mv /tmpdir/* /home
Дальше — открываем файл /etc/fstab. Лучше всего это сделать через редактор nano
nano /etc/fstab
Помощь по использованию будет на экране. Находим там все строки, где упоминается /home и закомментировываем (ставим в начало строки символ #) их. Это нужно, чтобы после перезагрузки система не пыталась примонтировать туда старый раздел с /home.
Ну, потом можно удалить директорию /tmpdir
rmdir /tmpdir
Если ругается — значит в директории что-то ещё осталось, идём сюда выяснять причину. Ну и всё, перезагрузка. Если всё работает, кидаем сюда на всякий случай вывод (лучше всё же скопировать, а не картинкой) команды
cat /proc/mounts
Если всё прошло хорошо, с освободившимся разделом можно делать, что душе угодно — например, форматировать и ставить туда Windows.
Все вопросы сюда 🙂
Falcon-peregrinus ★★★★★
( 10.07.16 14:45:16 MSK )
Последнее исправление: Falcon-peregrinus 10.07.16 14:46:54 MSK (всего исправлений: 2)
Ответ на: комментарий от Falcon-peregrinus 10.07.16 14:45:16 MSK
Спасибо за поправку
Reedych ★☆
( 10.07.16 14:51:11 MSK )
Ответ на: комментарий от TheGoshka 10.07.16 14:31:13 MSK

А просто скопировать из терминала или перенаправить в файл не вариант?
rezedent12 ☆☆☆
( 10.07.16 16:42:54 MSK )
Ответ на: комментарий от Falcon-peregrinus 10.07.16 14:45:16 MSK
Огромное спасибо за помощь))) Только возник вопрос по установке винды Полазив на разным форумам,я обнаружил,что некоторые люди предупреждают меня о том,что установщик винды грубо стирает grub,после чего пропадает Linux Что нужно сдлеать,чтобы такой ситуации не возникло у меня.Очень важно,ибо ноутбук рабочий,поэтому у меня на все есть только одна попытка)
TheGoshka
( 10.07.16 17:20:17 MSK ) автор топика
Ответ на: комментарий от TheGoshka 10.07.16 17:20:17 MSK

Линукс не пропадает, просто затирается загрузчик, ответственный за передачу управления системе. Избежать этого никак нельзя — виндовый загрузчик ничего не знает (и не хочет знать) про Linux. А вот линуховый GRUB как раз отлично видит Windows. Так что нужно перед установкой винды записать себе куда-нибудь загрузочный диск (Live-CD) или то же самое на флешку (Live-USB) и после установки Windows восстановить GRUB. Это сделать легко, инструкций по всему интернету много. Из под винды порекомендовал бы использовать для этой цели Rufus.
Если использовать Ubuntu в качестве загрузочного диска, то вот инструкция — http://help.ubuntu.ru/wiki/boot_repair . Сам не проверял, но должно работать и достаточно подробная.
Falcon-peregrinus ★★★★★
( 10.07.16 17:33:54 MSK )
Последнее исправление: Falcon-peregrinus 10.07.16 17:34:42 MSK (всего исправлений: 1)