Как создать несколько программных ссылок на один файл?

Инструкции по редактированию меню находятся в Lubuntu Wiki. Я думал, что графический интерфейс главного меню-редактора подходит, но я не могу определить эту информацию только сейчас.

Вы также можете попробовать ранее упомянутые GUI-решения: находятся на Lubuntu Wiki и для X / Lubuntu.

1
задан 5 February 2017 в 06:22

3 ответа

Относительно простой однострочный python может выполнить задание:

$ python -c 'import sys,os;map(lambda x:os.symlink(sys.argv[1],x),sys.argv[2:])' ~/input.txt ~/Desktop/input.txt ~/Pictures/input.txt
$ ls -l ~/Desktop/input.txt                                                                                              
lrwxrwxrwx 1 xieerqi xieerqi 23 2月   4 19:10 /home/xieerqi/Desktop/input.txt -> /home/xieerqi/input.txt

Как это работает, просто. Мы используем модуль sys для обработки аргументов командной строки и используем функцию symlink() из модуля os. Функция map() по существу используется как замена для цикла for, который принимает функцию и перечисляет в качестве аргумента. Здесь функция lambda x:os.symlink(sys.argv[1],x), и она будет выполнена для каждого элемента в списке sys.argv[2:].

Примечание. ~/input.txt - это исходный файл (называемый sys.argv[1], второй аргумент командной строки) и ~/Desktop/input.txt и ~/Pictures/input.txt являются символическими ссылками. Они являются аргументами 2 и 3, поэтому мы используем срез списка sys.argv[2:], начиная с третьего элемента до конца списка. Возможно, вам интересно, где первый аргумент. Это флаг -c.

Сценарий одной и той же вещи будет

#!/usr/bin/env python
import sys,os
for item in sys.argv[2:]:
    os.symlink(sys.argv[1],item)
1
ответ дан 23 May 2018 в 01:46

Вам нужны две команды.

ln -s Desktop/foo.txt location1; ln -s Desktop/foo.txt location2
0
ответ дан 23 May 2018 в 01:46

Для справки, чтобы скопировать цветовые палитры .gpl в соответствующие каталоги GIMP, Inkscape и LibreOffice, я сделал это:

read -e -p "Enter filename: " file

for destination in ~/.config/libreoffice/4/user/config/ ~/.config/inkscape/palettes/ ~/.gimp-2.8/palettes/ ...; do
    ln --symbolic --backup --force "$file" "$destination"
done
0
ответ дан 23 May 2018 в 01:46

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

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