
Предположим, я нажимаю на файл в Nautilus. Как мне скопировать полный адрес в буфер обмена, а затем легко вставить его в команду оболочки, которую я набираю в терминале?
решение1
Нажмите Ctrl+, Cчтобы скопировать. При вставке в терминал вы получите имя файла (с полным путем).
Вы получаете необработанное имя файла, которое не будет напрямую использоваться в команде оболочки, если оно содержит пробелы или другие специальные символы. Чтобы использовать имя файла в команде, не используйте команду вставки из терминала, позвольте оболочке выполнить вставку. Установите программуxsel
(входит в состав большинства дистрибутивов) и вызовите его в командной строке внутризамена команды. Для защиты специальных символов, таких как пробелы, необходимо заключить подстановку команды в двойные кавычки.
$ ls -l "`xsel -b`"
решение2
Нажмите на него, нажмите Ctrl+ Cи просто вставьте его. Если вы используете xclip -selection c w
для вставки вместо Ctrl+ Shift+, Vвы не получите никакого file://
префикса или кодировки URL.
Я рекомендую обернуть это во что-то более удобное для использования и использовать это для манипуляции буфером обмена, когда вы находитесь в терминале. Вот статья, в которой обсуждается этот метод с использованием инструмента командной строки vipe
, она называется:VIPE
БЕЗ ДОПОЛНИТЕЛЬНЫХ СРЕДСТВ.