Я хочу скопировать и вставить файл. Имя файла - это mkoctfile.m
.
Путь к этому файлу следующий:
/usr/share/octave/3.2.4/m/miscellaneous/mkoctfile.m
Я хочу вставить его по следующему пути
/usr/bin/mkoctfile-3.2.4
Я создал каталог, используя следующие команды:
sudo su
mkdir -p /usr/bin/mkoctfile-3.2.4
но я не знаю, как копировать и вставлять mkoctfile.m
на этом пути.
Пожалуйста, скажите мне, какую команду я должен использовать.
Используйте cp
команда для копирования файла, синтаксис выглядит следующим образом cp sourcefile destinationfile
.Используйте mv
команда для перемещения файла, по сути, вырезает и вставляет его в другое место.
Точный синтаксис, который вы бы использовали для своего примера, таков:
sudo cp /usr/bin/octave/3.2.4/m/miscellaneous/mkoctfile.m /usr/bin/mkoctfile-3.2.4
Для получения дополнительной информации о cp
или mv
команды, которые вы можете запускать:
man cp
или
man mv
Для просмотра страниц руководства
Вы можете вырезать, копировать и вставлять в CLI интуитивно, как вы обычно делали в графическом интерфейсе, например:
-
cd
в папку, содержащую файлы, которые вы хотите скопировать или вырезать.
-
copy file1 file2 folder1 folder2
или cut file1 folder1
- закройте текущий терминал.
- откройте другой терминал.
-
cd
в папку, куда вы хотите их вставить.
paste
Чтобы иметь возможность сделать это, убедитесь, что вы установили xclip
и readlink
. Затем добавьте эти функции в конец вашего ~/.bashrc файл:
copy(){ # if the number of arguments equals 0 if [ $# -eq 0 ] then # if there are no arguments, save the folder you are currently in to the clipboard pwd | xclip else # save the number of argument/path to `~/.numToCopy` file. echo $# > ~/.numToCopy # save all paths to clipboard # source: https://stackoverflow.com/a/5265775/9157799 readlink -f "$@" | xclip fi # mark that you want to do a copy operation echo "copy" > ~/.copyOrCut}cut(){ # use the previous function to save the paths to clipboard copy "$@" # but mark it as a cut operation echo "cut" > ~/.copyOrCut}paste(){ # for every path for number in {1..$(cat ~/.numToCopy)} do # get the nth path pathToCopy="$(xclip -o | head -$number | tail -1)" if [ -d "$pathToCopy" ] # If it's a directory then cp -r "$pathToCopy" . else cp "$pathToCopy" . fi # if it was marked as a cut operation if [ $(cat ~/.copyOrCut) = "cut" ] then # delete the original file rm -rf "$pathToCopy" fi done}
Если вы не знаете, что .bashrc файл и никогда не изменяйте его раньше, просто откройте проводник, перейдите на главную страницу, нажмите Ctrl + H (показать скрытые файлы), найдите .bashrc и откройте его с помощью текстового редактора, такого как gedit.
Примечание
Используя приведенный выше сценарий, вы переопределяете функциональность этих команд по умолчанию:
-
copy
это зарезервированная команда PostgreSQL.
-
cut
и paste
зарезервированы для команды Linux.
Если вы используете одну из этих команд по умолчанию, просто соответствующим образом измените имена функций скрипта. Например, используйте p
вместо paste
.
Перейдите в тот каталог, из которого вы хотите скопировать файл, например /usr/bin/octave/3.2.4/m/miscellaneous
cd /usr/bin/octave/3.2.4/m/miscellaneous
Затем введите
`cp mkoctfile.m ../../../mkoctfile-3.2.4`
../../../
означает, что вы возвращаетесь в папку bin и вводите любой каталог, в который хотите скопировать свой файл.