File system path linux

Переменная PATH в Linux

Когда вы запускаете программу из терминала или скрипта, то обычно пишете только имя файла программы. Однако, ОС Linux спроектирована так, что исполняемые и связанные с ними файлы программ распределяются по различным специализированным каталогам. Например, библиотеки устанавливаются в /lib или /usr/lib, конфигурационные файлы в /etc, а исполняемые файлы в /sbin/, /usr/bin или /bin.

Таких местоположений несколько. Откуда операционная система знает где искать требуемую программу или её компонент? Всё просто — для этого используется переменная PATH. Эта переменная позволяет существенно сократить длину набираемых команд в терминале или в скрипте, освобождая от необходимости каждый раз указывать полные пути к требуемым файлам. В этой статье мы разберёмся зачем нужна переменная PATH Linux, а также как добавить к её значению имена своих пользовательских каталогов.

Переменная PATH в Linux

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

На экране появится перечень папок, разделённых двоеточием. Алгоритм поиска пути к требуемой программе при её запуске довольно прост. Сначала ОС ищет исполняемый файл с заданным именем в текущей папке. Если находит, запускает на выполнение, если нет, проверяет каталоги, перечисленные в переменной PATH, в установленном там порядке. Таким образом, добавив свои папки к содержимому этой переменной, вы добавляете новые места размещения исполняемых и связанных с ними файлов.

Для того, чтобы добавить новый путь к переменной PATH, можно воспользоваться командой export. Например, давайте добавим к значению переменной PATH папку/opt/local/bin. Для того, чтобы не перезаписать имеющееся значение переменной PATH новым, нужно именно добавить (дописать) это новое значение к уже имеющемуся, не забыв о разделителе-двоеточии:

Теперь мы можем убедиться, что в переменной PATH содержится также и имя этой, добавленной нами, папки:

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

В ОС Ubuntu значение переменной PATH содержится в файле /etc/environment, в некоторых других дистрибутивах её также можно найти и в файле /etc/profile. Вы можете открыть файл /etc/environment и вручную дописать туда нужное значение:

Читайте также:  Watsapp ru web linux

Можно поступить и иначе. Содержимое файла .bashrc выполняется при каждом запуске оболочки Bash. Если добавить в конец файла команду export, то для каждой загружаемой оболочки будет автоматически выполняться добавление имени требуемой папки в переменную PATH, но только для текущего пользователя:

Выводы

В этой статье мы рассмотрели вопрос о том, зачем нужна переменная окружения PATH в Linux и как добавлять к её значению новые пути поиска исполняемых и связанных с ними файлов. Как видите, всё делается достаточно просто. Таким образом вы можете добавить столько папок для поиска и хранения исполняемых файлов, сколько вам требуется.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

A beginner’s guide to navigating the Linux filesystem

As a new Linux user, one of the first skills that you need to master is navigating the Linux filesystem. These basic navigation commands will get you up to speed.

Navigating the Linux file system

The basics

Great Linux resources

Before we get into commands, let’s talk about important special characters. The dot ( . ) , dot-dot ( .. ) , forward slash ( / ), and tilde ( ~ ), all have special functionality in the Linux filesystem:

  • The dot ( . ) represents the current directory in the filesystem.
  • The dot-dot ( .. ) represents one level above the current directory.
  • The forward slash ( / ) represents the «root» of the filesystem. (Every directory/file in the Linux filesystem is nested under the root / directory.)
  • The tilde ( ~ ) represents the home directory of the currently logged in user.

I believe that the best way to understand any concept is by putting it into practice. This navigation command overview will help you to better understand how all of this works.

The pwd command prints the current/working directory, telling where you are currently located in the filesystem. This command comes to your rescue when you get lost in the filesystem, and always prints out the absolute path.

What is an absolute path? An absolute path is the full path to a file or directory. It is relative to the root directory ( / ). Note that it is a best practice to use absolute paths when you use file paths inside of scripts. For example, the absolute path to the ls command is: /usr/bin/ls .

The results of typing pwd in your terminal window.

If it’s not absolute, then it’s a relative path. The relative path is relative to your present working directory. If you are in your home directory, for example, the ls command’s relative path is: . ./../usr/bin/ls .

Change directory ( cd )

The cd command lets you change to a different directory. When you log into a Linux machine or fire up a terminal emulator, by default your working directory is your home directory. My home directory is /home/kc . In your case, it is probably /home/ .

Читайте также:  Snap store linux mint

Absolute and relative paths make more sense when we look at examples for the cd command. If you need to move one level up from your working directory, in this case /home , we can do this couple of ways. One way is to issue a cd command relative to your pwd :

Note: Remember, .. represents the directory one level above the working directory.

The other way is to provide the absolute path to the directory:

Either way, we are now inside /home . You can verify this by issuing pwd command. Then, you can move to the filesystem’s root ( / ) by issuing this command:

If your working directory is deeply nested inside the filesystem and you need to return to your home directory, this is where the ~ comes in with the cd command. Let’s put this into action and see how cool this command can be. It helps you save a ton of time while navigating in the filesystem.

My present working directory is root ( / ). If you’re following along, yours should be same, or you can find out yours by issuing pwd . Let’s cd to another directory:

$ cd /home/kc/0/1/2/3/4/5/6/7/8/9 $ pwd /home/kc/0/1/2/3/4/5/6/7/8/9 

To navigate back to your home directory, simply issue ~ with the cd command:

Again, check your present working directory with the pwd command:

The dash ( — ) navigates back to the previous working directory, similar to how you can navigate to your user home directory with ~ . If you need to go back to our deeply nested directory 9 under your user home directory (this was my previous working directory), you would issue this command:

The output of using the tilde (~) as a filesystem navigation shortcut.

Wrapping up

These commands are your navigation tools inside the Linux filesystem. With what you learned here, you can always find your way to the home (~) directory. If you want to learn more and master the command line, check out 10 basic Linux commands.

Want to try out Red Hat Enterprise Linux? Download it now for free.

Источник

Getting the Absolute (Full) and Relative Path In Linux

Absolute Paths in Linux

This article explains absolute paths and how they differ from relative paths, getting them, and how symbolic links are handled.

FileSystem Paths

A path is the location of a file in a file system. It’s the directions to the file in the folder it is located.

Читайте также:  Edit file linux nano

A path consists of a string of characters. Some represent directory names, and a separator character separates the directory names from the file name and extension.

  • Forward slashes (/) to separate directories from their subdirectories
  • Directory Names – the text between the forward slashes
  • The file name – in this case, file.txt

Relative Paths

Relative paths are paths that are defined in relation to your current position in the file system.

You can find your current position using the pwd command:

Relative paths begin without a forward slash, or a . or ...

  • Paths beginning without a / or with a . start in the current directory
  • Paths beginning with .. start in the directory above the current directory (the parent of the current directory)

Example

If you are in the directory /home/user:

…and it contains a file called test.txt, you need only type:

…to view the contents of the file, as you are in the same directory as that file, and can access it using its relative path.

In the above example, the cd command is used to change the directory, and the cat command reads the contents of the file to the screen.

Absolute Paths

Absolute paths can be used from anywhere on the filesystem. They represent the full path of the file from the root (the very top) of the file system hierarchy. They are absolute because it’s the absolute location of the file on the file system. It is not relative to where you are or where you might be; the path will work when called from any location.

Example

Consider again that we are in the directory /home/user:

…and there is a file called another.txt located at /var/temp. Attempting to open it by running:

…will fail because that file doesn’t exist at /home/user. We can, however, access it at its absolute path:

As it provides the full location of the file and does not rely on the relative path we are currently situated.

Soft links (symlinks) are just files that point to another file. The absolute path is still the path to the symlink. If you want the path to the linked file itself, you will need to use the readlink command to find the absolute path of the linked file:

Hard links are also absolute paths – the data exists at multiple absolute paths but in only one location on the physical disk.

Источник

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