Чи можна додати ярлик для заміни шляху в Linux?


33

Наприклад, я завжди йду цим шляхом:

/ користувач / щось / деякі папки / десь

але я не хочу вводити текст

CD / користувач / щось / деякі папки / десь

у терміналі весь час, чи можу я зробити коротку руку для цього? наприклад, чи можу я зробити щось подібне

CD commandPlace

замінити шлях?

Відповіді:


32

Для цього можна використовувати змінну середовища CDPATH. На сторінці чоловіка Bash:

CDPATH

Шлях пошуку для команди CD. Це розділений двокрапкою список каталогів, в яких оболонка шукає каталоги призначення, вказані командою cd. Вибірковим значенням є ".: ~: / Usr".

У вашому випадку ви можете встановити

export CDPATH=.:/user/something/somefolders

in ~/.bashrc, а потім введення тексту cd somewhereприведе вас до /user/something/somefolders/somewhere(якщо somewhereу поточному каталозі немає імені, названого ).

Крім того, якщо ви не хочете посилатися на папку somewhereза її справжнім іменем, ви можете створити прихований каталог, який містить символічне посилання на /user/something/somefolders/somewhereім’я, яке ви хочете використовувати. Він також може містити посилання на будь-які інші каталоги, які ви часто відвідуєте. Потім встановіть, CDPATHщоб включити шлях до цього прихованого каталогу. Хоча зауважте, що з цим методом, якщо ви cd somewhereі тоді cd .., ви опинитесь у прихованій директорії. Це може бути або не бути проблемою для вас.


41

Дві ярлики, які я весь час використовую для таких речей:

Псевдоніми

alias somedir = 'cd / home / john / www / something /'

Потім ви можете ввести, somedirщоб перейти до цього каталогу. Додайте їх до своїх .bashrc.

Символічні посилання

ln -s / long / шлях / до / деяких / інших / папка / ярлик

Це створить файл, на /shortcutякий посилаються /long/path/to/some/other/folder. Тоді ви можете набрати компакт-диск /shortcutзамість цього. Застереження цього полягає в тому, що він досить швидко заповнює ваш кореневий каталог (або туди, в яку каталог ви покладете посилання). Я віддаю перевагу псевдоніми.


приємний Джон!
Gob00st

це повинно бути, ln -s /long/path/to/some/other/folder /shortcutколи я зробив це навпаки, створив ярлик у тому місці, до якого я хотів створити посилання. Я надіслав редагування, щоб оновити його.
Ілля

1
Як щодо каталогу в корені з коротким ім'ям, наприклад, /slі створити там ярлики? (тобто ln -s /long/path/to/some/other/folder /sl/shortcut? Без захаращення в корені, а також наочне нагадування про те, що шлях вашої підказки - це
симпосилання

14

Я схильний постійно використовувати інтерактивний пошук bash. Спробуй це. Викликте його за допомогою ctrl + r і почніть вводити частину шляху, як- то десь . Можливо, ваша команда CD вискочить. :)


9

Подивіться на команду "псевдонім".

В csh:

alias commandplace "cd /user/something/somefolders/somewhere"

В ш:

alias commandplace="cd /user/something/somefolders/somewhere"

Але мені подобається рішення посилання:

ln -s /user/something/somefolders/somewhere ~/commandplace 

Примітка: ln приймає аргументи в тому ж порядку, що і cp.


9

Ще одна річ, яку ви можете зробити, - це зберігати відповідний шлях у змінній оточення. Додайте до рядка ці рядки ~/.profile:

somedir=/user/something/somefolders/somewhere
export somedir

Потім ви можете отримати доступ до каталогу за допомогою

cd "$somedir"

1
Це, безумовно, найкраще рішення imo, оскільки ви можете використовувати змінну для будь-якої команди. Якщо ви призначите псевдонім, то цей псевдонім завжди прив’язується до такої команди, як cd ...
BdN3504

Це рішення, яке я сподівався, що існує, і якого я шукав. З причин BdN3504 заявив.
надихнув

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.