Запись имени каталога

Запись имени каталога

Запись имени каталога




Скачать файл - Запись имени каталога

















В зависимости от текущего каталога может меняться поведение программы: Текущий каталог есть у любой программы, в том числе и у командной оболочки shell пользователя. Все команды, отдаваемые пользователем при помощи shell, наследуют текущий каталог shell, т. По этой причине пользователю важно знать текущий каталог shell. Для этого служит утилита pwd:. Почти все утилиты, с которыми работал Мефодий в предыдущих лекциях, по умолчанию читают и создают файлы в текущем каталоге. Так, Мефодий обращался к файлам, не используя никаких путей, просто по имени. Cross-refs The node reached by the cross reference in Info. Полный и относительный путь к файлу. Содержимое именно этого файла утилита cat выведет на экран 1. Набирая только имя файла без пути к текущему каталогу, Мефодий воспользовался относительным путём к этому файлу. Для каждого процесса Linux определён текущий каталог , с которого система начинает относительный путь при выполнении файловых операций. Между полным путём и относительным есть только одно существенное различие: Относительный путь любого файла или каталога в файловой системе может иметь любую конфигурацию: Linux различает полный и относительный пути очень просто: Отделить путь к файлу от его имени можно с помощью команд dirname и basebane соответственно: Мефодий заметил, что на прошлых лекциях и на этой, заходя с разных виртуальных консолей по очереди и одновременно, он всегда оказывался в одном и том же текущем каталоге: Как правило, является текущим непосредственно после регистрации пользователя в системе. Полный путь к домашнему каталогу хранится в переменной окружения HOME. Поскольку каждый пользователь располагает своим собственным каталогом и по умолчанию работает в нём, решается задача разделения файлов разных пользователей. Обычно доступ других пользователей к чужому домашнему каталогу ограничен: Чтобы иметь возможность ориентироваться в файловой системе, нужно знать, что содержится в каждом каталоге. Запомнить всю структуру файловой системы невозможно и не нужно: Поданная без параметров, команда ls выводит список файлов и каталогов, содержащихся в текущем каталоге 3. При помощи этой утилиты Мефодий обнаружил, что в его домашнем каталоге который в данный момент является текущим содержатся два файла, созданные на прошлой лекции: Утилита ls принимает один параметр: Имя может быть задано любым доступным способом: Мефодий использовал ключ-F, чтобы отличать файлы от каталогов. Кроме того, Мефодий решил получить более подробную информацию о содержимом своего домашнего каталога:. Внезапно он обнаружил, что файлов в его домашнем каталоге не два, а гораздо больше. Кроме того, подобных файлов в домашнем каталоге активно работающего пользователя со временем заводится немало по одному на каждую приличную утилиту и их присутствие в выдаче ls сильно загромождает её. Разберёмся подробно в списке файлов в домашнем каталоге Мефодия. Для корневого каталога родительским является он сам. Ссылки на текущий и на родительский каталог обязательно присутствуют в каждом каталоге в Linux. Даже если каталог пуст, т. В домашнем каталоге каждого пользователя Linux всегда присутствует несколько таких файлов. Подробнее речь об этом пойдёт в лекции Конфигурационные файлы. Пользователь может работать с файлами не только в своём домашнем каталоге, но и в других каталогах. В этом случае будет удобно сменить текущий каталог , т. Для смены текущего каталога командной оболочки используется команда cd от англ. Команда cd принимает один параметр: Как обычно, в качестве имени каталога можно использовать полный или относительный путь. Командная оболочка умеет достраивать имена файлов и каталогов: Современные командные оболочки умеют достраивать имена файлов и каталогов, а также имена команд. Достраивание наиболее развито в командном интерпретаторе zsh. Переход в родительский и в домашний каталог. Пользователь, конечно, не должен хранить все свои файлы в одном каталоге. Другими словами, пользователю принадлежит фрагмент поддерево файловой системы, корнем которого является домашний каталог пользователя. Чтобы организовать такое поддерево, потребуется создать каталоги внутри домашнего. Для этого используется утилита mkdir. Она используется с одним обязательным параметром: По умолчанию каталог будет создан в текущем каталоге. Теперь, создав каталог, нужно переместить в него все файлы с примерами. Для перемещения файлов и каталогов предназначена утилита mv сокращение от англ. У mv два обязательных параметра: Имена файлов и каталогов могут быть заданы в любом допустимом виде: Кроме того, mv позволяет перемещать не только один файл или каталог, а сразу несколько. За подробностями о допустимых параметрах и ключах следует обратиться к руководству по mv. Перемещение файла внутри одной файловой системы в действительности равнозначно его переименованию: Перемещение предполагает удаление ссылки на файл из того каталога, откуда он перемещён, и добавление ссылки на этот самый файл в тот каталог, куда он перемещён. Иногда требуется создать копию файла: В Linux для этого предназначена утилита cp сокращение от англ. Утилита cp требует присутствия двух обязательных параметров: Как обычно, в именах файлов и каталогов можно использовать полные и относительные пути. Для этой простейшей операции копирования достаточно передать cp в качестве двух параметров имя исходного файла и имя копии. По умолчанию cp , как и многие другие утилиты, будет работать с файлами в текущем каталоге. Нужно иметь в виду, что в Linux утилита cp нередко настроена таким образом, что при попытке скопировать файл поверх уже существующего не выводится никакого предупреждения. В этом случае файл будет просто перезаписан, а данные, которые содержались в старой версии файла, бесповоротно потеряны. Поэтому при использовании cp следует всегда быть внимательным и проверять имена файлов, которые нужно скопировать. Говоря о копировании, уместно вспомнить широко известное высказывание, приписываемое Уильяму Оккаму: Поэтому при наличии нескольких копий одного и того же файла в рамках одной файловой системы повышается вероятность запутаться в копиях или забыть о некоторых из них. Каждый файл представляет собой область данных на жёстком диске компьютера или на другом носителе информации, которую можно найти по имени. В файловой системе Linux содержимое файла связывается с его именем при помощи жёстких ссылок. Причём количество ссылок на одну и ту же область данных файл не ограничено, т. Пользователь Linux может добавить файлу ещё одно имя создать ещё одну жёсткую ссылку на файл при помощи утилиты ln сокращение от англ. По умолчанию ссылка будет создана в текущем каталоге. Доступ к одному и тому же файлу при помощи нескольких имён может понадобиться в следующих случаях: Одна и та же программа известна под несколькими именами. Доступ пользователей к некоторым каталогам в системе может быть ограничен из соображений безопасности. Однако если всё же нужно организовать доступ пользователей к файлу, который находится в таком каталоге, можно создать жёсткую ссылку на этот файл в другом каталоге. Современные файловые системы даже на домашних персональных компьютерах могут насчитывать до нескольких десятков тысяч файлов и тысячи каталогов. Полное имя некоторых программ может быть весьма длинным например, ialt-linux-gcc Поскольку благодаря жёстким ссылкам у файла может быть несколько имён, понятно, что вся существенная информация о файле в файловой системе привязана не к имени. В файловых системах Linux вся информация, необходимая для работы с файлом, хранится в индексном дескрипторе. Для каждого файла существует индексный дескриптор: Каждому файлу соответствует ровно один индексный дескриптор. Узнать номер индексного дескриптора любого файла можно при помощи всё той же утилиты ls с ключом -i:. Информация об индексных дескрипторах файлов. Было бы очень неудобно запоминать многозначный номер каждого нужного файла или каталога. Более того, имя или имена файла не указаны в его индексном дескрипторе. В файловой системе Ext2 имена файлов хранятся в каталогах: У жёстких ссылок есть два существенных ограничения: Жёсткая ссылка не может указывать на файл на другой файловой системе. Например, невозможно создать на жёстком диске жёсткую ссылку на файл, расположенный на дискете 6. Чтобы избежать этих ограничений, были разработаны символьные ссылки. Символьные ссылки, как и жёсткие, предоставляют возможность обращаться к одному и тому же файлу по разным именам. Кроме того, символьные ссылки могут указывать и на каталог, чего не позволяют жёсткие ссылки. Если на пути к файлу встречается символьная ссылка, система выполняет подстановку: Создание символьных ссылок Теперь Мефодий решил создать в своём домашнем каталоге и символьную ссылку на файл text и назвать её text-symlink. Команда ls -li отобразила этот файл совсем не так, как остальные: Однако если выполнить команду cat text-symlink , то на экран будет выведено содержимое файла text. Узнать, куда указывает символьная ссылка, можно при помощи утилиты realpath: В Linux для удаления файлов предназначена утилита rm сокращение от англ. No such file or directory Пример Разобравшись в ссылках, Мефодий решил удалить файл text в каталоге examples. После этого файл text-hardlink в домашнем каталоге Мефодия, который является жёсткой ссылкой на удалённый файл text продолжает благополучно существовать. Получается, что Мефодий удалил только одно из имён этого файла жёсткую ссылку , сам файл остался нетронутым. Утилита rm предназначена именно для удаления жёстких ссылок, а не самих файлов. В Linux, чтобы полностью удалить файл, требуется последовательно удалить все жёсткие ссылки на него. Пока есть хоть одна ссылка, файл продолжает существовать. Впрочем, у большинства файлов в Linux есть только одно имя одна жёсткая ссылка на файл , поэтому команда rm имя файла успешно удалит файл в большинстве случаев. Впрочем, rmdir согласится удалить каталог только в том случае, если он пуст: В Linux не предусмотрено процедуры восстановления удалённых файлов и каталогов. Поэтому стоит быть очень внимательным, отдавая команду rm и, тем более, rm -r: В разных файловых системах могут оказаться два разных файла с одинаковым номером индексного дескриптора, в результате будет невозможно установить, на какой из них указывает жёсткая ссылка. Использование dirname и basename.

Руководство пользователя: Операционная система и устройства

Как сделать фундамент на болотистой местности

Гербер 2017 гдебудет проходить

/ Лекции по информатике

Магазин лелик и болик уфа каталог

Женская одежда карла турция каталог

Понятие конкретного товара

Картоха перевод с армянского на русский

Текущий каталог

Бутерброды в мультиварке

Когда чищу зубы кровоточат десна что делать

Фильм про руку которая убивает

Лекция 9.2 Файлы и каталоги

Расписание электричек новосибирск южный обское море

Последние новости в образовании беларуси

Minecraft 1.5 2 скачать карты на двоих

Report Page