Получить путь до папки linux

Содержание
  1. Путь к файлу в Linux
  2. Пути файлов в Linux
  3. Выводы
  4. Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации
  5. Предисловие
  6. Об этом руководстве
  7. Введение в bash
  8. Оболочка
  9. А у вас запущен bash?
  10. О bash
  11. Использование «cd»
  12. Абсолютные пути
  13. Относительные пути
  14. Использование ..
  15. Примеры относительных путей
  16. Понимание .
  17. cd и домашняя директория
  18. Другие домашние директории пользователей
  19. Об авторах
  20. Daniel Robbins
  21. Chris Houser
  22. Aron Griffis
  23. Сообщество InfoboxCloud
  24. Linux VPS
  25. Категории
  26. Прямой эфир
  27. Блоги
  28. Управляем файлами и директориями в Linux
  29. Как узнать абсолютный путь к директории?
  30. Как перейти в нужную директорию?
  31. Как просмотреть содержимое директории?
  32. Сколько свободного и занятого места?
  33. Как найти файл или директорию
  34. Как создать директорию?
  35. Как удалить файл или директорию?
  36. Как переместить или переименовать файл или директорию?
  37. Как скопировать файл или директорию
  38. Создаем ссылки
  39. Как создать пустой файл
  40. Как отредактировать текстовый файл
  41. Как скопировать файл или директорию по SSH на сервер и обратно
  42. Файловый менеджер для Linux

Путь к файлу в 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, которая предназначена для просмотра содержимого каталогов.

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

Вот так будет выглядеть полный путь linux к одному из файлов:

Это уже относительный путь linux, который начинается от домашней папки, она обозначается

/. Дальше вы уже можете указывать подпапки, в нашем случае tmp:

Ну или путь файла в linux, относительно текущей папки:

В каждой папке есть две скрытые ссылки, мы сможем их увидеть с помощью ls, выполнив ее с параметром -a:

Первая ссылка указывает на текущую папку (.), вторая (..) указывает на папку уровнем выше. Это открывает еще более широкие возможности для навигации по каталогам. Например, чтобы сослаться на файл в текущей папке можно использовать конструкцию:

Это бесполезно при просмотре содержимого файла. Но очень важно при выполнении программы. Поскольку программа будет сначала искаться в среде PATH, а уже потом в этой папке. А потому, если нужно запустить программу, которая находится в текущей папке и она называется точно также как и та что в каталоге /bin, то без явной ссылки что файл нужно искать в текущей папке ничего не получится.

Вторая ссылка вам позволяет получить доступ к файлам в папке выше текущей. Например:

Такие конструкции могут довольно часто встречаться при компиляции программ. Все эти символы и пути файлов linux вы можете применять не только в терминале, но и в любом файловом менеджере, что может быть очень удобно.

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

Или даже можно искать не только в папке tmp, а в любой подпапке домашней папки:

И все это будет работать, возможно, это не всегда нужно и практично. Но в определенных ситуациях может очень сильно помочь. Эти функции реализуются на уровне оболочки Bash, поэтому вы можете применять их в любой команде. Оболочка смотрит сколько файлов было найдено и для каждого из них вызывает команду.

Выводы

Вот и все. Теперь вы знаете все что необходимо, чтобы не только правильно написать путь к файлу linux, но и выполнять более сложные действия, например, поиск файлов или навигация по каталогам с помощью команды cd. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации

Предисловие

Об этом руководстве

Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.

Читайте также:  Как восстановить все стандартные приложения windows 10

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

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

Введение в bash

Оболочка

Если вы уже использовали Linux ранее, то наверняка знаете, что после входа в систему вас приветствует приглашение, которое выглядит примерно так:

На практике приглашение, которое вы видите, может немного отличаться. Например, оно может содержать имя хоста, имя текущей рабочей директории, или все вместе. Не зависимо от того, как выглядит ваше приглашение, есть одна несомненная вещь: программа, которая выводит это приглашение, называется оболочка интерпретатора команд (от англ. shell — оболочка, он же командная строка или терминал — прим. пер.), и, вероятнее всего, вашей командной оболочкой будет ‘bash’.

А у вас запущен bash?

Вы можете убедиться, что используете bash, набрав:

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

О bash

Bash — это акроним от Bourne-again-shell, от англ. «ещё-одна-командная-оболочка-Борна» или «рождённая-вновь-командная оболочка» (тут игра слов Bourne/born — прим. пер.), и является оболочкой по умолчанию для большинства Linux-систем. Задача оболочки получать от вас команды, через которые вы взаимодействуете с Linux-системой. После того, как вы закончили ввод команд, вы можете выйти из оболочки (exit) или закончить сеанс (logout), в этом случае вы увидите приглашение входа в систему.

Кстати, вы также можете выйти из оболочки bash нажав control-D в приглашении.

Использование «cd»

Вы, возможно, уже обнаружили, что пялиться на приглашение bash — не самое впечатляющее занятие в мире. Ну что ж, давайте узнаем как путешествовать по нашей файловой системе. В приглашении введите пожалуйста следующую команду (без $):

Вы только что сообщили bash, что хотите работать в директории /, также известной, как корневая; все директории в системе имеют форму дерева, и / является его вершиной, т.е. корнем (в информатике деревья растут наоборот, корень вверху, а ветки спускаются вниз — прим. пер.). cd устанавливает директорию, в которой вы в данный момент работаете, также известную как «текущая рабочая директория».

Чтобы узнать текущую рабочую директорию в bash нужно набрать:

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

Абсолютные пути

Ниже несколько из них:

/dev
/usr
/usr/bin
/usr/local/bin

Как можно заметить, у всех абсолютных путей есть одна общая черта, они начинаются с /. Указывая, допустим, /usr/local/bin в качестве аргумента для cd, мы сообщаем, что хотим попасть в / директорию, затем в usr директорию внутри нее, и так далее в local и bin, вниз по дереву. Абсолютные пути всегда отсчитываются начиная от / сперва.

Относительные пути

Другой тип пути называется «относительный путь». bash, cd, и другие команды всегда интерпретируют их относительно текущей директории. Относительные пути НИКОГДА не начинаются с /. Так, если мы сначала переместимся в /usr:

То, затем мы можем использовать относительный путь local/bin, чтобы попасть в директорию /usr/local/bin:

Использование ..

Относительные пути могут также содержать одну или более «..» директории. Директория «..» специальная; она указывает на родительскую директорию. Так, продолжая с примера выше:

Как видно, наша текущая директория теперь /usr/local. Мы смогли переместиться «назад» на одну директорию относительно текущей, где были до того.

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

Примеры относительных путей

Относительные пути могут быть чуточку более сложными. Ниже несколько примеров, попробуйте самостоятельно догадаться, где вы окажитесь после набора каждой из этих команд.

А теперь наберите их и проверьте свои предположения. 😉

Понимание .

Перед тем как мы закончим изучение cd, есть несколько моментов, которые необходимо прояснить. Во-первых, есть еще одна специальная директория «.», которая означает «текущая директория». Хотя она и не используется с командой cd, но часто используется для выполнения программы из текущей директории, как в следующем примере:

В данном случае будет запущена исполняемая программа myprog, находящаяся в текущей рабочей директории.

cd и домашняя директория

Если бы мы хотели переместиться в нашу домашнюю директорию, то могли бы набрать:

Без каких либо аргументов cd переместит в вашу домашнюю директорию, которая будет /root для суперпользователя, или обычно /home/username (где username — имя пользователя в системе — прим.пер.) для любого другого пользователя. Но, что если мы хотим указать файл в нашей домашней директории? Может быть мы хотим передать путь к файлу в качестве аргумента нашей программе myprog. Если файл расположен в нашей домашней директории, мы можем набрать:

Читайте также:  Linux размер дискового пространства

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

(тильда), чтобы проделать то же самое:

Другие домашние директории пользователей

Bash воспримет одиночную

как указатель на вашу домашнюю директорию, но вы также можете использовать её для указания на домашние директории других пользователей. Например, если мы хотели сослаться на файл под названием fredsfile.txt в домашней директории пользователя fred, то могли бы набрать:

Об авторах

Daniel Robbins

Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.

Chris Houser

Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.

Aron Griffis

Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».

Источник

Сообщество InfoboxCloud

Linux VPS

Категории

Прямой эфир

fadich 11 ноября 2015, 17:09

trukhinyuri 4 августа 2015, 04:41

trukhinyuri 23 января 2015, 14:46

trukhinyuri 30 октября 2014, 23:31

dimasmagadan 25 августа 2014, 09:12

trukhinyuri 22 июня 2014, 17:06

trukhinyuri 15 января 2014, 12:06

trukhinyuri 21 ноября 2013, 23:29

Блоги

  • Дата-центры0.00
  • Java0.00
  • Технологии разработки0.00
  • Производительность0.00
  • Облачные серверы Infobox Cloud0.00
  • Облачный хостинг Infobox Jelastic0.00
  • VPS от Infobox0.00
  • Быстрый хостинг сайтов Infobox0.00
  • Node.JS0.00
  • Истории успеха0.00

Управляем файлами и директориями в Linux

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

Вы научитесь:

  • создавать файлы и папки
  • перемещать и копировать файлы и папки
  • узнаете о ссылках
  • сможете легко переносить файлы на сервер, с него и между серверами.

и многое другое…


Примеры продемонстрированы на VPS от Infobox и на облачных VPS.

Для работы с сервером подключитесь к нему по SSH.

Как узнать абсолютный путь к директории?

Для того, чтобы узнать абсолютный путь к папке, где вы находитесь, используйте команду:

Как перейти в нужную директорию?

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

Абсолютный путь

Абсолютный путь всегда начинается от корня файловой системы /.
Например, для того, чтобы перейти по абсолютному пути с помощью команды cd в папку /var/logs используйте команду:

Относительный путь

— означает домашнюю директорию пользователя.

Например, мы находимся в директории /root/. Давайте перейдем в директорию /:

Мы сказали «перейди в директорию, лежащую выше этой по иерархии».

Давайте теперь перейдем в директорию root:

Это означает «перейди в директорию root, которая находится в директории, в которой мы сейчас находимся».
То же самое можно сделать, используя обозначение текущей директории:

Из любого места мы можем перейти в домашнюю директорию, используя команду:

Как просмотреть содержимое директории?

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


При этом не будут выведены скрытые файлы и директории (название скрытых файлов и директорий начинается с точки .).
Вы можете использовать дополнительные параметры команды ls.
Наиболее часто используемые:

  • ls -l – показать дополнительно список прав, размеры файлов, дату изменения и владельца;
  • ls -a – показать все, включая скрытые файлы;
  • ls -la – показать все, включая скрытые файлы, список прав, размеры файлов, дату изменения и владельцев;

Можно просмотреть дерево директорий с помощью команды:

Этого приложения может не быть в вашем дистрибутиве.
Если вы видите сообщение:
, установите программу tree.

В Debian и Ubuntu это можно сделать с помощью команды:

В CentOS и Oracle Linux:

Результат работы tree выглядит так:

Сколько свободного и занятого места?

Для того, чтобы узнать, сколько занятого и свободного места на диске, воспользуйтесь командой:


Как мы видим, объем диска 20 гигабайт, занято 2.9 гигабайта, свободно 16 гигабайт.

Для того, чтобы узнать размер директории или файла, воспользуйтесь командой:

Как найти файл или директорию

В этом вам поможет утилита find.

В самом простом случае использoвать ее можно так:

Будет осуществлен поиск файла или директории с именем file начиная от корневой директории /.


Опция -name чувствительна к регистру (различает заглавные и строчные буквы). Если вы не знаете, заглавные или строчные буквы используются в названии искомого файла, воспользуйтесь опцией -iname. С помощью опции -regex или -iregex можно найти что-то соответствующее регулярному выражению.

Команда find с параметром -exec позволяет выполнить команду для всего найденного.

Найдя любой файл с расширением .docx он будет скопирован в директорию /tmp.

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


Если вам необходимо найти только исполняемые файлы программ, которые указаны в путях переменных окружения, воспользуйтесь командой which:

Читайте также:  Щелчок при загрузке windows

Как создать директорию?

Для создания директории используйте команду mkdir.

Например, создадим в текущей директории директорию «foo»:

Для создания директорий и поддиректорий используйте команду mkdir -p:

Как удалить файл или директорию?

Для удаления воспользуйтесь командой rm:
rm file1.txt
Чтобы удалить и вложенные файлы и папки, добавьте параметр -r:

Если вы не хотите, чтобы вам был задан вопрос, спрашивающий разрешение на удаление, используйте параметр -f:

Если вы хотите удалить только пустую директорию, вам поможет команда rmdir:

Если директория не пустая, вы получите уведомление и удаление не будет выполнено.

Как переместить или переименовать файл или директорию?

Для перемещения файла или директории используйте команду mv:


Переименование можно представить, как перемещение в ту же директорию с другим именем.
Давайте переименуем директорию suda в tuda:


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


В данном примере мы переместили директорию tuda в директорию /var/www и переименовали в site.

Как скопировать файл или директорию

Скопировать файл можно с помощью команды cp:


Можно скопировать сразу несколько файлов в директорию, указанную в последнем параметре:

Для копирования директорий используйте параметр -r:


Так же вам может пригодиться параметр -u для копирования больших файлов и директорий. С его помощью будет выполняться копирование только если копируемый файл новее, чем существующий.

Создаем ссылки

Есть два типа ссылок: жесткие ссылки и символические ссылки.

Жесткие ссылки

Жесткие ссылки — это указатели на файлы. Всегда существует минимум одна жесткая ссылка на файл. Сам файл находится где-то на жестком диске и у него есть уникальный номер. Имя файла хранится отдельно в файловом индексе (inode). Также в файловом индексе содержится тот же уникальный номер. Файловый индекс — жесткая ссылка на файл. При создании еще одной жесткой ссылки появляется еще одна запись в файловом индексе со ссылкой на файл и тем же номером. Сам файл удалится только если будут удалены все жесткие ссылки на него.
Жесткая ссылка создается командой:

Можно убедиться, что уникальные номера файлов с жесткими ссылками одинаковы командой:

Символические ссылки

Символическая ссылка — специальный файл, указывающий на документ в другом месте дисковой иерархии. При удалении такой ссылки файл останется на месте. При удалении исходного файла или перемещении исходного файла ссылка тоже останется на месте, но будет вести на несуществующий адрес.

Создать символическую ссылку можно командой:

Как создать пустой файл

Для этого используйте команду:

Как отредактировать текстовый файл

Редактировать текстовые файлы нужно часто при настройке серверов и не только. В данном разделе мы дадим только вводную информацию. В дальнейшем вы можете изучать редакторы более глубоко.

nano – это простой редактор с графическим интерфейсом.
Для установки на CentOS или Oracle Linux выполните команду:

Для установки на Ubuntu и Debian используйте команду:

Для редактирования файла введите:


Редактировать можно сразу же после открытия редактора. Для сохранения изменений и выхода нажмите ctrl + X (^ в подсказках редактора обозначается, как нажатие на кнопку ctrl).


Будет предложено записать изменения на диск, нажмите Y.


На этом шаге можно изменить имя сохраняемого файла. Если это не требуется, просто нажмите Enter.


Мы видим, что изменения успешно записались в файл.

Если вы захотите научиться работать с текстовыми файлами эффективнее, рекомендуем изучать редакторы vim и emacs, но на начальном этапе знакомства с Linux без них можно обойтись.

Как скопировать файл или директорию по SSH на сервер и обратно

Соединение по SFTP с помощью Filezilla

Вы можете воспользоваться Filezilla и настроить соединение по STFP.
Установите клиент, нажмите кнопку создания нового подключения, как показано на скриншоте ниже:


Создайте новый сайт, укажите ip–адрес сервера, тип подключения SFTP, логин и пароль доступа к серверу и нажмите «Connect» (Соединиться).


Разрешите подключение к серверу в следующем окне.


Теперь соединение успешно установлено, вы можете перемещать данные на сервер и с сервера.

Копирование данных с помощью scp

Этот способ особенно полезен, если вы хотите переносить данные между серверами.

На вашем компьютере запустите терминал или Cygwin в Windows (руководство по установке Cygwin есть в этой статье).

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

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

Встает вопрос, как же указать местоположение на удаленном сервере. Это делается в формате:

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


Или давайте скопируем ее в папку /var/www:

Теперь давайте вернем папку temp из /var/www на наш компьютер:

– папка пользователя на нашем компьютере.

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

Убедитесь с помощью команды ls -la, что папка с сайтом (например /var/www/html) и сами файлы сайта доступны от пользователя, под которым работает веб-сервер. Для apache чаще всего пользователь: www-data. Если у вас файлы в папке сайта принадлежат пользователю root – сайт скорее всего не будет открываться.


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

Файловый менеджер для Linux

Спасибо, что дочитали статью до конца. Напоследок расскажем о графическом файловом менеджере для Linux Midnight Commander или просто mc.

Установка mc в CentOS или Oracle Linux:

Установка mc в Ubuntu или Debian:

Запустить файловый менеджер можно просто командой


Это классический двухпанельный файловый менеджер. Вы можете использовать функциональные кнопки компьютера f1… для операций согласно подсказкам на экране. С его помощью можно редактировать файлы, создавать папки, перемещать и копировать папки и файлы и многое многое другое. Этот менеджер может быть полезен на начальном этапе знакомства с Linux.

Для выхода из mc нажмите F10 и Enter.

Если вы нашли ошибку в статье, считаете, что нужно добавить что-то важное или просто у вас есть вопрос — напишите нам.

Успешного использования Linux на VPS от Infobox и на облачных VPS.

Источник

Оцените статью