Переименование Файла в Linux с Помощью Команды mv
Если мы хотим переименовать файл, мы можем сделать это так:
mv staroje_nazvanije_faila1 novoje_nazvanije_faila1
Допустим, что мы находимся в каталоге и у нас есть файл с именем file1.txt. Мы хотим изменить имя этого файла на file2.txt. В таком случае наша команда будет выглядеть так:
mv file1.txt file2.txt
Всё очень просто. Однако, если вы не в каталоге, вам нужно будет немного расширить команду. Вот её пример:
cd /home/user/docs/files mv file1.txt file2.txt
Как Переименовать Несколько Файлов с Помощью Команды mv
Команда mv может переименовать только один файл, но её можно использовать с другими командами для переименования нескольких файлов.
Давайте возьмём циклы find, for, или while и переименуем несколько файлов.
Например, чтобы изменить расширение всех файлов .txt на расширение .pdf, мы будем использовать следующую команду:
for f in *txt; do mv -- "$f" "${f%.txt}.pdf" done
Она создаст цикл (for), который найдёт все файлы с расширением .txt, и заменит каждое расширение .txt на .pdf. Наконец, команда завершит цикл (done).
Если вам нужны более продвинутые функции, тогда стоит ознакомиться с ещё одной командой — rename. О ней и пойдёт речь дальше.
Как Переименовать Файл в Linux с Помощью Команды Rename
С утилитой rename у вас будет немного больше контроля. Многие конфигурации Linux включают её по умолчанию. Но, если она не установлена, вы можете быстро это сделать с помощью простой команды.
Если вы используете Debian, Ubuntu, Linux Mint и их производные:
sudo apt install rename
Если же вы пользователь CentOS 7 или RHEL:
sudo yum install rename
Команда для установки rename в Arch Linux:
yay perl-rename ## or yaourt -S perl-rename
Теперь мы можем начать использовать команду rename. Её основной синтаксис выглядит так:
rename 's/staroje-nazvanije/novoje-nazvanije/' files
Команда выглядит сложнее, чем есть на самом деле.
В примере ниже мы создадим новую папку с именем filetorename и 5 файлов, используя для этого команду touch.
mkdir filetorename
cd filetorename
touch file{1..5}.txt
ls
С помощью последней команды ls вы можете просмотреть созданные вами файлы.
Если мы хотим переименовать только один файл с названием file1.txt, мы напишем следующую строку:
rename ‘s/file1/newfile1/’ file1.txt
Если же мы хотим изменить расширение всех файлов, например, на .php. Мы могли бы сделать это так:
rename ‘s/.txt/.php/’ *.txt
ls
Также мы можем указать другой каталог, где находятся файлы, которые вы хотите переименовать.
rename ‘s/.txt/.php/’ ФАЙЛ/ПУТЬ
Важно отметить, что rename использует регулярное выражение Perl, а это означает широкие возможности команды. Наконец, неплохо было бы узнать опции команды
Для того, чтобы посмотреть весь их список, введите в терминале команду:
Наконец, неплохо было бы узнать опции команды. Для того, чтобы посмотреть весь их список, введите в терминале команду:
rename –help
Распространённые примеры использования команды rename:
- Преобразовать имена файлов в верхний регистр:
rename 'y/a-z/A-Z/' *
- Преобразовать имена файлов в нижний регистр:
rename 'y/A-Z/a-z/' *
- Заменить пробелы в именах файлов символами подчёркивания:
rename 'y/ /_/' *
Как Удалить Утилиту Rename
Если вы больше не хотите, чтобы команда rename была установлена в вашей системе, удалите её с помощью диспетчера ПО или из терминала.
Для Debian, Ubuntu, Linux Mint и производных:
sudo apt remove rename
Для CentOS и RHEL:
sudo yum remove rename
Вот и всё, rename удалено с вашей машины Linux.
Переименование файлов Linux с помощью rename
В Linux есть еще одна команда, которая позволяет переименовать файл. Это rename. Она специально разработана для этой задачи, поэтому поддерживает такие вещи, как массовое переименование файлов linux и использование регулярных выражений. Синтаксис утилиты тоже сложнее:
$ rename опции ‘s/старое_имяновое_имя’ файлы
Или:
$ rename опции старое_имяновое_имя файлы
В качестве старого имени указывается регулярное выражение или часть имени которую нужно изменить, новое имя указывает на что нужно заменить. Файлы — те, которые нужно обработать, для выбора файлов можно использовать символы подставки, такие как * или ?.
Рассмотрим опции утилиты:
- -v — вывести список обработанных файлов;
- -n — тестовый режим, на самом деле никакие действия выполнены не будут;
- -f — принудительно перезаписывать существующие файлы;
Например, переименуем все htm файлы из текущей папки в .html:
Или для изображений:
Символ звездочки означает, что переименование файлов linux будет выполнено для всех файлов в папке. В регулярных выражениях могут применяться дополнительные модификаторы:
- g (Global) — применять ко всем найденным вхождениям;
- i (Case Censitive) — не учитывать регистр.
Модификаторы размещаются в конце регулярного выражения, перед закрывающей кавычкой. Перед тем, как использовать такую конструкцию, желательно ее проверить, чтобы убедиться, что вы не допустили нигде ошибок, тут на помощь приходит опция -n. Заменим все вхождения DSC на photo в именах наших фотографий:
Будут обработаны DSC, DsC и даже dsc, все варианты. Поскольку использовалась опция -n, то утилита только выведет имена изображений, которые будут изменены.
Можно использовать не только обычную замену, но и полноценные регулярные выражения чтобы выполнить пакетное переименование файлов linux, например, переделаем все имена в нижний регистр:
Из этого примера мы видим, что даже если такой файл уже существует, то он перезаписан по умолчанию не будет. Не забывайте использовать опцию -n чтобы ничего случайно не повредить.
Управление пользователями и группами
Linux — это многопользовательская система, что означает, что с одной и той же системой одновременно могут взаимодействовать несколько человек. Группы используются для организации и администрирования учетных записей пользователей. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, совместно используемого пользователями внутри группы.
Создание пользователей (команды и )
Команда позволяет создавать новых пользователей.
Чтобы создать новую учетную запись пользователя, вызовите команду за которой следует имя пользователя:
После создания пользователя установите пароль пользователя, выполнив команду :
Удаление пользователей (команда )
В Linux вы можете удалить учетную запись пользователя с помощью команды .
Чтобы удалить учетную запись пользователя с именем, передайте имя команде :
Используйте параметр (–remove), чтобы удалить домашний каталог пользователя и почтовый ящик:
Управление группами ( и )
Чтобы создать новую группу, вызовите команду за которой следует имя группы:
Чтобы удалить группу, используйте команду с именем группы в качестве аргумента:
Добавление пользователей в группы ( )
Команды, используемые для работы с файлами
mkdir
Команда «mkdir» позволяет пользователям создавать каталоги/папки в системе. Пользователь, выполняющий эту команду, должен иметь соответствующие права на родительский каталог для создания каталога, иначе он получит ошибку.
Синтаксис:
Пример:
Ввод команды «mkdir NewDirectory» создаст каталог с именем NewDirectory в текущем каталоге.
rmdir
Команда «rmdir» позволяет пользователям удалять каталоги/папки из системы. Пользователь, выполняющий эту команду, должен иметь соответствующие права на родительский каталог для удаления каталога, иначе он получит ошибку. Синтаксис: rmdir Имя_каталога
Пример:
Ввод команды «rmdir NewDirectory» удалит каталог с именем NewDirectory в текущем каталоге.
rm
Команда «rm» используется для удаления файлов из каталога.
Синтаксис:
Пример:
Эта вышеупомянутая команда удалит файл «Test_File» из текущего каталога.
mv
Команда «mv» используется для двух целей
- Для перемещения файлов или каталогов с одного пути на другой путь в системе.
- Для переименования файла или папки.
«mv» для перемещения файлов
Синтаксис:
Пример: Рассмотрим наличие двух файлов в каталоге (File1 и File2). Ввод команды «mv File1 File2» переместит данные файла File1 в файл File2 и удалит исходный файл (т.е. File1) из системы.
«mv» для переименования файлов
Синтаксис:
Пример:
Рассмотрим наличие двух файлов в каталоге (File1 и File2). Ввод команды «mv File1 File_Rename» переименует File1 в File_Rename в том же каталоге. пример команды mv
cp
Команда «cp» используется для копирования данных из исходного файла в файл назначения. Ее действие почти аналогично команде «mv». Единственное отличие заключается в том, что при использовании команды «cp» исходный файл не удаляется из каталога после того, как его данные перемещены в файл назначения. Синтаксис:
Пример:
cat
Команда «cat» является обратной командой к команде «tac». Она используется для отображения каждой строки файла, начиная с первой и заканчивая последней.
Эта команда используется чаще, чем «tac». Синтаксис:
Пример:
Рассмотрим файл с именем Test_File, как показано ниже, команда «cat» выведет его данные на экран.
Рассмотрим наличие двух файлов (File1 и File2) в каталоге рабочего стола. С помощью вышеупомянутой команды cat пользователь может вывести данные из обоих файлов на экран.
Рассмотрим наличие двух файлов (File1 и File2) в каталоге Рабочего стола. С помощью вышеупомянутой команды cat пользователь может создать новый файл (File_Output) и добавить данные из обоих файлов (File1 и File2) в этот новый файл с именем File_Output, используя операнд «>».
head
Команда «head» печатает N верхних строк данных заданного входного файла или файла. По умолчанию она печатает первые 10 строк указанных файлов.
Синтаксис:
Пример:
Вышеупомянутая команда выведет только первые 5 строк файла New_Test.txt
tail
Команда «tail» печатает последние N строк данных заданного входа или файла. По умолчанию она печатает последние 10 строк указанных файлов.
Синтаксис:
Пример:
Вышеупомянутая команда выведет только последние 5 строк файла New_Test.txt.
echo
Команда «echo» используется для отображения любого выражения, переданного в качестве аргумента.
Синтаксис:
Пример:
Эта команда выводит на экран «user».
grep
Команда «grep» используется для поиска текста в указанном файле/папке.
Синтаксис:
Пример:
Вышеупомянутая команда будет искать слово «Are» в файле B.
zip
Команда «zip» используется для сжатия одного или нескольких файлов и сохранения их в новом файле с расширением .zip.
Синтаксис:
Пример:
Вышеупомянутая команда сожмет все три файла (Check.txt, Test.txt и Output.txt) и сохранит их в новом файле, который мы создаем с помощью этой команды, т.е. Files.zip.
unzip
Команда «unzip» используется для распаковки файла .zip и извлечения всех файлов из него в текущий каталог. Синтаксис:
Пример:
Рассмотрим, что у нас есть zip-файл с именем Files.zip, в котором находится сжатый файл .txt. Вышеупомянутая команда поможет вам разархивировать файл (Files.zip) и извлечь из него файл .txt в текущий каталог.
sudo
Команда «sudo -I» используется для продолжения сессии в качестве пользователя root, который имеет гораздо больше привилегий, чем обычный пользователь системы.
Синтаксис:
Пример:
Examples
mv myfile.txt myfiles
Move the file myfile.txt into the directory myfiles. If myfiles is a file, it is overwritten. If the file is marked as read-only, but you own the file, you are prompted before overwriting it.
mv myfiles myfiles2
If myfiles is a file or directory, and myfiles2 is a directory, move myfiles into myfiles2. If myfiles2 does not exist, the file or directory myfiles is renamed myfiles2.
mv myfile.txt ../
Move the file myfile.txt to the parent directory of the current directory.
mv -t myfiles myfile1 myfile2
Move the files myfile1 and myfile2 to the directory myfiles.
mv myfile1 myfile2 myfiles
Same as the previous command.
mv -n file file2
If file2 exists and is a directory, file is moved into it. If file2 does not exist, file is renamed file2. If file2 exists and is a file, nothing happens.
mv -f file file2
If file2 exists and is a file, it is overwritten.
mv -i file file2
If file2 exists and is a file, a prompt is given:
mv: overwrite 'file2'?
Entering «y», «yes», «Yes», or «Y» results in the file being overwritten. Any other input skips the file.
mv -fi file file2
Same as mv -i. Prompt before overwriting. The f option is ignored.
mv -if file file2
Same as mv -f. Overwrite with no prompt. The i option is ignored.
mv My\ file.txt My\ file\ 2.txt
Rename the file «My file.txt» to «My file 2.txt«. Here, the spaces in the file name are escaped, protecting them from being interpreted as part of the command.
mv "My file.txt" "My file 2.txt"
Same as the previous command.
mv "My file.txt" myfiles
The result of this command:
- If myfiles a directory, My file.txt is moved into myfiles.
- If myfiles a file, My file.txt is renamed myfiles, and the original myfiles is overwritten.
- If myfiles does not exist, My file.txt is renamed myfiles.
mv My*.txt myfiles
Here, * is a wildcard meaning «any number, including zero, of any character.»
- If myfiles is a directory: all files with the extension .txt, whose name begins with My, are moved to myfiles.
- If myfiles does not exist or is not a directory, mv reports an error and does nothing.
my My\ file??.txt myfiles
Here, ? is a wildcard meaning «zero or one of any character.» It’s used twice, so it can match a maximum of two characters.
- If myfiles is a directory: any file with zero, one, or two characters between My file and .txt in their name is moved into myfiles.
- If myfiles doesn’t exist, or is not a directory, mv reports an error and does nothing.
Tip
For more information about how wildcards are used in commands, see .
Making backups
mv -b file file2
If file2 exists, it is renamed to file2~.
mv -b --suffix=.bak file file2
If file2 exists, it is renamed to file2.bak.
mv --backup=numbered; mv file file2
If file2 exists, it is renamed file2.~1~. If file2.~1~ exists, it is renamed file2.~2~, etc.
VERSION_CONTROL=numbered mv -b file file2
Same as previous command. The environment variable is defined for this command only.
export VERSION_CONTROL=numbered; mv -b file file2
By exporting the VERSION_CONTROL environment variable, all mv -b commands for the current session use numbered backups.
export VERSION_CONTROL=numbered; mv file file2
Even though the VERSION_CONTROL variable is set, no backups are created because -b (or —backup) was not specified. If file2 exists, it is overwritten.
Renaming using regular expressions
mv does not interpret regular expressions (regex).
If you need to rename many files using a complex or nuanced mapping from old to new file names, you use the rename command instead.
rename accepts perl regular expressions. For example:
rename 's/My\ file(..)/document$1/' My*
This command renames files My file.txt and My file 2.txt to document.txt and document 2.txt.
(1) найти команду поиска файла
Команда locate на самом деле является другим способом написания find -name, но она намного быстрее, чем последний, потому что она не выполняет поиск в конкретном каталоге, а выполняет поиск в базе данных / var / lib / connectedb, которая содержит всю информацию о локальных файлах. Система Linux автоматически создает эту базу данных и обновляет ее раз в день, поэтому последние измененные файлы невозможно найти с помощью команды locate. Чтобы избежать этой ситуации, вы можете использовать locate перед использованиемupdatedbКоманда для обновления базы данных вручную.
найти имя файла |
# Искать по имени входного файла в фоновой базе данных, скорость поиска выше, если вы забыли полное имя файла, вы можете его использовать |
/ var / lib / mlocate или locatesdb (имя неизвестно) |
# найти серверную базу данных, которую искала команда |
updatedb |
#Обновление базы данных |
пример:
добавка:
Найти не удается выполнить поиск во временном каталоге
Потому что поиск следует настройкам файла конфигурации.
Установка и удаление пакетов
Диспетчер пакетов — это инструмент, который позволяет вам устанавливать, обновлять, удалять и иным образом управлять пакетами программного обеспечения для конкретного дистрибутива.
В разных дистрибутивах Linux есть разные менеджеры пакетов и разные форматы пакетов.
Только root или пользователь с привилегиями sudo могут устанавливать и удалять пакеты.
Ubuntu и Debian (команда )
Advanced Package Tool или APT — это система управления пакетами, используемая дистрибутивами на основе Debian.
В дистрибутивах Debian есть несколько инструментов управления пакетами из командной строки, из которых наиболее часто используются и .
Перед установкой нового пакета сначала необходимо обновить индекс пакета APT:
Индекс APT — это база данных, в которой хранятся записи о доступных пакетах из репозиториев, включенных в вашей системе.
Чтобы обновить установленные пакеты до последних версий, запустите:
Установить пакеты так же просто, как запустить:
Чтобы удалить установленный пакет , введите:
CentOS и Fedora (команда )
RPM — это мощная система управления пакетами, используемая Red Hat Linux и ее производными, такими как CentOS и Fedora. RPM также относится к команде и формату файла .
Чтобы установить новый пакет в дистрибутивах на основе Red Hat, вы можете использовать команды или :
Начиная с CentOS 8 заменил в качестве менеджера пакетов по умолчанию. обратно совместим с .
Чтобы обновить установленные пакеты до последних версий, введите:
Удалить пакеты так же просто, как:
Навигация
— выводит название текущего рабочего каталога
— опредяет тип файла
— выполняет переход в другой каталог
Сокращенные варианты команды
Сокращение | Результат |
---|---|
Сменить рабочий каталог на домашний | |
Сменить рабочий каталог на предыдущий рабочий каталог | |
Сменить рабочий каталог на домашний каталог пользователя username | |
Обозачает рабочий каталог | |
Обозачает родительский каталог по отношению к рабочему |
— выводит список содержимого каталога
Наиболее популярные параметры команды
Параметр | Длинный параметр | Описание |
---|---|---|
Список всех (all) файлов, даже с именами, начинающимися с точки, скрытые файлы | ||
Показывает в первом поле номер индексного узла | ||
Выводит информацию о самом каталоге, а не его содержимое | ||
Добавляет в конец каждого имени символ-индикатор (например, прямой слеш, если это имя каталога) | ||
Отображает размеры файлов не в байтах, а в величинах с единицами измерения | ||
Выводит результаты с использованием длинного формата | ||
Выводит результаты в обратном порядке | ||
Сортировать результаты по размеру (size) | ||
Сортировать результаты по времени (time) последнего изменения |
— выводит содержимое файла
Команды программы
Команда | Действие |
---|---|
Page Up или b | Прокрутка к началу на одну страниц у |
Pae Down или ПРОБЕЛ | Прокрутка к концу на одну страницу |
СТРЕЛКА ВВЕРХ ↑ | Прокрутка к началу на одну строку |
СТРЕЛКА ВНИЗ ↓ | Прокрутка к концу на одну строку |
G | Переход в конец текстового файла |
1G или g | Переход в начало текстового файла |
n | Поиск следующего вхождения искомой последовательности символов |
h | Вывод экрана со справкой |
q | Завершение less |
Команды Linux окружения пользователя
29. su / sudo
Su и sudo — это два способа выполнить одну и ту же задачу: запустить программу от имени другого пользователя. В зависимости от вашего дистрибутива вы, наверное, используете одну или другую. Но работают обе. Разница в том, что su переключает вас на другого пользователя, а sudo только выполняет команду от его имени. Поэтому использование sudo будет наиболее безопасным вариантом работы. Я писал про права суперпользователя в этой статье.
30. date
В отличие от time, делает именно то, чего вы от неё и ожидаете: выводит дату и время в стандартный вывод. Его можно форматировать в зависимости от ваших потребностей: вывести год, месяц, день, установить 12-ти или 24-ти часовой формат, получить наносекунды или номер недели. Например, date +»%j %V», выведет день в году и номер недели в формате ISO.
31. alias
Команда создаёт синонимы для других команд Linux. То есть вы можете делать новые команды или группы команд, а также переименовывать существующие. Это очень удобно для сокращения длинных команд, которые вы часто используете, или создания более понятных имен для команд, которые вы используете нечасто и не можете запомнить. Здесь собрано несколько полезных алиасов.
32. uname
Выводит некую основную информацию о системе. Без параметров она не покажет ничего полезного, кроме строчки Linux, но, если задать параметр -a (All), можно получить информацию о ядре, имени хоста и узнать архитектуру процессора.
33. uptime
Сообщает вам время работы системы. Не очень существенная информация, но может быть полезна для случайных вычислений или просто ради интереса, чтобы узнать, как давно был перезагружен сервер.
34. sleep
Вам, наверное, интересно как же её можно использовать. Даже не учитывая Bash-скриптинг, у неё есть свои преимущества. Например, если вы хотите выключить компьютер через определенный промежуток времени или использовать в качестве импровизированной тревоги.