Как сделать псевдонимы для путей к файлам?

У меня есть много папок на моей машине, многие из тех папок имеют больше папок в них, больше папок в тех папках, и так далее... Теперь, когда я делаю бесспорный cd и cp операции, которые я действительно каждый день как разделяю процесса резервного копирования или чего-то, которое это становится довольно раздражающей необходимостью ввести во всем пути к файлу к файлу или местоположению, даже с функцией автозамены ВКЛАДКИ.

Таким образом, то, что я думаю, было бы действительно полезно, то, если я мог бы сделать псевдоним, как для команды, но вместо этого для пути к файлу. Действительно ли это возможно?

Вот некоторые примеры того, как я хотел бы, чтобы это работало:

  • Я хотел бы смочь присвоиться ~/Documents/SectionA/Sub-folder65/SectionF-2 равняться псевдониму такой как pandaPictures так, чтобы я мог использовать его, чтобы сделать следующие виды вещей:

    cp pandaPictures/pic1.png ~/Pictures
    cd pandaPictures
    cd pandaPicture/Specials
    

    И также было бы хорошо, если автоматическое заполнение ВКЛАДКИ будет работать с путями к файлам, когда они будут включать эти псевдонимы пути к файлу также.

  • Я также хотел бы смочь присвоиться PandaImages/2016/Sector7 к псевдониму такой как safePandaImages так, чтобы я мог использовать его, чтобы сделать следующие виды вещей:

    cp ~/Documents/Images/safePandaImages/panda.jpg ~/Pictures
    cd ~/Pictures/Photos/Images/Wallpaper/safePandaImages
    

В примерах я даю выше, второй раздел не является насущной необходимостью (где псевдоним не просто вначале, но также и в середине и конце), если это не возможно или очень невыполнимо, чтобы сделать. Хотя, если это возможно, я не возражаю против него не совсем сходство с вышеупомянутым (например, если Вы должны иметь []s вокруг псевдонима или чего-то так, чтобы было ясно, что это не просто регулярный путь к файлу).

Я выполняю Ubuntu GNOME 15.10 с GNOME 3.18.

3
задан 29 March 2016 в 01:06

2 ответа

Откровенно говоря, это - задание для переменных:

pandaPictures=~/Documents/SectionA/Sub-folder65/SectionF-2
cp "$pandaPictures"/pic1.png ~/Pictures
cd "$pandaPictures"
cd "$pandaPictures"/Specials

Или:

safePandaImages=PandaImages/2016/Sector7
cp ~/Documents/Images/"$safePandaImages"/panda.jpg ~/Pictures
cd ~/Pictures/Photos/Images/Wallpaper/"$safePandaImages"

Bash не достаточно умен к вместе с содержанием переменных, но zsh может:

$ foo=/usr   
$ cp $foo/  # press Tab
bin/      include/  lib/      lib32/    lib64@    local/    sbin@     share/    src/

С ударом, можно сначала заставить это разворачивать каждую переменную, псевдоним, управлять заменой, и т.д., с помощью Ctrl Высокий звук E и затем использовать заполнение клавишей Tab:

$ foo=/usr
$ cp $foo # press Ctrl-Alt-E
$ cp /usr
<час>

Однако если Вы делаете, это регулярно, пишет сценарий его . Сделайте сценарий. Добавьте его к crontab. Забудьте это.

7
ответ дан 1 December 2019 в 13:01

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

ln -s ~/Documents/SectionA/Sub-folder65/SectionF-2 ~/pandaPictures
<час>
cp ~/pandaPictures/pic1.png ~/Pictures
cd ~/pandaPictures 
cd ~/pandaPictures/Specials
6
ответ дан 1 December 2019 в 13:01

Другие вопросы по тегам:

Похожие вопросы: