Linux показать полный путь до папки

Get current directory or folder name (without the full path)

How could I retrieve the current working directory/folder name in a bash script, or even better, just a terminal command. pwd gives the full path of the current working directory, e.g. /opt/local/bin but I only want bin .

24 Answers 24

No need for basename, and especially no need for a subshell running pwd (which adds an extra, and expensive, fork operation); the shell can do this internally using parameter expansion:

result=$ # to assign to a variable result=$ # to correct for the case where PWD=/ printf '%s\n' "$" # to print to stdout # . more robust than echo for unusual names # (consider a directory named -e or -n) printf '%q\n' "$" # to print to stdout, quoted for use as shell input # . useful to make hidden characters readable. 

Note that if you’re applying this technique in other circumstances (not PWD , but some other variable holding a directory name), you might need to trim any trailing slashes. The below uses bash’s extglob support to work even with multiple trailing slashes:

dirname=/path/to/somewhere// shopt -s extglob # enable +(. ) glob syntax result=$ # trim however many trailing slashes exist result=$ # remove everything before the last / that still remains result=$ # correct for dirname=/ case printf '%s\n' "$result" 

Alternatively, without extglob :

dirname="/path/to/somewhere//" result="$">" # extglob-free multi-trailing-/ trim result="$" # remove everything before the last / result=$ # correct for dirname=/ case 

Источник

🐧 Получение абсолютного пути к файлу на Linux

Мануал

Вы можете получить полный путь к текущему каталогу с помощью команды pwd:

Но как получить абсолютный путь к файлу в системах Linux?

Существует несколько способов вывести полный путь к файлам:

Позвольте мне показать вам эти команды по очереди.

Но перед этим я предлагаю сначала ознакомиться с основами концепции абсолютного и относительного пути.

Команда readlink предназначена для разрешения символических ссылок.

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

 
readlink -f sample.txt
/home/itsecforu/sample.txt

Использование команды для получения полного пути к файлу

Команда realpath используется для разрешения абсолютных имен файлов.

Помимо прочего, она может показать полный путь к файлу.

 
realpath sample.txt
/home/itsecforu/sample.txt

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

Вы можете заставить его не следовать за символической ссылкой:

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

 
realpath linking-park
/home/itsecforu/Documents/ubuntu-commands.md
realpath -s linking-park

Используем команду find для получения абсолютного пути к файлу

Вот в чем дело с командой find.

Все относительно каталога, который вы указываете для поиска.

Если вы укажете ей ., она покажет относительный путь.

Если вы укажете абсолютный путь к каталогу, вы получите абсолютный путь к искомым файлам.

Используйте подстановку команд с командой find следующим образом:

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

 
find $(pwd) -name sample.txt
/home/itsecforu/sample.txt

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

 
find $(pwd) -name "*.pdf"
/home/itsecforu/Documents/eBooks/think-like-a-programmer.pdf
/home/itsecforu/Documents/eBooks/linux-guide.pdf
/home/itsecforu/Documents/eBooks/absolute-open-bsd.pdf
/home/itsecforu/Documents/eBooks/theory-of-fun-for-game-design.pdf
/home/itsecforu/Documents/eBooks/Ubuntu 1804 english.pdf
/home/itsecforu/Documents/eBooks/computer_science_distilled_v1.4.pdf
/home/itsecforu/Documents/eBooks/the-art-of-debugging-with-gdb-and-eclipse.pdf

Выведем полный путь с помощью команды ls

Этот способ немного сложный и запутанный.

Вы можете использовать переменную окружения PWD с командой ls следующим образом, чтобы отобразить файлы и каталоги с их абсолютным путем:

Вы получите результат, подобный этому:

 
ls -ld $PWD/*
-r--rw-r-- 1 itsecforu itsecforu 0 Jul 27 16:57 /home/itsecforu/test/file2.txt
drwxrwxr-x 2 itsecforu itsecforu 4096 Aug 22 16:58 /home/itsecforu/test/new

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

Не самое чистое решение, но оно работает.

$ ls -l $PWD/sample.txt -rw-r--r-- 1 itsecforu itsecforu 12813 Sep 7 11:50 /home/itsecforu/sample.txt 

Заключение

Мы рассмотрели четыре различных способа получения полного пути к файлу в Linux.

Команды find и ls являются обычными, в то время как realpath и readlink едва ли известны многим пользователям Linux.

Всегда полезно узнавать что-то новое, не так ли?

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!

  • Аудит ИБ (49)
  • Вакансии (12)
  • Закрытие уязвимостей (105)
  • Книги (27)
  • Мануал (2 306)
  • Медиа (66)
  • Мероприятия (39)
  • Мошенники (23)
  • Обзоры (820)
  • Обход запретов (34)
  • Опросы (3)
  • Скрипты (114)
  • Статьи (352)
  • Философия (114)
  • Юмор (18)

Anything in here will be replaced on browsers that support the canvas element

OpenVPN Community Edition (CE) – это проект виртуальной частной сети (VPN) с открытым исходным кодом. Он создает защищенные соединения через Интернет с помощью собственного протокола безопасности, использующего протокол SSL/TLS. Этот поддерживаемый сообществом проект OSS (Open Source Software), использующий лицензию GPL, поддерживается многими разработчиками и соавторами OpenVPN Inc. и расширенным сообществом OpenVPN. CE является бесплатным для […]

Что такое 404 Frame? Большинство инструментов для взлома веб-сайта находятся в 404 Frame. Итак, что же представляют собой команды? Вы можете отдавать команды, используя повседневный разговорный язык, поскольку разработчики не хотели выбирать очень сложную систему команд. Команды Команды “help” / “commands” показывают все команды и их назначение. Команда “set target” – это команда, которая должна […]

В этой заметке вы узнаете о блокировке IP-адресов в Nginx. Это позволяет контролировать доступ к серверу. Nginx является одним из лучших веб-сервисов на сегодняшний день. Скорость обработки запросов делает его очень популярным среди системных администраторов. Кроме того, он обладает завидной гибкостью, что позволяет использовать его во многих ситуациях. Наступает момент, когда необходимо ограничить доступ к […]

Знаете ли вы, что выполняется в ваших контейнерах? Проведите аудит своих образов, чтобы исключить пакеты, которые делают вас уязвимыми для эксплуатации Насколько хорошо вы знаете базовые образы контейнеров, в которых работают ваши службы и инструменты? Этот вопрос часто игнорируется, поскольку мы очень доверяем им. Однако для обеспечения безопасности рабочих нагрузок и базовой инфраструктуры необходимо ответить […]

Одной из важнейших задач администратора является обеспечение обновления системы и всех доступных пакетов до последних версий. Даже после добавления нод в кластер Kubernetes нам все равно необходимо управлять обновлениями. В большинстве случаев после получения обновлений (например, обновлений ядра, системного обслуживания или аппаратных изменений) необходимо перезагрузить хост, чтобы изменения были применены. Для Kubernetes это может быть […]

Источник

Читайте также:  Epson perfection v19 linux driver
Оцените статью
Adblock
detector