- How to Copy and Paste Text, Files and Folders in Linux Terminal
- Copy and Paste Text
- Copy and Paste a Single File
- Copy and Paste a Folder and Its Contents
- Copy and Paste Multiple Files
- Copy and Paste All Files of the Same Type
- Move a File or Folder
- Cutting and Pasting in the AIX/Unix and Linux shells
- How To
- Summary
- Objective
- Environment
- Steps
- Catting
- Pasting
- How to copy and paste a file?
- 3 Answers 3
- Команда cut Linux
- Синтаксис команды cut
- Параметры cut
- Примеры использования cut в Linux
- 1. Работа с байтами
- 2. Работа с символами
- 3. Работа со столбцами
- Выводы
- Оцените статью:
- Об авторе
- 6 комментариев
How to Copy and Paste Text, Files and Folders in Linux Terminal
Copying and pasting is one of the most used actions on a computer. While it is easy to do so with the Ctrl + C and Ctrl + V keyboard shortcuts, on the Linux terminal it is not so straightforward. You have several options to get the job done. Here is how you can copy and paste text, files and directories in Linux terminal.
Also read: How to Easily Rename Files in Linux
Copy and Paste Text
If you just want to copy a piece of text in the terminal, all you need to do is highlight it with your mouse, then press Ctrl + Shift + C to copy.
To paste it where the cursor is, use the keyboard shortcut Ctrl + Shift + V .
The Paste shortcut also applies when you copy a section of text from a Word document (or any other application) and want to paste it in the terminal. For example, you can copy a command from a web page in your browser and use the Ctrl + Shift + V shortcut to paste it in the terminal.
Copy and Paste a Single File
Any time you want to copy a file or folder in the Linux command line, the above keyboard shortcut won’t work. You have to use the cp command. cp is shorthand for copy. The syntax is simple, too. Use cp followed by the file you want to copy and the destination where you want it moved.
That, of course, assumes that your file is in the same directory you’re working out of. You can specify both.
You also have the option of renaming your file while copying it. Specify the new name in the destination.
Copy and Paste a Folder and Its Contents
In order to copy a folder and its contents, you’re going to need to tell the cp command to copy recursively. That’s simple enough with the -r flag.
All the rest of your syntax is exactly the same. The -r flag serves to tell cp that it’s working with a directory and should copy its contents.
If you want the paste action to overwrite existing files, you can add the -f flag:
Also read: How to Compress Files with zstd Utility in Linux
Copy and Paste Multiple Files
You can also copy multiple files. The Linux command line lets you target multiple items at once with brackets <> . You can use them to list the names of each file to be copied separated by commas.
All three files of differing file types will be copied to the Documents directory.
Copy and Paste All Files of the Same Type
If you have a ton of files of the same type to copy, you can use the wildcard character * . The asterisk/wildcard tells the Linux command line to accept absolutely anything in that place. So, if you tell Linux to copy *.jpg , it’ll copy all JPG files, regardless of the name or whatever comes before the .jpg part.
If you want to use multiple file types, say JPG and PNG, you can use the brackets from before.
Move a File or Folder
If you came here looking to move a file from one place to another without making a duplicate, you can do that easily too, but moving a file requires the mv command. The syntax is very similar to cp.
Similarly, you can also rename it.
There is one major difference, though. You don’t need the -r flag to move a whole folder.
That’s all there is to it. You’re ready to start copying and moving your files from the command line. You can see that the command line way can be very efficient in some situations.
Want more pointers on the Linux command line? Here’s how to check sudo history or find out what the chmod 777 command does to your file permission.
Image credit: Copy – Paste by DepositPhotos
Источник
Cutting and Pasting in the AIX/Unix and Linux shells
How To
Summary
Some useful utilities for cutting sections of text and also pasting them.
Objective
Environment
Steps
There are lots of ways to «cut» fields out of a file
For example to find the numeric GIDs in use
Here is the top of /etc/group
For example if we want to list all the numeric Group IDs (gids) they are in the third field, and the delimiter is a colon, so we could
- Use cut to get the third : delimited field
- Use awk to get the third : delimited field
Again, awk is a very flexible command (in fact a programming language in its own right) there is a man page and there are many resources on the web.
The name comes from the initial letters of the guys who wrote it in 1977:
- Alfred A ho,
- Peter W einberger
- Brian K ernighan
There are other ways to do this as well.
Catting
If you want to join files together, one after the other, you can use the cat command to concatenate them, as follows:
I have three files here:
peach-gaz:/tmp/demo# ls -1
file1
file2
file3
This is what they contain
peach-gaz:/tmp/demo# cat file1 file2 file3
1
2
3
one
two
three
alpha
beta
gamma
But I guess that most if not all of you know the cat command, don’t you?
Pasting
Have you heard of paste ? It merges the files, line by line with a tab delimiter:
peach-gaz:/tmp/demo# paste file1 file2 file3
1 one alpha
2 two beta
3 three gamma
We can specify a delimiter as well:
peach-gaz:/tmp/demo# paste -d : file1 file2 file3
1 : one : alpha
2 : two : beta
3 : three : gamma
This can be very useful.
If I am working on a problem, I often end up with several files and want to merge the data, line by line, for example I might run commands on an HMC to get a list of all the LPARs on a particular Managed Server, then maybe run a command in each of them to get specific information, such as uptime, number of disks etc.
Then I could paste the various files together with a suitable delimiter.
For more information about the paste command, use this syntax:
Источник
How to copy and paste a file?
I want copy and paste a file. The name of the file is mkoctfile.m .
The path of this file is:
I want to paste it to the following path
I have made the directory by using following commands:
sudo su mkdir -p /usr/bin/mkoctfile-3.2.4
but I don’t know how to copy and paste mkoctfile.m in this path.
Please tell me what command I have to use.
3 Answers 3
Use the cp command to copy a file, the syntax goes cp sourcefile destinationfile . Use the mv command to move the file, basically cut and paste it somewhere else.
The exact syntax you would use for your example is:
For more information on the cp or mv commands you can run:
To view the manual pages
Go to that directory from where you want to copy file i.e /usr/bin/octave/3.2.4/m/miscellaneous
../../../ means you are going backward to bin folder and type whatever directory in which you want to copy your file.
You can cut, copy, and paste in CLI intuitively like the way you usually did in the GUI, like so:
- cd to the folder containing files you want to copy or cut.
- copy file1 file2 folder1 folder2 or cut file1 folder1
- close the current terminal.
- open another terminal.
- cd to the folder where you want to paste them.
- paste
To be able to do so, make sure you have installed xclip and readlink . Then, append these functions to the end of your
If you don’t know what .bashrc file is and never modify it before, just open the file explorer, go to Home, press Ctrl+H (show hidden files), search for .bashrc and open it with a text editor like gedit.
Note
By using the above script, you are overriding the default functionality of these commands:
- copy is a reserved PostgreSQL command.
- cut and paste are reserved Linux command.
If you use one of those commands default functionality, just modify the script function names accordingly. For example, use p instead of paste .
Источник
Команда cut Linux
Команда cut используется, если нужно вырезать часть текста — при этом он может находиться в файле либо быть напечатанным через стандартный ввод. В Unix-системах эта команда удаляет секции текста, которые были обозначены при помощи байтов, символов или полей, разделенных знаками «-« и «:». Работу cut обеспечивает одноименная утилита. Она входит в состав GNU Coreutils, так что по умолчанию доступна во всех дистрибутивах Linux. Также ею можно воспользоваться на машинах с операционной системой BSD.
Мы постараемся подробно рассказать о том, как работать с командой cut, задействовав и стандартный ввод, и текстовые файлы. Ну и, как всегда, дадим примеры использования, чтобы тем, кто впервые сталкивается с выполнением этой команды, было на что ориентироваться.
Синтаксис команды cut
Написание команды cut выглядит следующим образом:
$ cut опции путь_к_файлу
Использовать файл не обязательно. Если на месте его названия поставить прочерк — либо не указать ничего, команда возьмет текст из стандартного ввода. При необходимости можно указывать больше файлов, чем один.
Параметры cut
Список опций, которые позволяют управлять поведением команды:
- -b (—bytes=LIST) — номер байта, набор или диапазон байтов, подлежащих вырезанию.
- -c (—characters=LIST) — символ, который следует вырезать. Также можно указывать набор либо диапазон символов.
- -d (—delimiter=DELIM) — с помощью этой опции пользователь устанавливает свой разделитель вместо стандартного TAB.
- -f (—fields=LIST) — перечень полей для вырезания.
- -s (—only-delimited) — если была применена эта опция, cut не выводит строки, где нет разделителя.
- —complement — задает байты, символы или поля, которые останутся в файле или тексте из стандартного ввода. Все остальное будет вырезано.
- —output-delimiter=STRING — по умолчанию выходной разделитель соответствует входному. Эта опция позволяет задать другой выходной разделитель.
- -z, —zero-terminated — вместо символа новой строки разделителем будет NULL.
Это основные параметры команды cut, которые нам понадобятся при работе с утилитой.
Примеры использования cut в Linux
Прежде всего создадим файл cut_command_example.txt и поместим его в домашнюю директорию. В теле документа пропишем текст:
Winter: white: snow: frost
Spring: green: grass: warm
Summer: colorful: blossom: hot
Autumn: yellow: leaves: cool
1. Работа с байтами
На первый взгляд кажется, что с помощью байтов удобнее всего задавать координаты символов, которые нужно вырезать. Но не все так просто. В текстах, написанных на английском языке, каждый символ — это один байт, а вот в других языках некоторые буквы, цифры и спецсимволы могут занимать и два, и три, и четыре байта. Эту особенность следует учитывать, принимая во внимание систему кодировки текста, иначе результат выполнения команды будет не таким, как ожидалось.
Чтобы вырезать из текста, напечатанного через стандартный ввод, первый символ, команда cut должна иметь вид:
echo «The sky was yellow as brass.» | cut -b 1
Если же необходимо вырезать несколько символов, их номера указывают через запятую:
echo «I looked at my watch; not eight o’clock.» | cut -b 5,8,17
Нет ничего сложного и в том, чтобы вырезать некоторый диапазон символов. В этом случае номера символов указывают через дефис:
echo «Still I opened the gate, and put the petrol pump in readiness.» | cut -b 38-43
Когда в заданном диапазоне числовые значения превышают количество байт, содержащееся в тексте, на экран будет выведено сообщение об ошибке либо просто пустая строка (зависит от версии cut, которая установлена на компьютере).
Теперь рассмотрим те варианты использования команды, где нужно вырезать символы из текста, который находится в файле. Стандартная запись в терминале выглядит так:
cut -b 1,9 cut_command_example.txt
Как вы можете помнить, в созданном ранее документе было четыре строки. Команда в каждой из них вырезала символы, соответствующие указанным номерам байтов, и вывела их также построчно.
Примерно так же работает вырезание символов в заданном диапазоне. Диапазон — это два числа, написанные через дефис:
cut -b 12-20 cut_command_example.txt
Команду cut можно использовать саму по себе, но не возбраняется сочетать с другими командами. Чаще всего используется sort. Попробуем вырезать первые 4 символа и расположить строки в алфавитном порядке:
cut -b 1-7 cut_command_example.txt | sort
Для сортировки по алфавиту команде sort не нужны дополнительные опции. А вот чтобы расположить строки в обратном порядке, следует добавить к записи -r:
cut -b 1-7 cut_command_example.txt | sort -r
При помощи дефиса, который стоит рядом с числом, обозначающим номер байта, можно задавать неопределенные диапазоны символов. Например, чтобы команда вырезала все символы, начиная с пятого и заканчивая последним, нужно поставить дефис справа от числа:
cut -b 5- cut_command_example.txt
А чтобы были вырезаны все символы, начиная с первого байта и заканчивая шестнадцатым, дефис должен находиться справа от числа:
cut -b -25 cut_command_example.txt
Точно так же дефис используется, если текст задан не из файла, а через стандартный ввод:
echo «The pallid sunlight through the window shone upon my hands.» | cut -b -35
echo «The pallid sunlight through the window shone upon my hands.» | cut -b 35-
2. Работа с символами
Тем, кто обрабатывает огромные массивы текстовых данных, часто приходится использовать команду cut, задавая необходимые параметры с помощью символов. Если текст напечатан через стандартный ввод, вырезать первый символ можно так:
echo «She offered to help me, but that was not allowed.» | cut -c 1
Чтобы вырезать другие символы, следует указать их порядковые номера. Важно помнить о том, что если числовое значение превысит количество символов в строке, команда не будет выполнена.
echo «We worked till dusk, then washed and dressed.» | cut -c 12,31,45
При работе с символами можно использовать диапазоны значений, точно так же, как и при работе с байтами.
echo «The two cars were now racing side by side along the straight road.» | cut -c 17-52
Нередко возникает необходимость вырезать часть текста из готового документа. Чтобы сделать это, достаточно выполнить команду
cut -c 18,25 cut_command_example.txt
Как видно на скриншоте, были вырезаны восемнадцатый и двадцать пятый символы в каждой из строк.
Если же вырезать только первый символ в каждой строке при помощи команды
cut -c 1 cut_command_example.txt
результат будет таким же, как и у команды
cat cut_command_example.txt | cut -c 1
Чтобы вырезать из текстового файла диапазон символов, нужно напечатать в терминале следующую команду:
cut -c 7-34 cut_command_example.txt
Возможность сортировки вырезанных символов сохраняется независимо от того, в байтах или в символах команде cut были заданы параметры текста. Команда sort расставляет символы в алфавитном порядке по умолчанию:
cut -c 1-9 cut_command_example.txt | sort
Расстановка символов в обратном порядке — начиная с конца алфавита — требует применения опции -r:
cut -c 1-9 cut_command_example.txt | sort -r
Уже известный нам трюк с дефисом возле числа можно повторить и в данном случае:
echo «We had had fights for the same reason before now.» | cut -c 12-
Будет вырезана последовательность символов, начиная с двенадцатого и заканчивая последним в строке.
А чтобы вырезать символы, начиная с первого и заканчивая двенадцатым, дефис следует переместить влево:
echo «We had had fights for the same reason before now.» | cut -c -12
С текстом, содержащимся в файле, поступают аналогично:
cut -c -8 cut_command_example.txt
cut -c 8- cut_command_example.txt
Команда вырезает текст в каждой из строк, согласно заданным параметрам.
3. Работа со столбцами
Создавая файл cut_command_example.txt, мы отделяли слова друг от друга не только пробелами, но и двоеточиями. Наконец пришло время использовать эти знаки на практике. А нужны они для того, чтобы вырезать фрагменты текста из столбцов и называются разделителями. Кроме двоеточий и пробелов в качестве разделителей можно использовать дефисы.
Но начнем, как всегда, с текста в стандартном выводе. Чтобы вырезать слово из первого столбца, воспользуемся командой
echo «From the inn issued a smell of frying liver.» | cut -d ‘ ‘ -f 1
В случае с текстовым файлом результат такой же — первое слово каждого столбца напечатано в терминале:
cut -d ‘:’ -f 1 cut_command_example.txt
Чтобы вырезать несколько столбцов, нужно указать их номера. Для текста, напечатанного через стандартный ввод, команда имеет вид:
echo «He was extraordinarily particular about politeness in others.» | cut -d ‘ ‘ -f 1,2,3
В данном примере ее результатом должны быть первые три слова — He was extraordinarily.
При использовании текстового файла аналогичная команда выглядит так:
cut -d ‘:’ -f 1,2,3 cut_command_example.txt
Из файла были вырезаны три первые столбца, а их содержимое выведено в терминал.
Ничуть не хуже команда работает, если задать ей параметры текста в виде диапазона чисел:
echo «Surprised, we looked at one another.» | cut -d ‘ ‘ -f 1-5
Как и ожидалось, были вырезаны столбцы (слова) с первого по пятый. Обратите внимание на два апострофа, которые из раза в раз появляются в записи команды при работе с текстом из стандартного ввода. Эти знаки необходимы, если разделителем является символ пробела. Теперь вырежем диапазон полей из файла:
cut -d ‘:’ -f 1-3 cut_command_example.txt
Точно так же, как раньше сортировали вырезанные символы, мы можем поступить и сейчас — расставить названия сезонов из файла в алфавитном порядке:
cut -d ‘:’ -f 1 cut_command_example.txt | awk ‘
Меняя числовое значение опции -f, можно вырезать и сортировать содержимое других столбцов. Отсортировать названия сезонов в обратном порядке поможет опция -r, добавленная к команде sort:
cut -d ‘:’ -f 1 cut_command_example.txt | awk ‘
Вырезать содержимое, начиная с определенного столбца и заканчивая последним в строке, получится, если использовать такую команду, где справа от числа, обозначающего номер начального столбца, стоит дефис:
echo «We became still more friendly.» | cut -d ‘ ‘ -f 2-
Переместив дефис влево, мы сделаем этот столбец последним, а вырезать слова команда будет, начиная с первого столбца.
echo «We became still more friendly.» | cut -d ‘ ‘ -f -2
Работа этой команды с текстовыми файлами не имеет принципиальных отличий:
cut -d ‘:’ -f 2- cut_command_example.txt
cut -d ‘:’ -f -2 cut_command_example.txt
Команда cut также пригодится при работе с массивными CSV-документами. Ее синтаксис и опции в этом случае остаются неизменными. Например, при таком написании будут вырезаны первые два столбца файла с названием file_example.csv:
cut -d ‘,’ -f 1,2 file_example.csv
Выводы
Команда cut linux — это инструмент, который пригодится всем пользователям Linux, которые работают с большими текстовыми документами. Ее возможности поистине фантастические и она имеет немало преимуществ перед другими схожими утилитами.
Как всегда, не стесняйтесь задавать вопросы в комментариях, если какие-то аспекты работы этой команды остались непонятными для вас.
Нет похожих записей
Оцените статью:
Об авторе
Автор: Rubaiat Hossain
Больше восьми лет назад мною было принято решение объявить бойкот оконной монополии и установить на свой компьютер Ubuntu. С тех пор это моя основная ОС. Иногда в порядке эксперимента «подселяю» к ней собратьев из семьи Linux. Увлекаюсь фотографией и горным туризмом. В свободное от работы время пишу статьи для losst.ru.
6 комментариев
Когда в ГУЕ прог тьма, то она на фиг не нужна, но знать её надо.?
Да. Такое впечатление, будто вы не представляете работу в GNU без графической оболочки и где вообще можно применять консольные утилиты.
Это надо для написания скриптов в основном
товарищи, а как вырезать предпоследнее и последнее поле, если не знаешь общее количество полей?
(например, uslugi.mos.ru — > mos.ru или m.pay.vk.com ->vk.com)
нашел,
awk -F. ‘
но столкнулся с проблемой если запись с номером (FN-1) отсутствует, выдаёт ошибку
Через rev:
echo » One Two Three» | rev | cut -d ‘ ‘ -f -2 | rev
> Two Three
echo » One Two Three Four Five» | rev | cut -d ‘ ‘ -f -2 | rev
> Four Five
Источник