Вопрос или проблема
“Закладки” в Linux
Помимо псевдонимов и ссылок, есть ли простой способ в Linux помечать часто используемые директории и навигировать в них из терминала?
Чтобы прояснить, какие недостатки я вижу в альтернативных подходах и почему хочу систему закладок/избранного:
alias
Недостатки:
Слишком специфично (каждая новая закладка требует нового alias
… хотя теоретически вы могли бы сделать псевдоним, который echo
добавляет вашу директорию в качестве нового alias
, что было бы довольно умно). Нельзя вкладывать избранное в папки (не могу придумать простое решение для этого, кроме сложного сценария конфигурации).
links
Недостатки:
Загромождает директорию, делает ls
головной болью.
pushd
/popd
Недостатки:
Непостоянный (без сценария конфигурации файла оболочки), нельзя вкладывать избранное в директории и т.д.
Я имею несколько идей для создания собственного нестандартного решения, но прежде чем начинать, я хотел получить представление о том, что уже существует, и если ничего нет, какой подход рекомендуется.
Кто-нибудь знает о таком решении, аналогичном закладкам/избранному в терминале?
Просто добавлю свои пять копеек.
Использование:
qwe name : Переход к директории с тегом name
qwe -h : Помощь
qwe -l : Список сохраненных тегов
qwe -a name : Добавить тег с именем name с текущей папкой
qwe -d name : Удалить тег с именем name
qwe -p name : Печать директории, отмеченной тегом name
Чтобы установить, просто сохраните скрипт где-нибудь и подключите его в вашем .bashrc
файле.
cdargs – лучший инструмент для закладки директории: http://www.youtube.com/watch?v=uWB2FIQlzZg
Существует также проект bashmarks (для оболочки bash), который использует однобуквенные команды для управления закладками директорий:
s <bookmark_name> - Сохраняет текущую директорию как "bookmark_name"
g <bookmark_name> - Переходит (cd) в директорию, связанную с "bookmark_name"
p <bookmark_name> - Печатает директорию, связанную с "bookmark_name"
d <bookmark_name> - Удаляет закладку
l - Список всех доступных закладок
Я использую однобуквенные переменные для временных закладок и правильно названные символические ссылки для постоянного хранения.
Apparix — это чистая командная реализация (то есть не основанная на меню) для bash и zsh закладок. Можно переходить к подкаталогам закладок и использовать автозаполнение для этих подкаталогов. Это придаёт ему наибольшую мощность.
Может быть, это не терминал, но mc 🙂
https://midnight-commander.org/
функция > Горячий список директорий
Я пользуюсь этим и обожаю.
Чистый bash
:
$ shopt -s cdable_vars
$ D=~/Downloads
$ cd D
$ pwd
/home/user/Downloads
Ответ или решение
Вопрос о том, как в Linux можно удобно отмечать и навигировать по часто используемым директориям, действительно актуален. Использование псевдонимов (alias) и ссылок (links) имеет свои недостатки, как вы уже заметили. Рассмотрим несколько других решений, которые могут удовлетворить ваши потребности в создании "закладок" для каталогов.
-
Скрипт
qwe
:
Скрипт qwe предлагает простое решение для управления закладками. Он позволяет добавлять, удалять, переходить к каталогам и получать список закладок. Установка проста: достаточно сохранить скрипт в вашем каталоге и подключить его в вашем файле.bashrc
.Пример использования:
qwe name # Перейти к директории, отмеченной как 'name' qwe -l # Список всех сохраненных тегов qwe -a name # Добавить тег с текущей директорией qwe -d name # Удалить тег 'name'
-
cdargs
:
Утилита cdargs также является отличным инструментом для закладок каталогов, позволяющим быстро навигировать между ними. Она включает в себя команды для удобного сохранения и перехода по директориям. -
bashmarks
:
Проект bashmarks разработан для управления закладками в оболочке bash. Интуитивно понятные односимвольные команды для сохранения, перехода и удаления закладок делают его очень удобным.s <bookmark_name> # Сохранить текущую директорию как 'bookmark_name' g <bookmark_name> # Перейти к 'bookmark_name' d <bookmark_name> # Удалить закладку 'bookmark_name' l # Список всех доступных закладок
-
Apparix
:
Apparix – это мощное командное приложение, поддерживающее как bash, так и zsh. Оно позволяет не только устанавливать закладки, но и переходить к подкаталогам, что значительно расширяет его функциональность. -
Переменные окружения и
bash
:
Если вы ищете простое янвещение сессии для временных закладок, вы можете использовать встроенные переменныеbash
.shopt -s cdable_vars D=~/Downloads cd D
- Midnight Commander (mc):
Хотя это не чисто терминальное решение, Midnight Commander предлагает каталог "Горячие закладки" (Directory Hotlist), который позволяет быстро переходить к любимым директориям через интерфейс файлового менеджера.
Каждое из этих решений предоставляет свои уникальные возможности для управления директориями, и выбор подходящего инструмента зависит от ваших индивидуальных предпочтений и потребностей.