Как скопировать путь к файлу в буфер обмена?

Вопрос или проблема

Предположим, у меня есть выбранный файл в Файлах. Как я могу скопировать полный путь к файлу в буфер обмена? Нажатие <CTRL>+L, а затем <CTRL>+C (или <CTRL>+X) просто копирует путь к родительской директории в буфер обмена. Как скопировать полный путь в буфер обмена?

Я не ищу функцию перетаскивания (например, я уже знаю, что могу перетащить файл в, скажем, терминальное приложение, чтобы вставить его там).

Если вы скопируете файл правым щелчком, а затем вставите в текстовое поле, он вставит весь путь к этому файлу в текст.

  1. Выберите ФАЙЛ, затем CTRL+C (в графическом интерфейсе, “Файлы”, Nautilus). Вставьте в любом месте, и вы получите полный путь к файлу.

… чтобы быть полным:

  1. Перетащите файл (иконку) в Терминал, т.е. на командной строке Bash, и вы увидите файл+путь.

  2. Выберите любой текст, имя файла и/или путь в Терминале, CTRL+SHIFT+C копирует его, SHIFT+CTRL+V вставляет в терминале, CTRL+V везде остальном.

  3. Введите это в Терминале (нажмите Enter после каждой строки), и у вас будет новая команда clipb для использования там:

sudo apt install xclip
cd 
mkdir bin
cat >bin/clipb <<EOF
#!/bin/bash
# Версия для Linux
# Используйте этот скрипт для взаимодействия с буфером обмена
#
# Использование: someapp | clipboard     # Перенаправьте вывод someapp в буфер обмена
#        clipboard | someapp     # Перенаправьте содержимое буфера обмена в someapp
#
    
if command -v xclip 1>/dev/null; then
    if [[ -p /dev/stdin ]] ; then
        # stdin - это конвейер
        # stdin -> буфер обмена
        xclip -i -selection clipboard
    else
        # stdin не является конвейером
        # буфер обмена -> stdout
        xclip -o -selection clipboard
    fi
else
    echo "Не забудьте установить xclip"
fi
EOF
chmod 755 bin/clipb
echo >>.bash_aliases "export PATH=\$HOME/bin:\$PATH"

например,
$ echo hello | clipb позволит вам вставлять hello в любом месте с помощью CTRL+V / SHIFT+CTRL+V (в терминале).

Ответ или решение

Чтобы скопировать полный путь к файлу в буфер обмена в Linux, выполните следующие действия. Приведенные ниже методы работают в среде рабочего стола GNOME, используя файловый менеджер Nautilus.

  1. Выделение файла и копирование:

    • В файловом менеджере (Nautilus) выделите необходимый файл.
    • Нажмите клавиши CTRL + C. Это скопирует файл, а не только его имя, в буфер обмена.
  2. Вставка полного пути:

    • Теперь вы можете вставить полный путь к файлу в любом текстовом поле (например, текстовом редакторе) с помощью CTRL + V.
  3. Альтернативные методы:

    • Если вы откроете терминал и перетащите файл (иконку) в окно терминала, полный путь к файлу будет вставлен автоматически.
  4. Копирование текста из терминала:

    • В терминале вы можете выделить текст (включая названия или пути) и использовать сочетание клавиш CTRL + SHIFT + C, чтобы скопировать его. Для вставки используйте CTRL + SHIFT + V в терминале и CTRL + V в других приложениях.
  5. Создание своей команды для работы с буфером обмена:

    • Если вы хотите использовать командную строку для работы с буфером обмена, вы можете установить пакет xclip и создать скрипт для копирования. Выполните следующие команды в терминале:
sudo apt install xclip
cd 
mkdir bin
cat >bin/clipb <<EOF
#!/bin/bash
# Linux version
# Используйте этот скрипт для работы с буфером обмена
#
# Пример: someapp | clipb     # Передает вывод someapp в буфер обмена
#        clipb | someapp      # Передает содержимое буфера обмена в someapp

if command -v xclip 1>/dev/null; then
    if [[ -p /dev/stdin ]] ; then
        # stdin - это конвейер
        # stdin -> буфер обмена
        xclip -i -selection clipboard
    else
        # stdin не является конвейером
        # буфер обмена -> stdout
        xclip -o -selection clipboard
    fi
else
    echo "Не забудьте установить xclip"
fi
EOF
chmod 755 bin/clipb
echo >>.bash_aliases "export PATH=\$HOME/bin:\$PATH"

После выполнения этих инструкций у вас появится команда clipb, с помощью которой вы сможете передавать данные в буфер обмена. Например, выполнив команду $ echo hello | clipb, вы сможете вставить слово "hello" в любое другое приложение с помощью CTRL + V.

С помощью этих методов вы можете легко и быстро копировать полный путь к файлам в буфер обмена в Linux.

Оцените материал
Добавить комментарий

Капча загружается...