Ми часто працюємо з файлами Linux під час створення сценаріїв оболонки. Але іноді нам потрібно знати повний шлях до файлу, над яким ми працюємо, і ця стаття розповість вам, як отримати повний шлях до файлу. Ми перерахували деякі методи, які допоможуть вам знайти розташування певного файлу.
Але перш ніж йти далі, давайте спочатку створимо файл:
шари моделі osi
Наведений вище результат чітко показує, що file.txt успішно створено.
Тепер ми розглянемо методи, які дають нам повний шлях до файлу. Загалом у цій статті наведено 6 методів. Вони включають:
Спосіб 1: Команда readlink
Команда readlink використовується для друку канонічних імен файлів. Ми будемо використовувати параметр -f у поєднанні з посиланням для читання, щоб надрукувати розташування файлу. Ось реалізація та результат:
Спосіб 2: Команда realpath
Команда realpath відображає абсолютний шлях до файлу. Ми не будемо використовувати тут жодного параметра, на відміну від команди readlink. Реалізація та результат наведені нижче:
Спосіб 3: Команда dirname
Ще одна цікава опція — це команда dirname. Він бере повний шлях до файлу, видаляє ім’я файлу зі шляху та відображає решту на екрані. Перегляньте реалізацію та результат нижче:
Спосіб 4: Комбінація команд basename та dirname
Ми бачили, як використовувати команду dirname. Але є ще одна річ, яку ми можемо зробити за допомогою цієї команди. Ми можемо поєднати цю команду з іншою під назвою basename. Команда basename виконує повну протилежність команді dirname. Він бере повний шлях до файлу, видаляє все, що з’являється перед назвою файлу, і відображає решту на екрані.
Тепер ми переходимо до демонстрації. Але перш ніж продемонструвати комбіноване використання базового імені та імені каталогу, ми спочатку подивимося, як працює базове ім’я:
Зрозуміло, що наведений вище результат показує лише назву файлу.
Далі ми побачимо, як команди вище можна використовувати разом. Давайте створимо сценарій оболонки під назвою file_path.sh, який містить наступне:
#!/bin/bash echo '$(cd '$(dirname '')' && pwd -P)/$(basename '')'>
Вище ми використали команду dirname, щоб знайти розташування файлу, який ми введемо як перший аргумент командного рядка. Потім ми перейшли до розташування файлу та надрукували поточний робочий каталог. Ми запитали фізичне розташування файлу за допомогою команди -P. Нарешті, ми використали команду basename для друку лише назви файлу.
Якщо ми виконаємо наведений вище сценарій оболонки, результат буде таким:
Ми бачимо вище, що результати цих двох команд об’єднані в одну, щоб отримати повний шлях до файлу.
Спосіб 5: Команда пошуку
The знайти команду це ще один спосіб отримати повний шлях до файлу. Давайте подивимося, як це працює:
Вище ми використали команду find із такими підкомандами, щоб отримати розташування файлу:
- The - тип f команда допомагає нам шукати файли.
- The - ім'я Команда допомагає нам шукати файли в поточному робочому каталозі та його підкаталогах.
Наведений вище вихід чітко показує нам повний шлях до файлу.
дискета
Спосіб 6: Команда ls
Ще одним способом є використання команди ls. Якщо каталог передається як аргумент, то він перераховує всі файли та папки, які знаходяться в цьому каталозі. Але якщо разом із командою pwd передається ім’я файлу, команда показує нам розташування файлу. Перегляньте наступне:
Вище ми бачимо, що на екрані відображається повний шлях до файлу.
Висновок :
У цій статті ми обговорили деякі корисні способи отримати повний шлях до файлу. Отже, наступного разу, коли ви застрягнете, скористайтеся одним із наведених вище методів, щоб негайно отримати відповідь.