Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.082 секунд. Запросов: 25.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Копирование, перемещение, создание и удаление файлов и каталогов
Частыми операциями в файловой структуре являются создание файлов и каталогов, их копирование, перемещение, переименование, а также удаление. Очевидно для подобных действий в командной оболочке Linux должны быть предусмотрены специальные команды.
Копирование файлов и каталогов
В Bash для копирования файлов используется команда cp (от «copy»), которой обычно передаются два аргумента:
- адрес с именем исходного файла,
- новый адрес с именем или просто адрес каталога, куда помещается копия.
Адрес может быть как абсолютным, так относительным. Если операции с файлами выполняются в текущем каталоге, то указывать адрес смысла нет. Пишется только имя исходного файла и имя копии. Поскольку файлов с одинаковыми именами и адресами быть не может, имя копии должно отличаться от имени исходного файла.
cp readme readme2
В данном случае создается копия файла readme , которая остается в той же директории под именем readme2 .
cp readme Desktop/
В папку Desktop копируется файл readme . Здесь текущим является родительский Desktop’у каталог. Имена копии и файла оригинала будут совпадать, а вот полные адреса – нет.
cp /home/irina/tux.png /mnt/D/pingvin.png
Здесь копируется файл из одного каталога в другой, используются абсолютные адреса, имя копии изменяется.
Если надо скопировать несколько разных файлов в один и тот же каталог, то после команды cp сначала перечисляются все файлы-оригиналы, а последним указывается каталог, куда помещаются копии. Понятно, что при таком групповом действии имена файлов изменить не удастся.
Чтобы скопировать каталог со всем его содержимым, необходимо использовать ключ -r команды cp :
cp -r ./letters ./oldletters
Перемещение и переименование
В Bash-оболочке Linux для перемещения и переименования используется одна и та же команда – mv (от «move» – перемещать). Переименование можно рассматривать как частный случай перемещения, ведь по-сути изменяется полный адрес файла, что равносильно перемещению, даже если файл остается в том же каталоге.
Также как в случае cp , для mv необходимо указать пару аргументов. Выбор между перемещением и переименованием зависит от того, что это за аргументы. При перемещении файл меняет свой адрес, следовательно, если в первом и втором аргументах указаны разные адреса, то произойдет перемещение. Если адреса одинаковые, а различаются только имена, происходит переименование. Кроме того, перемещение может быть совмещено с переименованием.
В случае перемещения без переименования во втором аргументе указывается только каталог места назначения.
mv document.txt Work
mv document.txt Work/doc23.txt
Здесь в первом случае файл document.txt перемещается в каталог Work . Во-втором случае одновременно происходит перемещение файла и его переименование: document.txt перемещается в директорию Work и получает новое имя doc23.txt .
При использовании команды mv для переименования в качестве второго аргумента указывается новое имя:
mv order.txt orderNew.txt
mv Work/list.odt Work/names.odt
Каталоги перемещаются и переименовываются по тому же принципу, что и файлы (в отличие от cp ключ -r здесь не нужен).
Групповое перемещение файлов работает также, как с командой cp : сначала указываются перемещаемые объекты, в конце каталог назначения.
Создание файлов и каталогов
Новые директории создаются командой mkdir. Например, чтобы создать каталог Work в текущей директории необходимо выполнить следующую команду:
mkdir Work
или
mkdir ./Work
Существует множество способов создания файлов, обычно они создаются какой-либо программой. Если все же возникает необходимость создать пустой файл, сделать это можно с помощью программы touch . В качестве аргумента ей передается имя создаваемого файла. Еще один способ – перенаправление вывода какой-либо команды в файл. Пример:
Здесь программа cal выводит календарь на текущий месяц, а поскольку стоит знак перенаправления вывода, то вывод команды будет записан в файл January , находящийся в папке Work .
Удаление файлов и каталогов
Для удаления файлов используется команда rm. Например:
Командой rmdir можно удалить пустой каталог. Если же каталог не пуст, следует использовать команду rm с ключом -r :

Вопросы
У вас в каталоге есть файлы с разными расширениями. Вам надо группу файлов, имеющих одно и тоже расширение, скопировать в другой каталог. Как это сделать одной командой?
Какой ключ надо использовать, чтобы при перемещении случайно не перезаписать уже имеющийся в каталоге файл с таким именем?
Курс с ответами к заданиям и дополнительными уроками в PDF
X Скрыть Наверх
Введение в Linux и Bash. Курс
Rename a File in Linux – Bash Terminal Command

Zaira Hira

Renaming files is a very common operation whether you are using the command line or the GUI.
Compared to the GUI (or Graphical User Interface), the CLI is especially powerful. This is in part because you can rename files in bulk or even schedule the scripts to rename files at a certain point in time.
In this tutorial, you will see how you can rename files in the Linux command line using the built-in mv command.
How to Use the Linux mv Command
You can use the built-in Linux command mv to rename files.
The mv command follows this syntax:
mv [options] source_file destination_file
Here are some of the options that can come in handy with the mv command:
- -v , —verbose : Explains what is being done.
- -i , —interactive : Prompts before renaming the file.
Let’s say you want to rename index.html to web_page.html . You use the mv command as follows:
zaira@Zaira:~/rename-files$ mv index.html web_page.html
Let’s list the files and see if the file has been renamed:
zaira@Zaira:~/rename-files$ ls web_page.html
How to Name Files in Bulk Using mv
Let’s discuss a script where you can rename files in a bulk using a loop and the mv command.
Here we have a list of files with the extension .js .
zaira@Zaira:~/rename-files$ ls -lrt total 0 -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 index.js -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 config.js -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 blog.js
Next, you want to convert them to .html .
You can use the command below to rename all the files in the folder:
for f in *.js; do mv -- "$f" "$.html"; done
Let’s break down this long string to see what’s happening under the hood:
- The first part [ for f in *.js ] tells the for loop to process each “.js” file in the directory.
- The next part [ do mv — «$f» «$.html ] specifies what the processing will do. It is using mv to rename each file. The new file is going to be named with the original file’s name excluding the .js part. A new extension of .html will be appended instead.
- The last part [ done ] simply ends the loop once all the files have been processed.
zaira@Zaira:~/rename-files$ ls -lrt total 0 -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 index.html -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 config.html -rw-r--r-- 1 zaira zaira 0 Sep 30 00:24 blog.html
Conclusion
As you can see, renaming files is quite easy using the CLI. It can be really powerful when deployed in a script.
What’s your favorite thing you learned here? Let me know on Twitter!
You can read my other posts here.
Как переименовать файл в Linux

Visitors have accessed this post 40745 times.
Переименование файлов Linux — одна из самых простых задач, которую вы можете выполнить непосредственно из командной строки.
Есть несколько способов, как это сделать, и в этом туториале я покажу вам, как легко можно в Linux переименовать файл.
Переименование файла в Linux с помощью команды mv
В Linux команда переименования файла — mv — одна из самых простых. Ее синтаксис достаточно несложный.
# mv old_file new_file
Я создал новую папку в моем домашнем каталоге и назвал его files. В папке есть документ с именем file1.txt.
Чтобы переименовать файл file1.txt в file2.txt, запустите команду:
# mv file1.txt file2.txt
Можно проверить результат, используя команду ls.
Чтобы получить детальный вывод, добавьте флаг -v.
# mv file1.txt file2.txt -v
Если нужно указать полный путь к файлу, например, /home/winnie/file1.txt, синтаксис будет такой:
# mv /home/winnie/file1.txt /home/winnie/file2.txt
Если вы укажете другой путь к файлу, команда mv просто переместит его в другое место без переименования.
Как переименовать несколько файлов с помощью команды rename
Команда rename также может использоваться, если нужно массовое переименование файлов Linux из одного формата в другой. Синтаксис:
# rename ‘s/old/new/’ files
Например, у меня есть 5 файлов: file1.txt, file2.txt, file3.txt, file4.txt и file5.txt.
Чтобы переименовать все эти файлы (*.txt) в pdf (*.pdf), выполните:
# rename ‘s/txt/pdf/’ *.txt
Подстановочный знак означает, что изменения коснутся всех файлов.
Чтобы изменить написание названий файлов со строчных букв на заглавные, выполните:
# rename ‘y/a-z/A-Z/’ *.png
В приведенном выше случае все png-файлы с маленькой буквы будут изменены на заглавные.
Для просмотра справочной страницы rename выполните:
Использование инструмента Metamorphose2 GUI
Чтобы найти и переименовать файл Linux, терминал нужен не всегда. Так, для любителей графического интерфейса Metamorphose — удобный инструмент для работы с переименованием файлов. Это бесплатный кроссплатформенный инструмент для переименования файлов и папок с открытым исходным кодом, доступный как для Linux, так и для Windows.
Для начала зайдите на сайт Metamorphose и выберите установщик дистрибутива. Есть несколько вариантов установки, например, файлы Debian для Ubuntu и Debian и RPM для дистрибутивов на основе RedHat, таких как CentOS.
После того, как скачали программу, используйте команду dpkg для установки
# dpkg -i metamorphose_1.1 2-2_all.deb
После установки Metamorphose2, откройте его на терминале, выполнив:
Выберите предпочитаемый язык и нажмите кнопку ОК.
Нажмите на вкладку renamer. Появится окно. На левой панели находится список действий, которые вы можете предпринять при переименовании. В центре идет подробное объяснение всех этих действий.
Далее, нажмите на вкладку Picker и выберите папку, содержащую файлы, которые вы хотите переименовать. Выделите эти файлы.
После этого снова нажмите на вкладку Renamer и на этот раз задайте правила переименования. В моем примере я заменяю file на doc.
В разделе внизу можно увидеть, как ваши файлы будут выглядеть после переименования.
Если все верно, нажмите кнопку Go
Использование инструмента Pyrenamer GUI
Pyrenamer — еще один удобный инструмент, который можно использовать для переименования нескольких файлов в Linux. Для установки этого инструмента в Ubuntu выполните:
# apt-get install pyrenamer
Чтобы открыть Pyrenamer, выполните:
После запуска программы прокрутите вниз до интересующего вас каталога и выберите файлы, которые вы хотите переименовать. Далее выберите действия, которые вы хотите применить. В моем случае я заменю расширение txt на pdf.
Чтобы изменения вступили в силу, необходимо нажать на кнопку Переименовать.
Если вы хотите освоить профессию системного администратора Linux, но не уверены в своих силах, советуем посмотреть программу практикума Linux by Rebrain.
Каждую неделю мы в live режиме решаем кейсы на наших открытых онлайн-практикумах, присоединяйтесь к нашему каналу в Телеграм, вся информация там.