TagSpaces - это приложение для управления документами, которое также поддерживает запись заметок, и может работать как на Linux, так и на Android. В нем нет встроенной функции синхронизации, но вы можете объединить его с DropBox, OwnCloud или SpiderOak для синхронизации между вашими устройствами.
Я бы использовал переменные оболочки:
da=/really/long/path/to/directory/a
db=/other/really/long/path/to/directory/b
cd $da
cd $db
Преимущество этого метода в том, что вы можете использовать $ da и $ db вместо путей к файлам в любой команде, например:
cp $da/file1 $db/file2
Для точно двух каталогов используйте cd -
$ cd /tmp
$ cd /var/tmp
$ cd -
/tmp
$ cd -
/var/tmp
$ cd -
/tmp
$
Могу ли я как-то назначить короткое имя каждому из них
Да, конечно, с помощью команды alias
:
alias directoryA='cd /path/to/directoryA'
Затем используйте directoryA
как псевдоним для команды cd
. Это действительно так просто ;)
В bash вы можете использовать параметр оболочки cdable_vars
, чтобы сделать что-то подобное:
$ mkdir -p /tmp/a/b/c/d/e/f/g/h
$ mkdir -p /tmp/i/j/k/k/l/m/n/o
$ h=/tmp/a/b/c/d/e/f/g/h
$ o=/tmp/i/j/k/k/l/m/n/o
$ shopt -s cdable_vars
$ cd /tmp
$ cd h
$ pwd
/tmp/a/b/c/d/e/f/g/h
$ cd o
$ pwd
/tmp/i/j/k/k/l/m/n/o
Вы можете установить автопереход .
, чтобы вы могли ввести « j directoryA
» или « j dire
» для выбора в нескольких каталогах.
Для интерактивной работы используйте оболочку, отличную от Bash. Я использую Fish shell, который позволяет мне набрать
$ cd /u/sh/sounds
и затем нажать Tab. После этого в командной строке появляется
$ cd /usr/share/sounds/
Не нужно задавать никаких псевдонимов, просто напишите достаточно, чтобы он стал уникальным.
Вы можете дать каталогу (или любому файлу) сокращенное имя, создав символическую ссылку на него. Символическая ссылка - это запись в каталоге, которая на самом деле не содержит никаких данных, но указывает на другой путь, где можно найти фактические данные. Операции над записью каталога (например, создание, переименование, удаление) манипулируют символической ссылкой, а операции над содержимым (например, чтение, запись, cd
и ls
для каталога и т.д.) действуют на цель ссылки. Например, создайте символическую ссылку с помощью команды ln
:
ln -s /A/Really/Long/File/Path/Name/Makes/My/Fingers/Hurt ~/hurt
Тогда cd ~/hurt
в основном эквивалентен /A/Really/Long/File/Path/Name/Makes/My/Fingers/Hurt
. Это эквивалентно, потому что оболочка запоминает и отображает ~/hurt
как текущий рабочий каталог; если вы хотите, чтобы оболочка забыла о символической ссылке, используйте cd -P ~/hurt
.
Если вы очень часто переходите в подкаталоги определенного каталога, вы можете использовать переменную CDPATH
. Когда вы запускаете cd
с относительным путем (т.е. аргумент, который не начинается с /
, либо явно, либо через сокращение, такое как ~
или переменную, значение которой начинается с /
), оболочка пытается перейти в подкаталог каждого элемента CDPATH
по очереди, пока не найдет существующий. Если вы используете CDPATH
, настоятельно рекомендуется поместить .
(текущий каталог) первым, иначе невинно выглядящий cd subdir
может заставить вас перейти в совершенно несвязанное место.
CDPATH=.:/A/Really/Long/File/Path/Name/Makes/My
cd Fingers/Hurt
Вы также можете задавать сокращения внутри оболочки как переменные. Используйте $
перед именем переменной, чтобы использовать ее значение. Обратите внимание, что если значение переменной содержит специальные символы, такие как пробелы, то при ее использовании необходимо использовать двойные кавычки (если только вы не используете в качестве оболочки zsh или fish).
hurt=/A/Really/Long/File/Path/Name/Makes/My/Fingers/Hurt
cd $hurt
spaced='/A/Really Long/File Path Name/Makes My Fingers/Hurt'
cd "$spaced"
В bash опция cdable_vars
делает это более удобным для пальцев.
Если компонент в пути длинный, используйте завершение. Если ваша клавиша Tab не износилась, вы делаете это неправильно. Для достижения наилучших результатов избегайте большого количества имен файлов, имеющих несколько общих букв в начале, и не начинайте имена файлов с трудно набираемых символов, таких как заглавные буквы.
pushd
- это команда bash для этой цели.
Прочитайте раздел о том, как ее использовать в man bash
, чтобы узнать, как она работает.
Используйте Apparix . Это позволяет вам определять закладки для ваших каталогов. Затем переключаться между ними, после настройки, так же просто, как
to foo
# Goes to /this/is/a/complex/path/for/foo
to bar
# Goes to /a/completely/unrelated/path/for/bar
to foo subdir
# Goes to /this/is/a/complex/path/for/foo/subdir
Etc. И все ярлыки и подкаталоги заполняются автоматически.
Это чрезвычайно мощный и очень недооцененный инструмент. Я считаю, что он работает лучше, чем такие альтернативы, как автопереход, потому что дает пользователю больше контроля.
Если вы просто перемещаетесь напрямую между двумя каталогами, cd -
приведет вас к последнему рабочему каталогу.
Не знаю насчет bash (я не использую его, если можно этого избежать), но в tcsh и других оболочках вы можете просто использовать механизм истории. Таким образом, вы должны ввести, например. "cd /" и ctl-UpArrow для прокрутки всех команд до cd до путей, начинающихся с корня.
Обратите внимание, что это работает для любой команды, а не только cd. Вам просто нужны первые несколько символов того, к чему вы хотите вернуться.