Путь к файлу в Linux
Все файлы в Linux имеют определенный адрес в файловой системе, с помощью которого мы можем получить к ним доступ с помощью файлового менеджера или консольных утилит. Это довольно простая тема, но у многих новичков с этим возникают трудности.
В сегодняшней небольшой заметке мы рассмотрим что такое путь к файлу Linux, каким он может быть, как правильно его писать и многое другое. Если раньше у вас возникали с этим трудности, то после прочтения статьи все станет полностью понятно.
Пути файлов в Linux
Файловая система Linux очень сильно отличается от Windows. Мы не будем рассматривать ее структуру, это было сделано ранее. Мы сосредоточимся на работе с файлами.
Самое главное отличие, в том что адрес файла начинается не с диска, например, C:\ или D:\ как это происходит в Windows, а с корня, корневого системного каталога, к которому подключены все другие. Его адрес — /. И тут нужно сказать про адреса. Пути файлов linux используют прямой слеш «/» для разделения каталогов в адресе, и это отличается от того, что вы привыкли видеть в Windows — \.
Например, если в Windows полный путь к файлу на рабочем столе выглядел C:\Users\Sergiy\Desktop\ то в путь файла в linux будет просто /home/sergiy/desktop/. С этим пока все просто и понятно. Но проблемы возникают дальше.
В операционной системе Linux может быть несколько видов путей к файлу. Давайте рассмотрим какие бывают пути в linux:
- Полный, абсолютный путь linux от корня файловой системы — этот путь вы уже видели в примере выше, он начинается от корня «/» и описывает весь путь к файлу;
- Относительный путь linux — это путь к файлу относительно текущей папки, такие пути часто вызывают путаницу.
- Путь относительно домашний папки текущего пользователя. — путь в файловой системе, только не от корня, а от папки текущего пользователя.
Рассмотрим теперь подробнее как выглядят эти пути в linux, а также разберем несколько примеров, чтобы было окончательно понятно. Для демонстрации будем пользоваться утилитой ls, которая предназначена для просмотра содержимого каталогов.
Например, у нас есть такой каталог в домашней папке с четырьмя файлами в нем:
ls
Вот так будет выглядеть полный путь linux к одному из файлов:
ls /home/sergiy/tmp/file1
Это уже относительный путь linux, который начинается от домашней папки, она обозначается ~/. Заметьте, не ~, а именно ~/. Дальше вы уже можете указывать подпапки, в нашем случае tmp:
ls ~/tmp/file1
Ну или путь файла в linux, относительно текущей папки:
ls file1
В каждой папке есть две скрытые ссылки, мы сможем их увидеть с помощью ls, выполнив ее с параметром -a:
ls -a
Первая ссылка указывает на текущую папку (.), вторая (..) указывает на папку уровнем выше. Это открывает еще более широкие возможности для навигации по каталогам. Например, чтобы сослаться на файл в текущей папке можно использовать конструкцию:
./file1
Это бесполезно при просмотре содержимого файла. Но очень важно при выполнении программы. Поскольку программа будет сначала искаться в среде PATH, а уже потом в этой папке. А потому, если нужно запустить программу, которая находится в текущей папке и она называется точно также как и та что в каталоге /bin, то без явной ссылки что файл нужно искать в текущей папке ничего не получится.
Вторая ссылка вам позволяет получить доступ к файлам в папке выше текущей. Например:
ls ../tmp/file1
Такие конструкции могут довольно часто встречаться при компиляции программ. Все эти символы и пути файлов linux вы можете применять не только в терминале, но и в любом файловом менеджере, что может быть очень удобно.
Но терминал Linux предоставляет еще более широкие возможности. Вы можете использовать простые символы замены прямо в адресах файлов или каталогов. Например, можно вывести все файлы, начинающиеся на f:
ls ./f*
Или даже можно искать не только в папке tmp, а в любой подпапке домашней папки:
ls ~/*/f*
И все это будет работать, возможно, это не всегда нужно и практично. Но в определенных ситуациях может очень сильно помочь. Эти функции реализуются на уровне оболочки Bash, поэтому вы можете применять их в любой команде. Оболочка смотрит сколько файлов было найдено и для каждого из них вызывает команду.
Выводы
Вот и все. Теперь вы знаете все что необходимо, чтобы не только правильно написать путь к файлу linux, но и выполнять более сложные действия, например, поиск файлов или навигация по каталогам с помощью команды cd. Если у вас остались вопросы, спрашивайте в комментариях!
Оцените статью:
Загрузка…Абсолютный или относительный путь к файлам
При разработке сайтов, всегда приходится прописывать пути к файлам, ссылки на документы, страницы. Эти пути могут быть абсолютными или относительными. Сами названия могут объяснить их суть, но все же, мы рассмотрим каждый путь отдельно и опишем основные характеристики.Очень важно понимать и правильно принять решение, где и какой путь нужно и лучше использовать. Следует также заметить, что абсолютный путь можно указать только одним способом. А вот относительный имеет несколько вариантов использования.
Абсолютный путь
Абсолютный путь представляет из себя полный URL файла или страницы. В адресе обязательно должен присутствовать используемый протокол. Живым примером может быть путь «http://profiphp.ru«, где протоколом является «Http«.
Использование абсолютного пути может привести к маленькой проблеме, если сайт будет переноситься на новый домен. Придется все пути типа «http://oldsite.com» заменять на «http://newsite.com«. Но это маленькая проблема, поэтому не стоит на ее обращать особое внимание. Но такой подход даст и плюсы, например, когда ваша публикация используется на другом сайте — будет прямая ссылка на ваш ресурс. В большинстве случаев, абсолютный путь используется, тогда, когда нужно дать ссылку на другой сайт.
Относительный путь
По статистике, относительные пути используются чаще абсолютных. Существует два вида относительных путей: путь к документу (используется чаще всего), и путь относительно корня сайта. При использовании пути по документу, нужно учитывать исходное расположение файлов.
Допустим, документы могут храниться в различных каталогах на сервере. Тогда вызов одного документа с другого каталога осуществляться с помощью специальных последовательностей символов:
../ — служит для перехода на одну директорию (уровень) выше в иерархии каталогов. Последовательность символов «../» можно использовать неоднократно (../../), если документ находиться выше на 2 уровня.
./ — служит для обозначения текущей директории.
Все пути относительно корня сайта начинаются со знака «/«. Например, «/images/picture.png» означает, что файл «picture.png» находится в папке «images«, которая расположена в корневом каталоге.
Что касается PHP, в большинстве случаев пути к файлам используются при подключении файлов к скрипту. Делается все это с помощью конструкций Include или Require.
В таких скриптах желательно использовать абсолютные пути, хотя все в мире относительно)
Этот путь задается в конфигурации веб-сервера и именно он содержится в системной переменной PHP $_SERVER[‘DOCUMENT_ROOT’]. Также для решения этих проблем будут полезны функции Getcwd и функция Chdir.
Как указать путь к файлу: основные правила
Несмотря на достаточно высокую автоматизацию всех процессов и пользовательских действий, которые предусмотрены в Windows-системах, иногда возникает необходимость ручного задания пути к какому-то объекту, хранящемуся на локальных дисках или на удаленных серверах в Интернете. Ситуаций, когда крайне необходимо вводить такие данные, может быть очень много, но обычно рядовые пользователи ограничиваются простейшими действиями при задании выполнения команд в командной строке, при быстром вызове программных модулей, при проверке расположения объектов на локальных или сетевых ресурсах и т. д. Далее попробуем определиться, как указать путь к файлу или к любому другому объекту, затронув только самые основные аспекты и действия, которые могут понадобиться в повседневной работе, не вникая в нюансы организации сложных структур веб-страниц.
Что такое путь к файлу, каталогу, диску или веб-странице?
Для начала давайте определимся с основным понятием пути файла. Что это такое? Грубо говоря, путь к любому объекту представляет собой полную или сокращенную ссылку на его физическое местоположение на жестком диске или в Интернете (но тоже на жестком диске удаленного сервера или компьютера). В некотором смысле компьютерное указание пути можно сравнить со всем привычным почтовым адресом, где вы проживаете.
Так, например, в адресе указывается страна, город, улица, дом, корпус, квартира и имя жильца. Аналогия здесь такая:
- страна – диск или удаленный сетевой ресурс;
- имя жильца или адресата – название конечного файла;
- все остальное – промежуточные подпапки.
Многие могут заметить, что в почтовом адресе указывается еще и индекс города. Его чисто условно можно соотнести, скажем, с IP-адресом страницы в Интернете или в сетевом окружении, поскольку для локальных ресурсов такие пути практически никогда не используются.
Теперь давайте посмотрим, как указать путь к файлу, исходя из такой аналогии. Для начала рассмотрим локальные ресурсы, то есть носители, подключенные непосредственно к одному компьютеру.
Типы путей
Но тут сразу стоит сделать еще одно небольшое отступление. При указании пути к любому объекту нужно учитывать, что они могут быть либо абсолютными (полными), либо относительными (сокращенными). Полные пути применяются для указания точного местоположения искомого объекта, а относительные предназначены для объектов, которые могут находиться в определенных папках, для которых указывать их расположение изначально не нужно (это чаще всего применяется в веб-программировании при создании ссылок для перехода к документу).
Как записывать путь к файлу в Windows-системах: общие правила
Но это все пока что была теория. Перейдем к практике.
Итак, абсолютный путь всегда должен начинаться с указания литеры (буквы) диска или носителя, после которой ставится двоеточие. После него вписывается обратный слэш (черта с наклоном влево), далее указываются все промежуточные каталоги (опять же через разделитель в виде слэша), а в конце вписывается имя файла с обязательным указанием его расширения.
Запись путей для веб-страниц
Теперь отдельно стоит сказать о том, как указать путь к файлу, находящемуся на удаленном сервере (в Интернете). Понятно, что в этом случае точно определить букву диска вы не сможете. Собственно, это и не нужно.
В качестве абсолютного пути указывается последовательность, в которой первым вписывается название протокола (например, http, https и т. д.). Затем ставится двоеточие, указывается двойной правый слэш. После этого через одинарный правый слэш прописываются все промежуточные страницы (ресурсы). А в конце, как и в прошлом случае, задается название файла с расширением или имя содержащего его каталога (или страницы) для просмотра всех объектов.
Как узнать, где находится файл?
Но очень часто можно встретить ситуации, когда абсолютный путь к нужному объекту вы не знаете, а его срочно нужно определить. Для этого можете воспользоваться «Проводником» и просто задать название файла в специальном поисковом поле или выполнить аналогичный поиск по расширению, вписав его после точки и заключив в звездочки.
В случае с папками в адресной строке путь можно будет скопировать, используя для этого пункт меню ПКМ «Копировать адрес как текст», а затем вставить в нужное место, дописав название файла вручную. Однако можно использовать свойства самого файла, где тоже будет указана директория, в которой он находится.
А вот в случае наличия для файла ярлыка уже в его свойствах следует обратить внимание на поле типа объекта. В котором как раз и будет указан абсолютный путь.
Методы быстрого копирования путей и открытия нужных файлов
Как указать путь к файлу, немного разобрались. Теперь кратко остановимся на некоторых методах, позволяющих ускорить открытие файлов или копирование их адресов (путей).
Например, используя копирование, описанное выше, ссылки на абсолютные пути файлов можно вставлять в командную консоль, но при этом сам путь с обеих сторон должен заключаться в кавычки. Чтобы не заниматься такими вещами, можете просто перетащить нужный объект из «Проводника» в командную строку. Если это исполняемый файл программы, она запустится немедленно. Если же это какой-то документ, он будет автоматически открыт в сопоставленном ему приложении.
Напоследок остается добавить, что очень часто может потребоваться использовать консоль «Выполнить». В качестве простейших команд в ней вводятся именно названия исполняемых компонентов, для которых путь доступа к файлу и расширение запускаемого объекта очень часто указывать не нужно. Почему? Да только потому, что меню «Выполнить» в основном предназначено для вызова исполняемых апплетов (обычно EXE-формата и некоторых других), находящихся по умолчанию либо в директории System32, либо в каталоге Windows.
Например, для запуска редактора реестра достаточно вписать только имя файла regedit, для старта стандартного «Блокнота» — notepad, для командной строки — cmd и т. д. В принципе, если выполнить некоторые нехитрые настройки, для такого типа быстрого запуска можно указать любое приложение или какой-то документ, но это уже отдельная тема для разговора.
ALLUSERSPROFILE | Возвращает размещение профиля «All Users». В Windows 7 возвращает путь к папке C:\ProgramData\. |
APPDATA | Возвращает используемое по умолчанию размещение данных приложений. В Windows XP это C:\Documents and Settings\%UserName%\Application Data. В Windows 7 — C:\Users\%UserName%\AppData\Roaming. |
CD | Указывает путь к текущему каталогу. Идентична команде CD без аргументов. |
CLIENTNAME | Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа. |
CMDCMDLINE | Точная команда, использованная для запуска текущего cmd.exe. |
CMDEXTVERSION | Версия текущего Command Processor Extensions. |
COMMONPROGRAMFILES | Расположение каталога «Common Files» (обычно %ProgramFiles%\Common Files). |
COMMONPROGRAMFILES(x86) | Расположение каталога «Common Files» в Program Files (x86) для 64-разрядной ОС (обычно %ProgramFiles(x86)%\Common Files). |
COMPUTERNAME | Имя компьютера |
COMSPEC | Путь к исполняемому файлу командного процессора (shell). |
DATE | Возвращает текущую дату. Использует тот же формат, что и команда date /t. Создаётся командой Cmd.exe. |
ERRORLEVEL | Возвращает код ошибки последней использовавшейся команды. Значение, не равное нулю, обычно указывает на наличие ошибки. |
HOMEDRIVE | Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
HOMEPATH | Возвращает полный путь к основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
HOMESHARE | Возвращает сетевой путь к общему основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
LOCALAPPDATA | Возвращает используемое по умолчанию локальное размещение данных приложений (C:\Users\%UserName%\AppData\Local). |
LOGONSERVER | Имя контроллера домена, использовавшегося для авторизации текущего пользователя. |
NUMBER_OF_PROCESSORS | Количество процессоров в системе. |
OS | Название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT. |
PATH | Указывает путь поиска исполняемых файлов. |
PATHEXT | Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые. |
PROCESSOR_ARCHITECTURE | Архитектура процессора. Возможные варианты: x86, IA64, AMD64. |
PROCESSOR_IDENTIFIER | Описание процессора (в Интернете часто встречается ошибочное написание PROCESSOR_IDENTFIER — пропущена буква). |
PROCESSOR_LEVEL | Номер модели процессора. |
PROCESSOR_REVISION | Ревизия процессора. |
PROGRAMDATA | Возвращает путь к каталогу C:\ProgramData\ (аналогично ALLUSERSPROFILE). |
PROGRAMFILES | Путь к каталогу Program Files. |
PROGRAMFILES(x86) | Путь к каталогу Program Files (x86) в 64-разрядных системах для приложений архитектуры x86. |
PROMPT | Возвращает параметры командной строки для текущего интерпретатора. Создаётся командой Cmd.exe. |
PUBLIC | В Windows 7 возвращает путь к каталогу C:\Users\Public. |
RANDOM | Случайное десятичное число от 0 до 32767. Генерируется Cmd.exe. |
SESSIONNAME | Хранит имя активного пользовательского сеанса. При локальном входе имеет значение «Console», при удаленном доступе имеет вид RDP-Tcp#<номер сеанса> |
SYSTEMDRIVE | Диск, на котором расположен корневой каталог Windows. |
SYSTEMROOT | Путь к корневому каталогу Windows. |
TEMP or TMP | Возвращает временные каталоги, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно — совпадают. |
TIME | Возвращает текущее время. Использует тот же формат, что и команда time /t. Создаётся командой Cmd.exe. Дополнительные сведения о команде time см. в разделе Time. |
USERDOMAIN | Имя домена, которому принадлежит текущий пользователь. |
USERNAME | Имя текущего пользователя. |
USERPROFILE | Путь к профилю текущего пользователя. |
WINDIR | Каталог, в котором установлена Windows. |
Путь к файлу
Раздел: Контрольные по информатике / Контрольная № 1
Путь к файлу — это очень простая тема, которая, тем не менее, вгоняет в ступор большинство пользователей, особенно с гуманитарным складом ума.
В этой статье я попробую разжевать, разобрать “по косточкам” эту тему настолько подробно и внятно, чтобы стало понятно абсолютно любому человеку, даже если он только вчера сел за компьютер.
Надеюсь, вы уже знаете, что такое файл. Поэтому разбирать этот термин здесь не будем. А будем вести рассказ только о пути к файлу.
Забегая вперёд, скажу, что есть два способа добраться до файла — используя либо полный путь к файлу, либо относительный путь. Подробнее об этом чуть позже, а пока разберёмся с именем файла.
Имя файла
Имя файла в операционных системах DOS/Windows состоит из трёх частей:
- Название (имя).
- Разделитель.
- Расширение.
ПРИМЕЧАНИЕ
По умолчанию в Windows расширения файлов скрыты, так что в Проводнике вы можете их и не увидеть. Как сделать их видимыми — зависит от операционной системы.
В первых версиях операционной системы DOS имя (то есть первая часть имени файла) не могла иметь длину более 8 символов. Сейчас это ограничение снято. Однако я настоятельно рекомендую не давать файлам слишком длинные имена. Потому что если полный путь к файлу (о полном пути будет сказано далее) будет превышать 255 символов, то вы можете столкнуться с разного рода неприятностями (особенно в операционных системах вплоть до Windows XP).
Подробнее см. в бесплатной книге Компьютер для чайника.
Полный путь к файлу
Итак, с именем файла мы разобрались. И это уже хорошо. Теперь определимся с тем, что такое полный путь к файлу.
Начнём с истоков. Где хранятся файлы? Правильно — на диске.
Поэтому начало пути любого файла — это диск (либо какой-то сетевой ресурс, но это уже отдельная тема).
Файл может храниться непосредственно на диске, либо в какой-то папке (каталоге, директории — это разные названия одного и того же объекта — папки). Папки могут быть вложенными другу в друга (как матрёшки).
То есть полный путь файла начинается с буквы диска и заканчивается именем файла. А между ними могут быть имена каталогов. Каталоги в DOS/Windows разделяются косой чертой (\).
Например, у нас на диске С есть папка 000, а в этой папке есть папка 010, а в этой папке тоже есть папка 100. А уже в папке 100 есть файл 111.ТХТ. Тогда полный путь к файлу будет такой:
С:\000\010\100\111.ТХТ
Относительный путь к файлу
С этим вопросом у новичков обычно сложнее. Потому что теорию относительности люди как-то плохо понимают ))))
Разумеется, относительный путь к файлу — это тема намного более простая, чем вышеупомянутая теория Эйнштейна. Поэтому разберёмся и с ней.
Итак, однозначно можно определить местоположение файла, если известен полный путь к нему.
Однако не всегда удобно использовать полный путь, потому что он слишком длинный. И если сейчас для пользователя это не так актуально, то во времена DOS и других подобных операционных систем, где приходилось работать только в командной строке, этот вопрос был очень и очень даже большой проблемой.
Поэтому, чтобы не писать полный путь к файлу для того, чтобы получить к нему доступ, придумали такую штуку как относительный путь.
Сначала давайте вспомним про вложенные папки (каталоги).
Итак, всё начинается с диска. Диск — это корневой каталог. Корневой — потому что он первый в пути, и дальше “расти” уже некуда. Диск — это корень. А дальше растут стволы и ветви (папки), а на ветвях растут листья (файлы).
Соответственно каждая папка имеет родителя (кроме корневого каталога). Но не каждая папка имеет детей (то есть вложенные папки). Что поделаешь — не всем везёт в любви )))
Следовательно, у каждой папки могут быть (а могут и не быть) дочерние папки. И у каждой папки (кроме корневого каталога) есть родительские папки.
Следовательно, в общем случае папка может быть родительской относительно своих “детей”, и дочерней относительно своих “родителей”.
Здесь всё как в жизни — вы чей-то ребёнок, и также чей-то родитель (ну или скоро будете)))
Для вашей мамы вы ребёнок, а для ваших детей — мама (или папа).
А теперь наконец после долгих лирических отступлений перейдём к относительности путей. Итак, снова вспомним наш пример:
С:\000\010\100\111.ТХТ
Здесь каталог 010 является дочерним относительно каталога 000, и он же является родительским по отношению к каталогу 100.
Когда вы работаете в командной строке или в Проводнике, то в текущий момент времени вы можете находиться только в одной папке.
Например, если вы работаете в командной строке и находитесь в папке 100 из нашего примера, то для открытия файла 111.ТХТ вам не надо набирать полный путь к файлу — достаточно написать только имя файла.
Имя файла в данном случае и будет относительным путём. То есть относительный путь — это часть полного пути относительно текущего каталога.
Например, вы находитесь в папке 010. То есть выше находятся
С:\000
а ниже находится каталог
100
Тогда относительный путь к файлу 111.ТХТ будет таким:
100\111.ТХТ
Так можно перемещаться вниз относительно текущего местоположения.
А можно ли перемещаться вверх?
Да, можно.
Для того, чтобы перейти на одну ступень вверх (то есть в родительский каталог) относительно текущего каталога, используются две точки ..
Например, если мы находимся здесь: С:\000\010\100, и в папке 010 у нас есть файл 011.ТХТ, то открыть его можно так:
..\011.ТХТ
А если в папке 000 у нас есть файл 001.ТХТ, то открыть его можно так:
..\..\001.ТХТ
Ну и так далее. Надеюсь, смысл вы уловили.
Как прописать путь к файлу
Вернёмся к полному пути, который мы рассмотрели выше:
С:\000\010\100\111.ТХТ
Если у вас есть такие папки и в этих папках есть такой файл, то вы можете ввести этот путь в командной строке, или прописать путь к файлу в адресной строке Проводника и нажать ENTER. Тогда файл откроется (если, конечно, у вас есть программа, которая сможет его открыть и с этой программой связан тип этого файла).
Командную строку можно вызвать комбинацией клавиш WIN+R или через меню ПУСК-ВЫПОЛНИТЬ.
Когда вы откроете командную строку, то можете непосредственно в ней ввести команду (в нашем случае командой будет путь к файлу) и нажать ENTER.
Если же вам любопытно немного помучиться и представить, как люди работали в DOS, то вы можете открыть командный интерпретатор. Для этого в командной строке наберите CMD (для Windows 2000 и выше) или COMMAND (для Windows 95/98/ME) и нажмите ENTER.
Откроется консоль (см. рис.), где вы можете вдоволь натешиться, вводя разные команды. Правда, для этого вы должны их знать — но это уже другая тема…
Если что-то осталось непонятным, то опять же отправляю вас к книге Компьютер для чайника.
Неправильный путь к файлу
Наверняка при работе за компьютером вы получали сообщение о том, что файл не найден, что указан неправильный путь или что-то типа того (см. рис. выше).
Причины подобных ошибок могут быть следующими:
- Файл не существует по указанному пути.
- Указанный путь не существует (например, вы указали диск D, а на вашем компьютере нет диска с такой буквой).
- В имени файла содержатся недопустимые символы (список недопустимых символов у каждой операционной системы свой).
- Путь к файлу слишком длинный, и операционная система не может его понять.
- Кодировка символов в пути к файлу не соответствует кодировке, установленной в операционной системе (это надо, в основном, программистам — обычные пользователи редко встречаются с такой проблемой).
Ну что же, на этом всё. Надеюсь, статья вам помогла. Не забудьте поделиться ссылкой с друзьями в социальных сетях.