Где находится папка home ubuntu

Обновлено: 07.07.2024

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

Где хранится системная информация о домашних каталогах пользователей в Linux

При создании нового пользователя в Unix-системах, каждому пользователю обязательно домашний каталог. О том, где и как располагается запись о домашней директории пользователя в файле /etc/passwd , подробно описано в → этой статье. Для понимания вопроса сейчас требуется знать, что это предпоследнее (шестое) поле home в строке записи пользователя в этом файле:

login : password : UID : GID : GECOS : home : shell

Поэтому, можно в цикле обходить этот файл в поиске записи нужного пользователя, разбивать строку на подстроки и брать значение 6-го поля. Но это слишком длинный способ. Есть короче и проще. ;)

Команда pwd в Unix

Команда pwd выводит текущий путь к директории, в которой находится пользователь. Выполнив команду pwd , получим этот путь:

У пользователя root в Unix по умолчанию домашней директорией является /root .

Оператор

(тильда) в Debian

Другой способ того, как определить домашнюю директорию текущего пользователя. Достаточно посмотреть значение оператора

Результат не сильно отличается от предыдущего, но к

можно добавлять дополнительные пути к папкам и/или файлам пользователя, используя её как точку отсчёта в домашней директории пользователя. Что сильно облегчает работу с написанием относительных путей (относительно не только корня файловой системы, но и корня домашней папки пользователя).

Ещё одним полезным свойством

является то, что с помощью этого оператора можно получить путь до домашней директории любого пользователя в системе (если конечно пользователь есть в системе, то есть прописан в файле /etc/passwd , например посмотреть содержимое домашнего каталога пользователя ftp можно так, поставив перед ним тильду

А теперь посмотреть содержимое этого файла:

Ну и то, к чему мы стремились: посмотреть путь к домашней директории пользователя:

Так гораздо удобнее, чем парсить и разбирать файл /etc/passwd . За нас всю эту работу делает операционная система! ;)

Изображение пользователя Mike.

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

- Корневая файловая система специфична для каждой машины (обычно она хранится на локальном диске, хотя это мог бы быть ramdisk или сетевой диск) и содержит файлы, которые являются необходимыми для загрузки системы. Содержимого корневой файловой системы достаточно для загрузки в однопользовательском режиме. Именно эта файловая система используется при загрузке до тех пор, пока не будут смонтированы другие файловые системы. Она также содержит инструментальные средства для ремонта поврежденной системы и для восстановления потерянных файлов из резервных копий.

- Файловая система /usr содержит все команды, библиотеки, man-страницы, исходные тексты и другие неизменяемые файлы, необходимые для нормальной работы системы. Никакие файлы в /usr не должны быть специфическими для любой конкретной машины, и при этом они не должны измениться при нормальном использовании. Это позволяет файлам быть разделенными по сети, что может быть практично, так как это сохраняет дисковое пространство (могут легко иметься сотни мегабайт в /usr) и упрощает администрирование (только машина, на которой хранится /usr, должна быть изменена при модификации прикладной программы, а не каждая машина отдельно). Даже если файловая система находится на локальном диске, она может быть установлена только для чтения, что уменьшит возможность искажения в случае отказа.

- Файловая система /var содержит файлы, которые изменяются в ходе работы системы. Например, там лежат каталоги буферов для почты, новостей, печати и т.п., файлы протоколов, форматированных man-страниц и временные файлы.

- Файловая система /home содержит все домашние каталоги пользователей системы, то есть, все реальные данные системы. Отделение пользовательских каталогов от системы упрощает резервирование данных. Если пользователей много, эта файловая система может быть разделена на несколько (например, /home/students и /home/teacher).

Хотя различные части выше были названы файловыми системами, это не значит, что они фактически находятся на отдельных дисках. Они могут храниться на одном диске, если речь идето небольшом сервере или личном однопользовательском компьютере. Дерево каталогов может быть также разделено по-другому, в зависимости от того, насколько большие диски использованы, и как распределено место на них для различных целей, тем не менее, важно, чтобы все стандартные имена работали; даже если, скажем, /var и /usr фактически на том же самом разделе, имена /usr/lib/libc.a и /var/log/messages должны работать, например, перемещая файлы из /var в /usr/var, и делая /var ссылкой на /usr/var.

Структура файловой системы в Unix группирует файлы по их назначению, то есть, все команды находятся в одном месте, все файлы данных в другом, документация в третьем и так далее. Альтернативный вариант группировал файлы согласно программе, которой они принадлежат, то есть, все Emacs-файлы были бы в одном каталоге, весь TeX в другом, и так далее. Проблема с последним подходом состоит в том, что это делает трудным совместно использовать файлы (каталог программ часто содержит статические, общие, изменяющиеся и личные файлы), и иногда даже находить файлы, например, man-страницы в огромном числе мест, благодаря чему поиск их программой просмотра сильно осложняется.

Корневая файловая система

Файловая система root должна быть небольших размеров, так как она содержит важные файлы и команды. Чем меньше объем файловой системы и чем реже она подлежит изменениям, тем меньше вероятность ее повреждения. Если система root повреждена, то обычно это означает, что начальная загрузка компьютера невозможна (кроме отдельных методов, например при помощи дискет).

Файловая система дистрибутива имеет архитектуру классической файловой системы ОС Linux с единым корневым каталогом, обозначаемым символом обратной косой черты ("слэш") — /.

Ниже приведено описание основных каталогов верхнего уровня.

/bin - В этом каталоге хранятся основные команды, необходимые пользователю для работы в системе. Например, такие как командные оболочки и команды файловой системы (ls, cp и т.д.). Каталог /bin обычно не изменяется после установки. Если изменяется, то обычно лишь при обновлениях пакетов программ, предоставленных разработчиками операционной системы.

/boot - В этом каталоге хранятся файлы, используемые загрузчиком ОС — LInux LOader (LILO). Этот каталог так же практически не изменяется после установки.

/dev - В этом каталоге размещены описания устройств системы. В Linux всё рассматривается, как файл, даже различные устройства, такие как последовательные порты, жёсткие диски и сканеры. Для получения доступа к определённому устройству, необходимо чтобы существовал специальный файл, называемый device node. Все эти файлы находятся в каталоге /dev. Аналогично устроено большинство UNIX-подобных операционных систем.

/etc - Этот каталог содержит файлы настроек: всё, от конфигурационных файлов системы X Window, базы данных пользователей и до стартовых сценариев.

/home - В этом каталоге размещены домашние каталоги пользователей. Linux является многопользовательской системой и каждому пользователю присваивается имя и уникальный каталог для персональных файлов. Этот каталог называется "home" (домашним) каталогом пользователя.

/lib - В этом каталоге находятся системные библиотеки, необходимые для основных программ: библиотека C, динамический загрузчик, библиотека ncurses, модули ядра и другое.

/lib/modules - Подгружаемые модули для ядра (например, сетевые драйверы или поддержка дополнительных файловых систем).

/lost+found - В этом каталоге сохраняются восстановленные части файловой системы. При загрузке системы происходит проверка файловых систем на наличие ошибок. Для исправления ошибок файловой системы запускается программа fsck.

/mnt - Этот каталог предоставляется как временная точка монтирования для жёстких дисков, дискет, компакт-дисков или отключаемых устройств.

/opt - В этом каталоге размещаются дополнительные пакеты программ. Особенность Linux в том, что все пакеты программ, устанавливаются в этот каталог, например /opt/<программный пакет>. В последствии если этот пакет больше не будет нужен, то достаточно всего лишь удалить соответствующий каталог. В дистрибутивах SlackWare некоторые программы изначально поставляются в каталоге /opt (например, KDE - в /opt/kde).

/proc - Это специальный каталог не входящий в файловую систему. Каталог /proc представляет собой виртуальную файловую систему, которая предоставляет доступ к информации ядра. Различная информация, которую ядро может сообщить пользователям, находится в "файлах" каталога /proc. Например, в файле /proc/modules находится список загруженных модулей ядра. А в файле /proc/cpuinfo — информация о процессоре компьютера.

/root - Это домашний каталог администратора, вместо /home/root. Это потому, что каталог /home может находиться в разделе, отличном от корневого (/) и если по какой-то причине /home не может быть подключён, то пользователь root вынужден будет войти в систему, чтобы решить проблему. И если его домашний каталог на другом диске, то это усложнит вход в систему.

/sbin - В этом каталоге хранятся основные программы, выполняемые пользователем root а так же программы, выполняемые в процессе загрузки. Обычные пользователи не могут пользоваться этими программами.

/tmp - Временное хранилище данных. Все пользователи имеют права чтения и записи в этом каталоге.

/usr - Это один из самых больших каталогов в системе. Практически всё остальное расположено здесь. Программы, документация, исходный код ядра и система X Window. Именно в этот каталог, чаще всего, устанавливаются программы.

/var - В этом каталоге хранятся системные лог-файлы, кэш-файлы и файлы-замки программ. Это каталог для часто меняющихся данных.

Каталог /etc - В этом каталоге содержится довольно много различных конфигурационных файлов. Некоторые из них рассмотрены ниже. Здесь также располагаются файлы, используемые для конфигурирования сети.

/etc/rc.d - Командные файлы, выполняемые при запуске системы или при смене ее уровня выполнения.

/etc/passwd - База данных пользователей, в которой содержится информация об имени пользователя, его настоящем имени, личном каталоге, зашифрованный пароль и другие данные. Формат этого файла рассмотрен в man-руководстве к команде passwd.

/etc/fdprm - Таблица параметров флоппи-дисковода, определяющая формат записи. Устанавливается программой setfdprm.

/etc/fstab - Список файловых систем, автоматически монтируемых во время запуска системы командой mount -a (она запускается из командного файла /etc/rc.d/rc.S). Здесь также содержится информация о swaр-областях, автоматически устанавливаемых командой swapon -a.

/etc/group - Подобен файлу /etc/рasswd, только здесь содержится информация о группах, а не о пользователях.

/etc/inittab - Конфигурационный файл демона init.

/etc/issue - Выводится программой getty перед приглашением login. Обычно здесь содержится краткое описание системы.

/etc/magic - Конфигурационный файл команды file. Содержит описания различных форматов файлов, опираясь на которые эта команда определяет тип файла. Также см. руководства к magic и file.

/etc/mtab - Список смонтированных на данный момент файловых систем. Изначально устанавливается командными файлами при запуске, а затем автоматически модифицируется командой mount. Используется при необходимости получения доступа к смонтированным файловым системам (например, командой df).

/etc/shadow - Теневая база данных пользователей. При этом информация из файла /etc/рasswd перемещается в /etc/shadow, который недоступен для чтению никому, кроме пользователя root. Это усложняет взлом системы.

/etc/login.defs - Конфигурационный файл команды login.

/etc/printcap - То же, что и /etc/termcap, только используется при работе с принтером.

/etc/profile - Этот командный файл выполняется оболочкой Bourne Shell при запуске системы, что позволяет изменять системные установки для всех пользователей.

/etc/securetty - Определяет терминалы, с которых может подключаться к системе пользователь root. Обычно это только виртуальные консоли, что усложняет взлом системы через модем или сеть.

/etc/shells - Список рабочих оболочек. Команда chsh позволяет менять рабочую оболочку только на оболочки, находящиеся в этом файле. Процесс ftрd, предоставляющий работу с FTР, проверяет наличие оболочки пользователя в файле /etc/shells и не позволяет пользователю подключится к системе, пока ее имя не будет найдено в этом файле.

/etc/termcap - База данных совместимости терминалов. Здесь находятся escape-последовательности для различных типов терминалов, что позволяет работать программам на разных типах терминалов.

Каталог /dev - В этом каталоге находятся файлы устройств. Названия этих файлов соответствуют специальным положениям, рассмотренным в списке устройств (Device list). Файлы устройств создаются во время установки системы, а затем с помощью скрипта /dev/MAKEDEV. Файл /dev/MAKEDEV.local используется при создании локальных файлов устройств или ссылок (т.е. тех, что не соответствуют стандарту MAKEDEV).

Каталог /usr - Обычно файловая система /usr достаточно большая по объему, так как многие программы установлены именно здесь. Вся информация в каталоге /usr помещается туда во время установки системы. Отдельно устанавливаемые пакеты программ и другие файлы размещаются в каталоге /usr/local. Некоторые подкаталоги системы /usr рассмотрены ниже (для более подробной информации см. описание стандарта FSSTND).

/usr/X11R6 - Все файлы, используемые системой X Window. Для упрощения установки и администрирования, файлы системы X Window размещаются в отдельной структуре каталогов, которая находится в /usr/X11R6 и идентична структуре /usr.

/usr/bin - Практически все команды, хотя некоторые находятся в /bin или в /usr/local/bin.

/usr/sbin - Команды, используемые при администрировании системы и не предназначенные для размещения в файловой системе root (например, здесь находится большинство программ-серверов).

/usr/man, /usr/info, /usr/doc - Файлы man-руководств, документации GNU Info и другая документация.

/usr/include - Подключаемые файлы библиотек для языка С.

/usr/src - Исходные тексты программ, установленных в системе, в том числе ядра Linux.

/usr/lib - Неизменяемые файлы данных для программ и подсистем, включая некоторые конфигурационные файлы. Имя lib происходит от library (библиотека); первоначально библиотеки подпрограмм для программирования хранились в /usr/lib.

/usr/local - Здесь размещаются отдельно устанавливаемые пакеты программ и другие файлы.

Каталог /var - Эта файловая система содержит файлы, изменяемые при нормально работающей системе. Она специфична для каждого компьютера и не может быть разделена в сети между несколькими машинами.

/var/man/cat* - Временный каталог для форматируемых страниц руководств. Источником этих страниц является каталог /usr/man/man*. Некоторые руководства поставляются в отформатированном виде. Они располагаются в /usr/man/cat*. Остальные руководства перед просмотром должны быть отформатированы. Затем они помещаются в каталог /var/man и при повторном просмотре в форматировании не нуждаются. Каталог /var/man/cat часто очищается, таким же образом, как и прочие временные каталоги.

/var/lib - Файлы, изменяемые при нормальном функционировании системы.

/var/local - Изменяемые данные для программ, установленных в /usr/local (то есть, программы которые были установлены администратором системы). Обратите внимание, что даже в местном масштабе установленные программы должны использовать другие /var каталоги, например, /var/lock.

/var/lock - Файлы-защелки. Многие программы при обращении к какому-либо файлу устройства создают здесь файл-защелку. Другие программы при обращении к какому-либо устройству сначала проверяют наличие файла-защелки в этом каталоге, а затем уже производят доступ к этому устройству.

/var/run - Файлы, информация в которых соответствует действительности только до очередной перезагрузки системы. Например, файл /var/run/utmp содержит информацию о пользователях, подключенных к системе в данный момент.

/var/spool - Каталоги, используемые для хранения почты, новостей, очереди для принтера, а также для других задач. Для каждой задачи существует отдельный каталог в /var/spool, например, почтовые ящики пользователей хранятся в /var/spool/mail.

/var/tmp - Каталог для временных файлов, размер которых достаточно велик или время существования которых больше, чем в /tmp. Хотя администратор системы не должен бы держать очень уж старые файлы в /var/tmp.

Каталог /proc - Файловая система /proc является виртуальной и в действительности она не существует на диске. Ядро создает ее в памяти компьютера. Система /proc предоставляет информацию о системе (изначально только о процессах — отсюда ее название). Некоторые наиболее важные файлы и каталоги рассмотрены ниже. Более подробную информацию о структуре и содержании файловой системы /proc можно найти в man-руководстве к proc.

/proc/1 - Каталог, содержащий информацию о процессе номер 1. Для каждого процесса существует отдельный каталог в /proc, именем которого является его числовой идентификатор.

/proc/cpuinfo - Информация о процессоре, такая как тип процессора, его модель, производительность и др.

/proc/devices - Список драйверов устройств, встроенных в действующее ядро.

/proc/dma - Задействованные в данный момент каналы DMA.

/proc/filesystems - Файловые системы, встроенные в ядро.

/proc/interruрts - Задействованные в данный момент прерывания.

/proc/ioports - Задействованные в данный момент порты ввода/вывода.

/proc/kcore - Отображение физической памяти системы в данный момент. Размер этого файла точно такой же, как и у памяти компьютера, только он не занимает места в самой памяти, а генерируется на лету при доступе к нему программ. Однако при копировании этого файла куда-либо, он не займет места на диске.

/proc/ksyms - Таблица символов ядра.

/proc/loadavg - Ориентировочная загруженность системы.

/proc/meminfo - Информация об использовании памяти, как физической, так и swap-области.

/proc/modules - Список модулей ядра, загруженных в данный момент.

/proc/net - Информация о сетевых протоколах.

/proc/self - Символическая ссылка к каталогу процесса, пытающегося получить информацию из /proc. При попытке двух различных процессов получить какую-либо информацию в /proc, они получают ссылки на различные каталоги. Это облегчает доступ программ к собственному каталогу процесса.

/proc/stat - Различная статистическая информация о работе системы.

/proc/uptime - Время, в течение которого система находится в рабочем состоянии.

/proc/version - Версия ядра.

Хотя многие файлы имеют обычный текстовый формат, некоторые из них имеют собственный. Существует много программ, которые не только преобразуют такие файлы в формат, доступный для чтения, но и предоставляют некоторые функции. Например, программа free считывает файл /proc/meminfo и преобразует значения, указанные в байтах, в килобайты (а также предоставляет некоторую дополнительную информацию).

В этом каталоге хранятся основные команды операционной системы, такие как команды оболочки и команды файловой системы (ls, cp и т.д.).

Здесь хранятся образы ядер Linux и менеджер загрузки: grub, lilo и т.д.

Директория содержит файлы устройств, подключенные к операционной системе. В Linux вообще всё рассматривается, как файл, даже различные устройства, такие как принтеры, жёсткие диски, сканеры и т.д. Для получения доступа к определённому устройству, необходимо чтобы существовал специальный файл. Аналогично устроено большинство UNIX-подобных операционных систем.

В этой директории находится основная часть конфигурационных файлов самой операционной системы (настройки сети, список пользователей, групп и т.д.) и различных программ (Apache, Samba и т. д.).

В этом месте должна размещаться вся личная информация пользователей системы. Почему должна? Потому что владелец компьютера может хранить свою личную информацию в любом понравившемся ему месте. В целях безопасности самой операционной системы и пользовательских данных хранить последние строго рекомендуется в директории /home. Для получения более высокой надежности операционной системы и сохранности пользовательской информации директорию /home рекомендуется выделить в отдельный раздел жесткого диска.

Это Домашняя папка пользователя usermame. В ней хранится пользовательская часть конфигурационных файлов (настройки пользовательских программ) и вся личная информация пользователя. Linux является многопользовательской системой и поэтому каждый пользователь имеет уникальный каталог для персональных файлов. Этот каталог называется Домашней папкой пользователя. Домашняя папка суперпользователя root располагается в корне файловой системы. Такое разделение пользовательских директорий от файлов операционной системы упрощает резервирование данных и повышает надежность самой операционной системы.

В lost+found скидываются файлы, на которых не было ссылок ни в одной директории, хотя их inod не были помечены как свободные. Допустим при удалении файла из директории произошёл сбой (выключилось питание), то в системе останется потерянный inod, который вроде как и указывает на корректный файл, но этот файл не содержится ни в одной директории. В ext2 и других нежурналируемых файловых системах задача восстановления таких файлов ложится на fsck. Он находит inod, на которые нет ссылок, и создаёт на них ссылки в lost+found. После этого пользователь сможет просмотреть файлы и при необходимости переместить им куда надо, вернув нужные имена. В ext3 и в других журналируемых файловых системах fsck просматривает журнал и видя, что операция завершилась не полностью, откатывает ее. Поэтому потерянных inod в журналируемых файловых системах находиться меньше.

Эта директория предназначена для хранения системных библиотек, необходимые для работы программ из директорий /bin и /sbin и операционной системы вцелом.

Директория, используемая для автоматического монтирования различных устройств USB-накопителей, CD-ROM и т.д. При вставке в привод CD-ROM диска он автоматически подключается во вложенный каталог этой директории.

Обычно эта директория используется для ручного подключения устройств. В эту директорию командой mount «руками» монтируются различные USB-накопители, CD-ROM и т.д.

/proc — это директория, к которой примонтирована виртуальная файловая система procfs. Различная информация, которую ядро может сообщить пользователям, находится в "файлах" каталога /proc. Например, в файле /proc/modules находится список загруженных модулей ядра. А в файле /proc/cpuinfo — информация о процессоре компьютера. Подробнее можно прочитать здесь.

Это домашний каталог или Домашняя папка суперпользователя. Эта директория фактически ничем не отличается от директории обычного пользователя. Данная директория по умолчанию всегда расположена в корневом каталоге файловой системы. Это было сделано для предотвращения проблем с доступом к директории /home. В случае когда к каталогу /home по какой-то причине невозможно получить доступ, в системе всегда есть возможность залогиниться под учетной записью суперпользователя, для решения возникших проблем с доступом.

Основные системные программы для администрирования и настройки системы (iptables, ifconfig и т.д.).

Параметры, которые специфичные для окружения системы. Чаще всего данная директория пуста.

/sys — это директория, к которой примонтирована виртуальная файловая система sysfs, которая добавляет в пространство пользователя информацию ядра Linux о присутствующих в системе устройствах и драйверах. В версии ядра ниже 2.6 не использовалась.

/sys/block содержит директории всех блочных устройств, присутствующих в данный момент в системе.

В этой директории находится список шин, определенных в ядре Linux (eisa, pci и т.д.).

Каталог содержит список группированных устройств по классам (printer, scsi-devices и т.д.).

Временное хранилище данных. Аналог папки в ОС Windows — C:/Windows/Temp. Все пользователи имеют права чтения и записи в этом каталоге.

В этом каталоге хранятся все установленные пакеты программ, документация, исходный код ядра и система X Window. Все пользователи кроме суперпользователя root имеют доступ только для чтения. Может быть смонтирована по сети и может быть общей для нескольких машин.

Директория дополнительных программ для всех учетных записей.

Каталог для размещения доступных компьютерных игр в системе.

Заголовочные файлы С++.

Системные библиотеки для программ, расположенных в директории /usr.

По стандарту /usr должен быть общим для нескольких компьютеров и смонтирован по сети, а /usr/local должен содержать установленные пакеты программы только на локальной машине (к примеру, /usr - бюджет семьи, а /usr/local - личный кошелек каждого). Но чаще всего директория /usr/local используется для установки программ, которые не предназначены для конкретного дистрибутива (к примеру для пакетного дистрибутива Ubuntu в /usr находятся "родные" установленные пакеты, а /usr/local находятся собранные пакеты из исходников).

Дополнительные системные программы.

Общие данные установленных программ.

В каталоге находятся все иконки системы.

Директория, в которой обычно находится справочная документация по установленным программам.

Исходные кода (например, здесь располагаются исходные кода ядра).

Это каталог для часто меняющихся данных. Здесь находятся журналы операционной системы, системные log-файлы, cache-файлы и т. д.

В этом месте хранятся все кэши различных программ.

В этом месте расположены файлы с игровыми достижениями.

Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.).

Здесь лежат lock-файлы, указывающие на занятость некоторого ресурса.

В этом месте хранятся все log-файлы.

Задачи, ожидающие обработки (например, очереди печати, непрочитанные или не отправленные письма, задачи cron и т. д.).

Работа с файловой системой, или что где лежит в Ubuntu/Debian [Для самых маленьких]

Работая в терминале очень часто приходится работать с файловой системой. В этой статье мы узнаем с помощью каких утилит можно работать с файловой системой и в какой папке что лежит.

Работаем с файловой системой

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

  1. pwd — показывает директорию в которой вы находитесь;
  2. ls — выводит список папок и файлов в текущей директории, так же можно посмотреть список файлов и папок в любой директории просто указав путь к ней — ls /путь/к/папке. По умолчанию список выводится в некрасивом виде, для изменения вида списка необходимо указать аргумент -l — ls -l /путь/к/папке ;
  3. cat — выводит содержимое файла, например cat /путь/к/файлу ;
  4. cd — переходит в указанную папку, например cd /путь/к/папке ;
  5. cp — копирует файл/папку, например cp -R /что/скопировать /куда/скопировать ;
  6. mv — перемещает файл/папку, например mv /что/переместить /куда/переместить ;
  7. rm — удаляет файл/папку, например rm -r /путь/к/файлу_или_папке ;
  8. du — считает размер директории, например du -hc /путь/к/папке ;
  9. mkdir — создаёт директорию, например mkdir /путь/к/папке ;
  10. touch — создаёт файл, например touch /путь/к/файлу .
  • Чтоб вернуться в предыдущую директорию, необходимо выполнить cd - ;
  • Чтобы перейти на одну директорию вверх, необходимо выполнить cd … ;
  • Чтобы перейти в домашнюю директорию, необходимо выполнить cd

Что где лежит и зачем оно там?

… если оно там лежит, значит так и должно быть, не трожь это!

Иерархия файловой система в * nix‐системах кардинально отличается от оной в MS Windows. В ней нету так называемых дисков (A:, C:, D:…), для сравнения, иерархия файловой системы в *nix можно представить как иерархию диска C: в MS Windows.

  • / — корень файловой системы, внутри него располагается всё;
  • /bin , /sbin , /usr/bin — тут располагаются различные исполняемые файлы (программы);
  • /boot — тут располагается ядро linux, и загрузчик (grub, lilo, и т.д.);
  • /dev — тут находятся все физические и виртуальные устройства (диски, клавиатуры, видео- и аудио‐карты , и т.д.);
  • /etc — тут находятся различные файлы настроек различных системных программ, демонов;
  • /home — тут располагаются домашние директории пользователей;
  • /lib — тут находятся модули ядра linux, и тут лучше ничего не трогать :);
  • /media — тут располагаются все примонтированные оптические диски (а так же и флэшки, жёсткие диски);
  • /mnt — тут должны находиться примонтированные жёсткие диски и флешки, но зачастую они оказываются в /media ;
  • /opt — тут находятся установленные проприетарные приложения и библиотеки;
  • /proc , /sys — системные директории с виртуальной файловой системой, хранят в себе информацию о системе, ядре, и прочей ерунде;
  • /root — домашняя директория пользователя root;
  • /usr — тут хранятся установленные программы, их ресурсы и библиотеки;
  • /usr/lib , /usr/lib32 — хранят в себе различные библиотеки;
  • /usr/include — хранят в себе заголовочные файлы различных библиотек, которые используются при разработке ПО;
  • /usr/local — имеет такую же структуру как и /usr , только хранит в себе вручную собранные и установленные приложения и библиотеки;
  • /usr/share — тут находятся различные ресурсы библиотек и приложений (изображения, звуки, шрифты, документация)
  • /var — директория в которой хранятся логи, файлы данных различных системных приложений (например базы данных mysql), сокет‐файлы ;
  • /tmp — директория для хранения временных файлов, очищается при перезагрузке системы;
  • . — текущая директория;
  • … — директория на один уровень выше текущей.

Более подробную информацию о иерархии файловой системы можно почитать в man hier .

Заключение

Если вы не уверенны в том, что некий файл/папку можно изменить/удалить без последствий, то лучше этого не делайте. Как говорится, «работает не трожь! ».

И как всегда, я не несу никакой ответственности за то, что вы возможно натворите в своей системе. Если вы удалите что нибудь и у вас после этого система не загрузится — не пишите мне о том, что я в этом виноват :).

Приложение "Диски"

Уста­нав­ли­вая Ubuntu впер­вые или купив ком­пью­тер с пред­уста­нов­лен­ным Линук­сом, вы ско­рее все­го полу­чи­те систе­му, цели­ком уста­нов­лен­ную на один един­ствен­ный раздел.

Через какое-то вре­мя, пополь­зо­вав­шись Убун­той, обвык­нув, нако­пив зна­ний и фай­лов в поль­зо­ва­тель­ском ката­ло­ге, вы, ско­рее все­го, реши­те отде­лить свои лич­ные дан­ные от осталь­ной систе­мы: выне­сти их на отдель­ный раз­дел, кото­рый может нахо­дить­ся как на том же самом, так и на дру­гом диске.

В этой ста­тье рас­смот­рим имен­но сам про­цесс пере­но­са на уже под­го­тов­лен­ный раздел.

Под­го­то­вить диск совсем неслож­но, но если вам нуж­но об этом узнать, отме­чай­те в ком­мен­та­ри­ях удив­лён­ный (😯) смайлик.

5 смай­ли­ков, и я допи­шу про под­клю­че­ние дис­ка и фор­ма­ти­ро­ва­ние раз­де­ла.
ОКЕЙ! Набра­лось пять смай­лов. В тече­ние сле­ду­ю­щих семи дней напи­шу про форматирование .
  • Убун­ту 18.04, уста­нов­лен­ная цели­ком на один раздел.
  • Под­го­тов­лен дру­гой раз­дел (отфор­ма­ти­ро­ван­ный в ext4) для пере­но­са домаш­не­го каталога.

Задача

Пере­не­сти домаш­ний ката­лог на под­го­тов­лен­ный раз­дел, поль­зу­ясь толь­ко тем, что уже есть в системе.

  1. При­мон­ти­ро­вать новый раз­дел во вре­мен­ное рас­по­ло­же­ние и ско­пи­ро­вать содер­жи­мое пап­ки /home на него с сохра­не­ни­ем раз­ре­ше­ний. Саму пап­ку не трогать.
  2. Про­ве­рить что все фай­лы кор­рект­но ско­пи­ро­ва­лись. ДВА РАЗА. Толь­ко когда убе­дим­ся, что всё пере­не­се­но в новое место, без­воз­врат­но уда­лить все фай­лы из ста­ро­го расположения.
  3. Настро­ить пара­мет­ры под­клю­че­ния ново­го раз­де­ла, что­бы при загруз­ке он авто­ма­ти­че­ски мон­ти­ро­вал­ся в /home .
  4. Пере­за­гру­зить­ся и про­ве­рить, что всё работает.

Инструменты

Для выпол­не­ния зада­чи нуж­ны все­го две программы:

Диски

Терминал

Решение

Подключаем раздел

Дей­ству­ем стро­го соглас­но пла­ну. Под­клю­ча­ем новый раз­дел во вре­мен­ное место.

В дополнительном меню раздела выбираем пункт "Изменить параметры подключения"

Запус­ка­ем «Дис­ки», выби­ра­ем диск (1), выби­ра­ем раз­дел дис­ка (2) на кото­рый мы будем пере­но­сить фай­лы, откры­ва­ем пара­мет­ры под­клю­че­ния раз­де­ла (3, 4).


Что­бы отре­дак­ти­ро­вать пара­мет­ры, выклю­чим пара­мет­ры по умол­ча­нию (1). Затем убе­рём галоч­ку (2): это не обя­за­тель­но пря­мо сей­час, про­сто сра­зу сде­ла­ем всё нуж­ное, что не меша­ет дви­гать­ся даль­ше. Сокра­тим точ­ку под­клю­че­ния (3), что­бы мень­ше было потом наби­рать в тер­ми­на­ле. ОК.


С «Дис­ка­ми» пока всё. Но не закры­вай­те окно. Мы ско­ро сюда вернёмся.

Пере­хо­дим ко вто­ро­му пунк­ту пла­на. Будем пере­но­сить файлы.

Копируем файлы

Если до это­го момен­та у вас были откры­ты какие-то ещё про­грам­мы, пожа­луй­ста, закрой­те их все (кро­ме «Дис­ков», конечно).

Запу­сти­те «Тер­ми­нал» и вве­ди­те в нём сле­ду­ю­щую коман­ду (но не нажи­май­те пока Enter, не торо­пи­тесь!):

Рас­ска­зы­ваю, что зна­чит каж­дый сим­вол этой команды:

  • sudo — озна­ча­ет, что коман­ду сле­ду­ет выпол­нять от име­ни супер­поль­зо­ва­те­ля (Адми­ни­стра­то­ра). Сокра­ще­ние от SuperUser DO .
  • про­бел (столк­нул­ся на прак­ти­ке, что неко­то­рым поль­зо­ва­те­лям не оче­вид­но — в каком месте коман­ды нуж­ны про­бе­лы, а в каком нет. Поэто­му прям вот так, да)
  • cp — Соб­ствен­но коман­да копи­ро­ва­ния. Сокра­ще­ние от CoPy.
  • про­бел
  • -a — опции коман­ды. В дан­ном слу­чае она одна, но может быть и боль­ше. Эта опция гово­рит коман­де, что нуж­но сохра­нить все пара­мет­ры фай­лов нетро­ну­ты­ми. Без неё доступ к фай­лам про­па­дёт, и вы не смо­же­те ими нор­маль­но пользоваться.
  • про­бел
  • /home/* — Источ­ник, из кото­ро­го фай­лы будут ско­пи­ро­ва­ны. /home — систем­ная пап­ка, где раз­ме­ща­ют­ся лич­ные пап­ки всех поль­зо­ва­те­лей. * — мас­ка, кото­рая гово­рит, что нуж­но копи­ро­вать не саму пап­ку /home , а каж­дый эле­мент, кото­рый в ней нахо­дит­ся: то есть пап­ку каж­до­го поль­зо­ва­те­ля в отдельности.
  • про­бел
  • /mnt — Пап­ка назна­че­ния, в кото­рую фай­лы будут скопированы.

В зави­си­мо­сти от того, сколь­ко фай­лов у вас в поль­зо­ва­тель­ских пап­ках, после нажа­тия Enter, коман­да может «под­вис­нуть» на неко­то­рое вре­мя. Не пугай­тесь, она рабо­та­ет, но ниче­го не пока­зы­ва­ет. Если вам спо­кой­нее видеть, что что-то про­ис­хо­дит, може­те доба­вить пара­метр -v к коман­де.
Полу­чит­ся sudo cp -av /home/* /mnt


Нажи­ма­ем Enter, вво­дим пароль ваше­го поль­зо­ва­те­ля (когда вво­ди­те пароль, в тер­ми­на­ле это никак не будет отоб­ра­жать­ся; всё нор­маль­но) и ждём, пока дан­ные скопируются.

Пере­нос ещё не закон­чен. Не закры­вай­те «Тер­ми­нал».

Пере­хо­ди­те обрат­но в «Дис­ки».

Если вы ниче­го лиш­не­го не тыка­ли, в «Дис­ках» у нас всё ещё выбран наш новый раз­дел. Под ним информация.

Нажми­те на голу­бую ссыл­ку и в фай­ло­вом мене­дже­ре откро­ет­ся наш новый раз­дел со всей ско­пи­ро­ван­ной информацией.

Самое важное

Зай­ди­те в пап­ку с име­нем ваше­го поль­зо­ва­те­ля и про­верь­те сле­ду­ю­щие вещи:

Если на этом эта­пе вам кажет­ся, что что-то не в поряд­ке — оста­но­ви­тесь. Не про­дол­жай­те даль­ше. Пере­про­верь­те себя столь­ко раз сколь­ко нуж­но, пока не буде­те уве­ре­ны, что всё сде­ла­ли верно.


Нашли ошибку?

  • Вер­ни­тесь в «Дис­ки»,
  • отмон­ти­руй­те раздел,
  • в пара­мет­рах под­клю­че­ния вклю­чи­те пере­клю­ча­тель (1)
  • Повто­ри­те под­го­тов­ку раз­де­ла к пере­но­су (отфор­ма­ти­руй­те его, что­бы сте­реть свои ошибки),
  • нач­ни­те всё сначала.

Всё хоро­шо? Идём дальше.

Удаляем старые файлы

Воз­вра­ща­ем­ся в «Тер­ми­нал».

Вни­ма­ние! Сле­ду­ю­щая коман­да, при неосто­рож­ном исполь­зо­ва­нии, может уда­лить вооб­ще всё на све­те. Я вас предупредил.

Вве­ди­те коман­ду и нажми­те Enter. Она без­воз­врат­но уда­лит всё из домаш­ней папки:

После выпол­не­ния этой коман­ды систе­ма может начать вести себя немно­го странно.

Это нор­маль­но. Если она будет гово­рить что «Что-то пошло не так» или сно­ва пред­ла­гать узнать «Что ново­го в Ubuntu», про­сто закрой­те эти окна и не обра­щай­те внимания.

Мы немно­го сло­ма­ли обыч­ный поря­док вещей и сей­час будем его восстанавливать.

Финальная настройка раздела

Воз­вра­ща­ем­ся в «Дис­ки» и сно­ва откры­ва­ем пара­мет­ры под­клю­че­ния раздела.


Меня­ем точ­ку под­клю­че­ния на /home . OK .


Что­бы про­ве­рить, что фай­лы поль­зо­ва­те­лей теперь рас­по­ло­же­ны на новом раз­де­ле, сно­ва запус­ка­ем «Дис­ки», выби­ра­ем наш раз­дел и в инфор­ма­ции ниже видим, что он под­клю­чен как /home .

Помогла статья?

Может, хоти­те задать вопрос или пред­ло­жить тему? Или про­сто выра­зить благодарность?

Под­дер­жи­те выход год­ных мате­ри­а­лов на сай­те и смо­же­те задать свой лич­ный вопрос. А так­же уско­ри­те выход новой статьи.

А так­же може­те сме­ло писать в ком­мен­та­ри­ях. Я всё про­чи­таю и отвечу.

Читайте также: