Структура файловой системы Linux отличается от структуры файловой системы Windows, к которой вы наверняка привыкли. Ниже приведено краткое описание основных аспектов ее устройства.
В Linux все представлено с помощью файлов, причем все файлы размещаются в директориях, поэтому даже жесткий и оптический диски представлены. специальными файлами. Каждая из директорий может иметь поддиректории. При этом каждая директория и каждый файл из директории имеют владельца.
Основные директории файловой системы Linux
Я дам пояснения относительно назначения следующих директорий:
Корневая директория
Основной директорией файловой системы является директория «/» (без символов кавычек) или корневая директория (символ немного похож на морковку, отсюда и ее название). Любой, пользователь, который владеет директорией, также является владельцем или совладельцем всех ее поддиректорий, всех поддиректорий этих поддиректорий и так далее. Надеюсь, вы поняли…
Администратор является владельцем корневой директории и, следовательно, может получить доступ к любому элементу файловой системы.
Настройка файлового обмена между Windows и Ubuntu. Общая сетевая папка.
Домашняя директория
Обычный пользователь, назовем его Джон, является владельцем своей персональной директории. Эта директория называется /home/john и является поддиректорией директории /home. Но при этом Джон не является единственным владельцем директории /home/john; разумеется, пользователь root является совладельцем всех директорий.
Файлы конфигурации всех приложений размещаются в домашних директориях пользователей. Каждый пользователь имеет свой набор этих файлов. Такой подход сокращает вероятность повреждения данных конфигурации в рамках всей системы. Файлы конфигурации приложений являются скрытыми файлами.
Вы можете увидеть их, выполнив следующую последовательность действий: запустите ваш файловый менеджер и нажмите комбинацию клавиш Ctrl H. После этого вы увидите все скрытые файлы и директории (с начинающимися с символа точки именами, например, .mplayer).
Приложение не запускается из-за ошибки в файле конфигурации? Для начала нужно убедиться в том, что приложение не запущено. После этого можно просто удалить директорию с файлами конфигурации этого приложения.
После удаления директории с файлами конфигурации приложения, запустите его снова: оно создаст новую директорию и сгенерирует файлы конфигурации со стандартными значениями.
Исполняемые файлы приложений
Практически любое приложение представлено форме исполняемого файла, расположенного в директории /usr/bin, который может быть запущен с помощью двойного клика (если в главном меню нет соответствующего элемента). Также оно может быть запущено из терминала путем ввода имен исполняемого файла и нажатия клавиши Enter.
Например, для запуска веб-браузера Firefox из терминала вы можете просто ввести firefox и нажать клавишу Enter, так как исполняемый файл Firefox, расположенный в директории /usr/bin, носит имя firefox.
Исполняемые файлы приложений, для запуска которых требуются права пользователя root, расположены в директории /usr/bin.
Linux для Начинающих — создание, копирование, перенос, переименование, стерание файлов
Изображения, логотипы и иконки
Директория /usr/share/pixmaps и ее поддиректории содержат все типы изображений, логотипов и иконок.
Разделы жестких дисков
Смонтированный раздел жесткого диска (к файлам с которого можно получить доступ) представлен директорией и специальным файлом. Упомянутая директория расположена в директории /run/media/ (в более ранних версиях дистрибутивов вместо нее используется директория /media или /mnt), а упомянутый файл — в директории /dev.
Первый жесткий диск носит имя hda или sda. Второй жесткий диск — hdb или sdb. Первый раздел первого жесткого диска носит имя hda1 или sda1. Если он смонтирован, то создается директория /run/media// (в более ранних версиях дистрибутивов вместо нее создается директория /media/sda1 или /mnt/sda1), содержащая его дерево директорий.
Если раздел жесткого диска не смонтирован (к файлам с него невозможно получить доступ), то в любом случае существует соответствующий ему специальный файл устройства в директории /dev. То есть, если раздел жесткого диска смонтирован, то существуют специальный файл и директория. Если же раздел смонтирован — существует и специальный файл, и директория.
Системный загрузчик GRUB
Системный загрузчик GRUB хранит часть своих данных в файлах из директории /boot/grub (другие данные хранятся в основной загрузочной записи жесткого диска, а также в файлах из директорий /etc/default/grub и /etc/grub.d).
Примечание: если вы желаете вручную изменить конфигурацию системного загрузчика GRUB, вы должны вносить изменения в файлы конфигурации из директории /etc/default/grub.
Разделяемые библиотеки
Вы можете обнаружить большинство файлов установленных разделяемых библиотек в директории /lib. Эти библиотеки используются различными приложениями. Каждая из разделяемых библиотек имеет расширение .so (Shared Object). В Windows аналогичные используемые приложениями библиотеки называются динамическими библиотеками, а их файлы имеют расширение .dll (Dynamic Link Library).
В Linux вы можете идентифицировать файл разделяемой библиотеки также и по первой части его имени, в которой находится префикс lib (например, разделяемая библиотека приложения «example» будет носить имя «libexample.so»).
Хотите ознакомиться с дополнительными советами?
Хотите узнать о других настройках и приемах работы с Linux-системами? На данном веб-сайте размещено большое количество подобных материалов.
Источник: linux-faq.ru
unixforum.org
Здравствуйте. Меня волнует такой вопрос, начал разбираться с bash скриптами и у меня стало появляться все больше и больше скриптов, запускаю их из ~/, но читал где-то что это не правильно, и /home вообще надо монтировать с запретом запуска приложений. Интересно куда помещают свои скрипты опытные пользователи linux. На сколько можно использовать /usr/bin, /usr/local/bin, или /opt.
Спасибо сказали:
SLEDopit Модератор Сообщения: 4814 Статус: фанат консоли (= ОС: GNU/Debian, RHEL
Re: Где лежат пользовательские скрипты?
Сообщение SLEDopit » 30.05.2012 10:02
30.05.2012 09:52
запускаю их из ~/
Это неудобно, в ~ начинает разводиться помойка. У меня всё в ~/scripts
30.05.2012 09:52
и /home вообще надо монтировать с запретом запуска приложений.
от запуска скриптов монтирование с noexec не спасёт. Скрипт всегда можно запустить как bash /path/to/script и тогда не важно, стоит execute бит у файла или нет. Имхо, опция noexec имеет смысл только на серверах, дабы там всякие левые бинарники не запускали. Однако, на 95% серверов это правило не соблюдают.
Спасибо сказали:
Bizdelnick Модератор Сообщения: 20367 Статус: nulla salus bello ОС: Debian GNU/Linux
Re: Где лежат пользовательские скрипты?
Сообщение Bizdelnick » 30.05.2012 11:56
~/bin/ — в редхатообразных дистрах официально для этого предназначенное место.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще |
в течение (часа) новичок нюанс по умолчанию |
приемлемо проблема пробовать трафик |
Спасибо сказали:
Yaros Сообщения: 501 ОС: Debian Wheezy / Gentoo
Re: Где лежат пользовательские скрипты?
Сообщение Yaros » 30.05.2012 12:14
/usr/local/bin вроде по стандарту для этого. Точно не помню.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
SLEDopit Модератор Сообщения: 4814 Статус: фанат консоли (= ОС: GNU/Debian, RHEL
Re: Где лежат пользовательские скрипты?
Сообщение SLEDopit » 30.05.2012 14:31
30.05.2012 12:14
/usr/local/bin вроде по стандарту для этого.
(FHS) писал(а): /usr/local : Local hierarchy
Purpose
The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable amongst a group of hosts, but not found in /usr.
Не, явно не подходит (:
Да и это придётся разрешить пользователю писать в /usr/local/bin или каждый раз повышать привилегии при создании нового скрипта, что в общем-то, не есть хорошо.
Спасибо сказали:
Yaros Сообщения: 501 ОС: Debian Wheezy / Gentoo
Re: Где лежат пользовательские скрипты?
Сообщение Yaros » 30.05.2012 15:19
30.05.2012 14:31
30.05.2012 12:14
/usr/local/bin вроде по стандарту для этого.
(FHS) писал(а): /usr/local : Local hierarchy
Purpose
The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable amongst a group of hosts, but not found in /usr.
Не, явно не подходит (:
Да и это придётся разрешить пользователю писать в /usr/local/bin или каждый раз повышать привилегии при создании нового скрипта, что в общем-то, не есть хорошо.
Если человек один работает за компом, то sudo cp,
Еще есть вариант
$ mkdir ~/bin $ echo «export PATH=$PATH:/home/user/bin» >> ~/.bash_profile
UPD: Если не один, вроде тоже нормально.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
eddy Сообщения: 3321 Статус: Красный глаз тролля ОС: ArchLinux Контактная информация:
Re: Где лежат пользовательские скрипты?
Сообщение eddy » 30.05.2012 16:15
У меня на работе — стандартно (как у всех, в ~/bin), а дома — в /Data/scripts.
Админам, монтирующим /home с noexec, следует отрывать руки.
RTFM
——-
KOI8-R — патриотичная кодировка
Спасибо сказали:
Yaros Сообщения: 501 ОС: Debian Wheezy / Gentoo
Re: Где лежат пользовательские скрипты?
Сообщение Yaros » 30.05.2012 16:29
30.05.2012 16:15
Админам, монтирующим /home с noexec, следует отрывать руки.
Это еще почему?
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Bizdelnick Модератор Сообщения: 20367 Статус: nulla salus bello ОС: Debian GNU/Linux
Re: Где лежат пользовательские скрипты?
Сообщение Bizdelnick » 30.05.2012 16:34
30.05.2012 15:19
Еще есть вариант
$ mkdir ~/bin $ echo «export PATH=$PATH:/home/user/bin» >> ~/.bash_profile
В некоторых дистрибутивах это уже сделано, надо сначала проверить echo $PATH .
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще |
в течение (часа) новичок нюанс по умолчанию |
приемлемо проблема пробовать трафик |
Спасибо сказали:
eddy Сообщения: 3321 Статус: Красный глаз тролля ОС: ArchLinux Контактная информация:
Re: Где лежат пользовательские скрипты?
Сообщение eddy » 30.05.2012 21:56
30.05.2012 16:29
30.05.2012 16:15
Админам, монтирующим /home с noexec, следует отрывать руки.
Это еще почему?
А куда будет бедный пользователь свои скрипты складывать?
RTFM
——-
KOI8-R — патриотичная кодировка
Спасибо сказали:
Yaros Сообщения: 501 ОС: Debian Wheezy / Gentoo
Re: Где лежат пользовательские скрипты?
Сообщение Yaros » 30.05.2012 22:13
30.05.2012 21:56
30.05.2012 16:29
30.05.2012 16:15
Админам, монтирующим /home с noexec, следует отрывать руки.
Это еще почему?
А куда будет бедный пользователь свои скрипты складывать?
Я за /usr/local/[s]bin .
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Bizdelnick Модератор Сообщения: 20367 Статус: nulla salus bello ОС: Debian GNU/Linux
Re: Где лежат пользовательские скрипты?
Сообщение Bizdelnick » 30.05.2012 22:23
30.05.2012 22:13
Я за /usr/local/[s]bin .
И давно ли у пользователя есть право на запись туда?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще |
в течение (часа) новичок нюанс по умолчанию |
приемлемо проблема пробовать трафик |
Спасибо сказали:
watashiwa_daredeska Бывший модератор Сообщения: 4038 Статус: Искусственный интеллект (pre-alpha) ОС: Debian GNU/Linux
Re: Где лежат пользовательские скрипты?
30.05.2012 22:13
Я за /usr/local/[s]bin .
Вопрос на засыпку — какой пользователь будет туда складывать скрипты? 🙂
Спасибо сказали:
eddy Сообщения: 3321 Статус: Красный глаз тролля ОС: ArchLinux Контактная информация:
Re: Где лежат пользовательские скрипты?
Сообщение eddy » 30.05.2012 22:40
30.05.2012 22:13
Я за /usr/local/[s]bin .
Может, тогда уж сразу /bin?
RTFM
——-
KOI8-R — патриотичная кодировка
Спасибо сказали:
Yaros Сообщения: 501 ОС: Debian Wheezy / Gentoo
Re: Где лежат пользовательские скрипты?
Сообщение Yaros » 30.05.2012 23:09
30.05.2012 22:23
30.05.2012 22:13
Я за /usr/local/[s]bin .
И давно ли у пользователя есть право на запись туда?
30.05.2012 22:36
30.05.2012 22:13
Я за /usr/local/[s]bin .
Вопрос на засыпку — какой пользователь будет туда складывать скрипты?
30.05.2012 22:40
30.05.2012 22:13
Я за /usr/local/[s]bin .
Может, тогда уж сразу /bin?
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
watashiwa_daredeska Бывший модератор Сообщения: 4038 Статус: Искусственный интеллект (pre-alpha) ОС: Debian GNU/Linux
Re: Где лежат пользовательские скрипты?
30.05.2012 23:09
30.05.2012 22:36
Вопрос на засыпку — какой пользователь будет туда складывать скрипты? 🙂
Тогда лучше сразу сделать домашние каталоги world readable/writeable, а не тратить время пользователей на рассаживание по чужим скриптам троянов с шелл-доступом.
Спасибо сказали:
Yaros Сообщения: 501 ОС: Debian Wheezy / Gentoo
Re: Где лежат пользовательские скрипты?
Сообщение Yaros » 31.05.2012 00:17
31.05.2012 00:05
30.05.2012 23:09
30.05.2012 22:36
Вопрос на засыпку — какой пользователь будет туда складывать скрипты?
Тогда лучше сразу сделать домашние каталоги world readable/writeable, а не тратить время пользователей на рассаживание по чужим скриптам троянов с шелл-доступом.
Как вариант, поколдовать с группами.
У меня машина, на к-рой я делал скрипты в /usr/local/bin, вообще к сети не подключена, так что я тогда не заморачивался.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
yars Сообщения: 1144 Статус: Slacker! ОС: Slackware64-current
Re: Где лежат пользовательские скрипты?
Сообщение yars » 31.05.2012 00:32
Я свои скриптики складирую в ~/scripts, как и SLEDopit, но я и не писал еще скриптов для обслуживния системы — дзен не тот
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
————-
Registered Linux User #557010
Спасибо сказали:
drBatty Сообщения: 8735 Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит. ОС: Slackware-current Контактная информация:
Re: Где лежат пользовательские скрипты?
Сообщение drBatty » 31.05.2012 00:39
1. в ~ скрипты юзеры должны складывать. Юзерам, которые складывают скрипты в иное место надо руки отрывать (ну ладно, в /tmp/ ещё можно).
2. noexec это нормально, если юзер не программист, и если он не делает бинарники. ИМХО. Проблема в том, что я-то программист, и мне это не нужно.
3. очевидно, что-бы не устраивать помойки, нужно создать каталог ~/scripts, ежели юзер пишет более 1 скрипта.
Скоро придёт
Осень
Спасибо сказали:
Bizdelnick Модератор Сообщения: 20367 Статус: nulla salus bello ОС: Debian GNU/Linux
Re: Где лежат пользовательские скрипты?
Сообщение Bizdelnick » 31.05.2012 12:15
30.05.2012 23:09
А за использование sudo без надобности по рукам надо бить.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще |
в течение (часа) новичок нюанс по умолчанию |
приемлемо проблема пробовать трафик |
Спасибо сказали:
drBatty Сообщения: 8735 Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит. ОС: Slackware-current Контактная информация:
Re: Где лежат пользовательские скрипты?
Сообщение drBatty » 31.05.2012 12:34
31.05.2012 12:15
А за использование sudo без надобности по рукам надо бить.
не надо. и так всем понятно, КТО написал.
Скоро придёт
Осень
Спасибо сказали:
Vadimsky Сообщения: 30 ОС: Fedora 17 Контактная информация:
Re: Где лежат пользовательские скрипты?
Сообщение Vadimsky » 31.05.2012 15:48
30.05.2012 16:15
Админам, монтирующим /home с noexec, следует отрывать руки.
Ну я админ, и я всегда так монтирую /home и буду монтировать именно так.
Приходите отрывать, я Вас жду!
Боле того, у узеров в /etc/passwd:
director:x:521:501:General_Direktor:/dev/null:/sbin/nologin
buh1:x:522:501:Glav_Buh:/dev/null:/sbin/nologin
buh2:x:523:501::/dev/null:/sbin/nologin
и т.д.
Но это видимо тоже по Вашему неправильно?
По теме, так например я, в домашней папке, создаю scripts и их кидаю туда (уже свыше десятка, правда регулярно пользуюсь всего тремя), и даже если /home смонтирован noexec то скрипт от туда всё равно запустить можно.
Спасибо сказали:
eddy Сообщения: 3321 Статус: Красный глаз тролля ОС: ArchLinux Контактная информация:
Re: Где лежат пользовательские скрипты?
Сообщение eddy » 31.05.2012 16:36
31.05.2012 15:48
/sbin/nologin
Почтовый сервер? Я, вообще-то, про рабочую машину говорил, а не почтовик!
31.05.2012 15:48
и даже если /home смонтирован noexec то скрипт от туда всё равно запустить можно.
А если «скрипт» — бинарник? У меня, например, кое-что — на С, т.к. средствами баша либо невозможно такое сделать, либо долго.
RTFM
——-
KOI8-R — патриотичная кодировка
Спасибо сказали:
Yaros Сообщения: 501 ОС: Debian Wheezy / Gentoo
Re: Где лежат пользовательские скрипты?
Сообщение Yaros » 31.05.2012 22:37
31.05.2012 16:36
31.05.2012 15:48
/sbin/nologin
Почтовый сервер? Я, вообще-то, про рабочую машину говорил, а не почтовик!
31.05.2012 15:48
и даже если /home смонтирован noexec то скрипт от туда всё равно запустить можно.
А если «скрипт» — бинарник? У меня, например, кое-что — на С, т.к. средствами баша либо невозможно такое сделать, либо долго.
Многие скрипты для сервера на Си пишут?
А для домашней машины, по большому счету, можно и без noexec.
Вроде есть еще /opt, но это тоже криво.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
diesel Бывший модератор Сообщения: 5989 ОС: OS X, openSuSE, ROSA, Debian Контактная информация:
Re: Где лежат пользовательские скрипты?
Сообщение diesel » 31.05.2012 23:13
31.05.2012 22:37
Многие скрипты для сервера на Си пишут?
А для домашней машины, по большому счету, можно и без noexec.
сколько людей, столько и мнений.
для домашней машины, на которой в своем собственном $HOME можно и со скриптами играться, да в принципе и с бинарниками иногда тоже — noexec как раз таки сомнительное преимущество. Ну или выносить этот playground куда-то еще, хотя, не помню чтобы FHS для этого было что-то предусмотрено, соответственно, будет это место не очень стандартное. Я, например, когда-то делал это в директории /data, а в $HOME оставались только конфиги и случайные файлы.
С другой стороны, на серверах. хранение скриптов/программ, которые имеют отношение к управлению сервером/тем что сервер занимается, в $HOME — ИМХО — идея странная. А эксперименты экспериментировать — ну, смотря какой сервер и для чего. noexec может быть более оправдан.
Источник: unixforum.org
Всё, что вам нужно знать о каталоге /tmp в Linux
Я понял, что не уделял должного внимания каталогу /tmp или /var/tmp , пока не прочитал статью, которую увидел в Интернете. Поэтому я подготовил эту статью, надеюсь она будет полезной.
Что такое каталог Linux /tmp?
В системах на базе Linux каталог /tmp — это каталог, в котором хранятся временные файлы необходимые для запущенного программного обеспечения и приложений работающих в системе. Например, при написании документа все содержимое документа сохраняется как временный файл в каталоге /tmp . Временный файл удаляется при выходе.
В чем разница между каталогом /tmp и каталогом /var/tmp?
Обычно и /tmp , и /var/tmp используются для временного хранения данных. Однако основное различие между ними заключается в том, как долго данные хранятся в этих файловых системах. Срок хранения данных для /var/tmp намного больше, чем для /tmp .
По умолчанию все файлы и данные хранящиеся в каталоге /var/tmp хранятся до 30 дней. Данные в /tmp автоматически удаляются через десять дней (пока система перезагружается).
Кроме того, временные файлы хранящиеся в каталоге /tmp удаляются сразу после перезагрузки системы, поэтому каталог /var/tmp используется программами для временного хранения данных, которые необходимо сохранять между перезагрузками.
Может ли каталог /tmp заполниться?
Файлы и данные хранящиеся в каталоге /tmp имеют размер всего несколько КБ. Так что заполнение каталога /tmp возможно, но сложно.
В среднем системе для заполнения каталога /tmp в нём должны быть миллионы временных файлов. Не о чем беспокоиться в домашней системе, которая часто выключается, поскольку при перезагрузке удаляются все файлы хранящиеся в каталоге /tmp .
Однако если вы системный администратор у которого сервер редко перезагружается и обслуживает тысячи пользователей, заполнение каталога /tmp может быть проблемой. По мере накопления в каталоге временных файлов постепенно угрожает всему пространству хранения, что может быть тревожной новостью.
Как удалить файлы хранящиеся в каталоге /tmp?
Не рекомендуется удалять файлы в каталоге /tmp , если вы не уверены, что делаете. Они важны и необходимы для программного обеспечения работающего в вашей системе. Их удаление может привести к сбою системы. Вам не нужно сильно беспокоиться, так как файлы и данные хранящиеся в каталоге /tmp автоматически удаляются при перезагрузке системы.
Однако для серверов, которые работают в течение нескольких месяцев важно время от времени очищать каталог /tmp , прежде чем каталог переполнится.
Я случайно удалил каталог /tmp, что мне теперь делать?
При удалении файлов /tmp вручную, некоторые пользователи также случайно удаляют каталог /tmp . В таком случае вы можете быстро восстановить удаленный каталог /tmp .
Все, что вам нужно сделать, это ввести следующие команды в свой терминал:
$ sudo mkdir /tmp
$ sudo chmod 1777 /tmp
Первая строка создает новый каталог /tmp . Вторая строка позволяет всем пользователям читать, записывать и выполнять файлы в каталоге /tmp .
Убедившись, что все в порядке необходимо перезагрузить систему. Это позволит программам начать использовать только что созданный каталог /tmp .
Источник: www.linuxru.ru