Вопрос или проблема
Предположим, у меня есть выбранный файл в Файлах. Как я могу скопировать полный путь к файлу в буфер обмена? Нажатие <CTRL>+L
, а затем <CTRL>+C
(или <CTRL>+X
) просто копирует путь к родительской директории в буфер обмена. Как скопировать полный путь в буфер обмена?
Я не ищу функцию перетаскивания (например, я уже знаю, что могу перетащить файл в, скажем, терминальное приложение, чтобы вставить его там).
Если вы скопируете файл правым щелчком, а затем вставите в текстовое поле, он вставит весь путь к этому файлу в текст.
- Выберите ФАЙЛ, затем CTRL+C (в графическом интерфейсе, “Файлы”, Nautilus). Вставьте в любом месте, и вы получите полный путь к файлу.
… чтобы быть полным:
-
Перетащите файл (иконку) в Терминал, т.е. на командной строке Bash, и вы увидите файл+путь.
-
Выберите любой текст, имя файла и/или путь в Терминале, CTRL+SHIFT+C копирует его, SHIFT+CTRL+V вставляет в терминале, CTRL+V везде остальном.
-
Введите это в Терминале (нажмите 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.
-
Выделение файла и копирование:
- В файловом менеджере (Nautilus) выделите необходимый файл.
- Нажмите клавиши
CTRL + C
. Это скопирует файл, а не только его имя, в буфер обмена.
-
Вставка полного пути:
- Теперь вы можете вставить полный путь к файлу в любом текстовом поле (например, текстовом редакторе) с помощью
CTRL + V
.
- Теперь вы можете вставить полный путь к файлу в любом текстовом поле (например, текстовом редакторе) с помощью
-
Альтернативные методы:
- Если вы откроете терминал и перетащите файл (иконку) в окно терминала, полный путь к файлу будет вставлен автоматически.
-
Копирование текста из терминала:
- В терминале вы можете выделить текст (включая названия или пути) и использовать сочетание клавиш
CTRL + SHIFT + C
, чтобы скопировать его. Для вставки используйтеCTRL + SHIFT + V
в терминале иCTRL + V
в других приложениях.
- В терминале вы можете выделить текст (включая названия или пути) и использовать сочетание клавиш
-
Создание своей команды для работы с буфером обмена:
- Если вы хотите использовать командную строку для работы с буфером обмена, вы можете установить пакет
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.