Изменение имени при копировании linux

Копирование, перемещение, создание и удаление файлов и каталогов

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

Копирование файлов и каталогов

В Bash для копирования файлов используется команда cp (от «copy»), которой обычно передаются два аргумента:

  1. адрес с именем исходного файла,
  2. новый адрес с именем или просто адрес каталога, куда помещается копия.

Адрес может быть как абсолютным, так относительным. Если операции с файлами выполняются в текущем каталоге, то указывать адрес смысла нет. Пишется только имя исходного файла и имя копии. Поскольку файлов с одинаковыми именами и адресами быть не может, имя копии должно отличаться от имени исходного файла.

В данном случае создается копия файла readme , которая остается в той же директории под именем readme2 .

В папку Desktop копируется файл readme . Здесь текущим является родительский Desktop’у каталог. Имена копии и файла оригинала будут совпадать, а вот полные адреса – нет.

cp /home/irina/tux.png /mnt/D/pingvin.png

Здесь копируется файл из одного каталога в другой, используются абсолютные адреса, имя копии изменяется.

Если надо скопировать несколько разных файлов в один и тот же каталог, то после команды cp сначала перечисляются все файлы-оригиналы, а последним указывается каталог, куда помещаются копии. Понятно, что при таком групповом действии имена файлов изменить не удастся.

Чтобы скопировать каталог со всем его содержимым, необходимо использовать ключ -r команды cp :

Читайте также:  Проверка дисков linux fsck

Перемещение и переименование

В Bash-оболочке Linux для перемещения и переименования используется одна и та же команда – mv (от «move» – перемещать). Переименование можно рассматривать как частный случай перемещения, ведь по-сути изменяется полный адрес файла, что равносильно перемещению, даже если файл остается в том же каталоге.

Также как в случае cp , для mv необходимо указать пару аргументов. Выбор между перемещением и переименованием зависит от того, что это за аргументы. При перемещении файл меняет свой адрес, следовательно, если в первом и втором аргументах указаны разные адреса, то произойдет перемещение. Если адреса одинаковые, а различаются только имена, происходит переименование. Кроме того, перемещение может быть совмещено с переименованием.

В случае перемещения без переименования во втором аргументе указывается только каталог места назначения.

mv document.txt Work/doc23.txt

Здесь в первом случае файл document.txt перемещается в каталог Work . Во-втором случае одновременно происходит перемещение файла и его переименование: document.txt перемещается в директорию Work и получает новое имя doc23.txt .

При использовании команды mv для переименования в качестве второго аргумента указывается новое имя:

mv Work/list.odt Work/names.odt

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

Групповое перемещение файлов работает также, как с командой cp : сначала указываются перемещаемые объекты, в конце каталог назначения.

Создание файлов и каталогов

Новые директории создаются командой mkdir. Например, чтобы создать каталог Work в текущей директории необходимо выполнить следующую команду:

mkdir Work
или
mkdir ./Work

Существует множество способов создания файлов, обычно они создаются какой-либо программой. Если все же возникает необходимость создать пустой файл, сделать это можно с помощью программы touch . В качестве аргумента ей передается имя создаваемого файла. Еще один способ – перенаправление вывода какой-либо команды в файл. Пример:

Читайте также:  Hosting web server on linux

Здесь программа cal выводит календарь на текущий месяц, а поскольку стоит знак перенаправления вывода, то вывод команды будет записан в файл January , находящийся в папке Work .

Удаление файлов и каталогов

Для удаления файлов используется команда rm. Например:

Командой rmdir можно удалить пустой каталог. Если же каталог не пуст, следует использовать команду rm с ключом -r :

Удаление непустого каталога: rm -r

У вас в каталоге есть файлы с разными расширениями. Вам надо группу файлов, имеющих одно и тоже расширение, скопировать в другой каталог. Как это сделать одной командой?

Какой ключ надо использовать, чтобы при перемещении случайно не перезаписать уже имеющийся в каталоге файл с таким именем?

Курс с ответами к заданиям и дополнительными уроками в PDF

Введение в Linux и Bash. Курс

Источник

Как изменить имя папки при копировании?

Я пишу «cp -r mydir anotherdir». В этом случае у меня получается «anotherdir/mydir», а как мне сделать чтобы например получилось «anotherdir/mydir2» ?

И еще как мне сделать чтобы если эта папка куда я копирую не существует — то пусть создастся (в т.ч. рекурсивно — там структура папок). Знаю что можно сделать «mkdir -p dir1/dir2/dir3» но если вдруг у cp если опция для этого то лучше бы обойтись без лишней команды.

Простой 1 комментарий

> Я пишу «cp -r mydir anotherdir». В этом случае у меня получается «anotherdir/mydir»

В этом случае у вас должно получиться anotherdir.
А anotherdir/mydir получается только если anotherdir уже есть.

> а как мне сделать чтобы например получилось «anotherdir/mydir2» ?
Так же — сперва создайте anotherdir (точнее у вас она уже есть?), затем
cp -r mydir anotherdir/mydir2

xotkot

Я пишу «cp -r mydir anotherdir». В этом случае у меня получается «anotherdir/mydir», а как мне сделать чтобы например получилось «anotherdir/mydir2» ?

cp -r mydir anotherdir/mydir2
если папки mydir2 нету то mydir при копировании переименуется в mydir2
если папка mydir2 есть то mydir скопируется в каталог mydir2

Читайте также:  Операционная система линукс гост

Если же нужно перенести содержимое папки из mydir в существующий mydir2 то:
cp -r mydir/* anotherdir/mydir2

Источник

Оцените статью
Adblock
detector