- Типы файлов Linux
- Обычные файлы (-)
- Каталоги (d)
- Символьные ссылки (l)
- Символьные (c) и блочные устройства (b)
- Сокеты (s) и каналы (p)
- Команда file
- Фундаментальные основы Linux. Часть II: Первые шаги в изучении интерфейса командной строки
- Глава 7. Работа с файлами
- Все имена файлов регистрозависимы
- Все является файлом
- Утилита file
- Утилита touch
- Утилита cp
- Утилита mv
- Утилита rename
- Практическое задание: работа с файлами
- Корректная процедура выполнения практического задания: работа с файлами
- Slax Linux
- Быстрый, компактный и надёжный Linux дистрибутив
- Популярные расширения файлов в Linux
- Добавить комментарий Отменить ответ
- Как изменить имя и расширение файла. Или лучше: сразу много
- Измените имя и расширение файла. Что самое лучшее?
- Для файла: F2
- С помощью команды mv
- С помощью команды переименования
- С помощью Inviska Rename
- Вы проверяли, работает ли ваша операционная система по умолчанию?
Типы файлов Linux
В GNU/Linux как и других Unix-подобных операционных системах понятие типа файла не связано с расширением файла (несколькими буквами после точки в конце имени), как это обстоит в Windows.
Unix-подобная ОС не следит за расширениями файлов. Задача связать расширения файла с конкретным пользовательским приложением, в котором этот файл будет открываться, видимо лежит на какой-либо дополнительной программе. В свою очередь пользовательское приложение анализирует структуру данный файла, расширение ему также безразлично.
Таким образом, среди файловых атрибутов, хранящихся в операционной системе на базе ядра Linux, нет информации о типе данных в файле. Там есть информация о более существенном разделении, связанном с тем, что в Unix-подобных системах все объекты – это файлы. Все объекты весьма разнообразны. Поэтому тип файла в Linux – это скорее тип объекта, но не тип данных как в Windows.
В операционной системе GNU/Linux существуют следующие типы файлов: обычные файлы, каталоги, символьные ссылки, блочные устройства, символьные устройства, сокеты, каналы. Каждый тип имеет собственное обозначение одним символом. Знание этих символов нам пригодится в дальнейшем при изучении командной оболочки Bash.
Обычные файлы (-)
Сюда относятся все файлы с данными, играющими роль ценной информации сами по себе. Linux все-равно текстовый перед ним файл, исполняемый или картинка. В любом случае это будет обычный (regular) файл. Все они обозначаются знаком минус «-«. Остальные типы файлов считаются специальными (special).
Каталоги (d)
В Linux каталог представляет собой такой тип файла, данными которого является список имен других файлов и каталогов, вложенных в данный каталог. Напрямую, то есть через какой-либо редактор, пользователь не может редактировать данные файла-каталога. Редактированием занимается ядро операционной системы, получая, в том числе от пользователя, команды создания файла, удаления и др.
В файле каталога осуществляется связь между именами файлов (словесного обозначения для людей) и их индексными дескрипторами (истинным именем-числом, которым оперирует ОС).
В Unix-подобных системах один и тот же файл может существовать под разными именами и/или в разных каталогах: все имена будут связаны с одним и тем же индексным дескриптором (механизм жестких ссылок).
Также следует, что файлы всегда должны содержаться в каталогах, иначе станут недоступны, так как нигде не будет содержаться записи о них.
Символьные ссылки (l)
Символьная ссылка – это файл, в данных которого содержится адрес другого файла по его имени (а не индексному дескриптору).
Выполнение символьной ссылки приводит к открытию файла, на который она указывает. Это аналог ярлыков в операционной системе Windows.
Если удалить исходный файл, то символьная ссылка продолжит существовать. Она по-прежнему будет указывать на файл, которого уже нет.
Символьные ссылки не содержат атрибутов файлов, на которые они указывают. У них есть собственные атрибуты.
Символьные (c) и блочные устройства (b)
Файлы устройств предназначены для обращения к аппаратному обеспечению компьютера (дискам, принтерам, терминалам и др.). Когда происходит обращение к файлу устройства, то ядро операционной системы передает запрос драйверу этого устройства.
К символьным устройствам обращение происходит последовательно (символ за символом). Примером символьного устройства может служить терминал.
Считывать и записывать информацию на блочные устройства можно в произвольном порядке, причем блоками определенного размера. Пример: жесткий диск.
Сокеты (s) и каналы (p)
Чтобы понять, что такое канал и сокет, необходимо понимание процессов в операционной системе. И каналы и сокеты организуют их взаимодействие. Пользователь с данными типами файлов почти не сталкивается.
Ключевым отличием канала от сокета является то, что канал однонаправлен. Через канал один процесс всегда передает данные второму, но не наоборот. Сокеты позволяют передавать данные в разных направлениях, т. е. осуществляют связь.
Также следует отметить, что канал представлен в структуре каталогов файлом, только если он именован. Когда возникают безымянные каналы, то они существуют только внутри ядра Linux.
Команда file
Хотя выше было сказано, что Линукс не делает предположение о типе данных в обычном файле, есть специальная утилита, которая выполняет эту задачу, – программа file. Для этого она анализирует начало содержимого файла и находит в нем специальные «сигналы», характерные для определенного типа – бинарного файла, текстового, изображения и др.
На скриншоте также показано, что расширение для программы file безразлично. Файл flag – копия flag.png, и программа успешно его идентифицировала как изображение.
Команда file имеет множество различных ключей.
В примере файл 2020.ods является символьной ссылкой на файл, находящийся в другом каталоге, о чем нам говорит команда file без ключей. С помощью ключа -L мы можем узнать тип файла, на который ссылается файл-ссылка.
Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.
Источник
Фундаментальные основы Linux. Часть II: Первые шаги в изучении интерфейса командной строки
Глава 7. Работа с файлами
Из данной главы вы узнаете о том, как определять тип файлов, создавать, удалять, копировать и перемещать файлы с помощью таких утилит, как file , touch , rm , cp , mv и rename .
Все имена файлов регистрозависимы
Имена файлов в Linux (или в любой системе Unix) являются регистрозависимыми. Это означает, что имена FILE1 и file1 не являются равноценными, а путь к файлу /etc/hosts отличен от пути к файлу /etc/Hosts (последнего файла не должно существовать в файловой системе типичного компьютера, работающего под управлением Linux).
Все является файлом
Любая директория на самом деле является файлом (с регистрозависмым именем!), хотя этот файл и имеет специальный тип. Каждый терминал (например, /dev/pts/4 ), любой жесткий диск или раздел на нем (например, /dev/sdb1 ) и любой процесс представлены где-либо в рамках файловой системы с помощью файла . После изучения данной главы у вас не останется сомнений в том, что в Linux все является файлом .
Утилита file
Утилита file использует файл со списком «магических последовательностей байт», содержащий шаблоны для распознавания типов данных. Файл со списком «магических последовательностей байт» расположен по пути /usr/share/file/magic . Используйте команду man 5 magic в случае необходимости получения дополнительной информации о нем.
Утилита touch
Создание пустого файла
Один из простых способов создания пустого фала заключается в использовании утилиты touch . (Позднее в данной книге мы рассмотрим множество других способов создания файлов.)
Команда touch -t
Удаление файлов навсегда
Утилита cp
Копирование отдельных файлов
Копирование файлов в другую директорию
Копирование множества файлов в директорию
Утилита mv
Переименование файлов с помощью утилиты mv
В том случае, если вам необходимо переименовать один файл, утилита mv является предпочтительным инструментом.
Переименование директорий с помощью утилиты mv
Утилита mv поддерживает параметр -i по аналогии с утилитами cp и rm .
Утилита rename
Об утилите rename
Утилита rename является одним из редких случаев, когда в рамках книги «Фундаментальные основы Linux» приходится делать разделение между дистрибутивами Linux. Практически каждая из описанных в данной книге утилит работает практически на каждом компьютере под управлением Linux. Но реализации утилиты rename в различных дистрибутивах отличаются.
Следует пытаться использовать утилиту mv всегда, когда вам необходимо переименовать несколько файлов.
Утилита rename в дистрибутиве Debian/Ubuntu
Утилита rename в дистрибутиве Debian имеет сложный синтаксис (используются регулярные выражения) для единовременного переименования множества файлов.
Утилита rename в дистрибутиве CentOS/RHEL/Fedora
Практическое задание: работа с файлами
1. Выведите список файлов директории /bin.
2. Выведите информацию о типах файлов /bin/cat, /etc/passwd и /usr/bin/passwd.
3a. Загрузите файлы wolf.jpg и LinuxFun.pdf с ресурса http://linux-training.be (с помощью команд wget http://linux-training.be/files/studentfiles/wolf.jpg и wget http://linux-training.be/files/books/LinuxFun.pdf)
3b. Выведите информацию о типах файлов wolf.jpg и LinuxFun.pdf.
3c. Переименуйте файл wolf.jpg в wolf.pdf (с помощью команды mv).
3d. Выведите информацию о типах файлов wolf.pdf и LinuxFun.pdf.
4. Создайте директорию
/touched и перейдите в нее.
5. Создайте файлы today.txt и yesterday.txt в директории touched.
6. Измените дату создания файла yesterday.txt таким образом, чтобы она совпадала с датой прошлого дня.
7. Создайте копию файла yesterday.txt с именем copy.yesterday.txt.
8. Переименуйте файл copy.yesterday.txt в kim.
9. Создайте директорию с именем
/testbackup и скопируйте все файлы из директории
10. Используйте одну команду для удаления директории
/testbackup и всех файлов из нее.
11. Создайте директорию
/etcbackup и скопируйте файлы с расширением .conf (*.conf) из директории /etc в нее. Проверьте, был ли осуществлен обход всех поддиректорий директории /etc?
12. Используйте утилиту rename для переименования всех файлов с расширением .conf (*.conf) таким образом, чтобы расширения всех этих файлов изменились на .backup. (Если у вас есть возможность работы более чем со одним дистрибутивом, попробуйте выполнить эту операцию во всех этих дистрибутивах!).
Корректная процедура выполнения практического задания: работа с файлами
1. Выведите список файлов директории /bin.
2. Выведите информацию о типах файлов /bin/cat, /etc/passwd и /usr/bin/passwd.
3a. Загрузите файлы wolf.jpg и LinuxFun.pdf с ресурса http://linux-training.be (с помощью команд wget http://linux-training.be/files/studentfiles/wolf.jpg и wget http://linux-training.be/files/books/LinuxFun.pdf)
3b. Выведите информацию о типах файлов wolf.jpg и LinuxFun.pdf.
3c. Переименуйте файл wolf.jpg в wolf.pdf (с помощью команды mv).
3d. Выведите информацию о типах файлов wolf.pdf и LinuxFun.pdf.
4. Создайте директорию
/touched и перейдите в нее.
5. Создайте файлы today.txt и yesterday.txt в директории touched.
6. Измените дату создания файла yesterday.txt таким образом, чтобы она совпадала с датой прошлого дня.
7. Создайте копию файла yesterday.txt с именем copy.yesterday.txt.
8. Переименуйте файл copy.yesterday.txt в kim.
9. Создайте директорию с именем
/testbackup и скопируйте все файлы из директории
10. Используйте одну команду для удаления директории
/testbackup и всех файлов из нее.
11. Создайте директорию
/etcbackup и скопируйте файлы с расширением .conf (*.conf) из директории /etc в нее. Проверьте, был ли осуществлен обход всех поддиректорий директории /etc?
Будут скопированы исключительно файлы с расширением .conf (*.conf), находящиеся непосредственно в директории /etc/.
12. Используйте утилиту rename для переименования всех файлов с расширением .conf (*.conf) таким образом, чтобы расширения всех этих файлов изменились на .backup. (Если у вас есть возможность работы более чем со одним дистрибутивом, попробуйте выполнить эту операцию во всех этих дистрибутивах!).
Источник
Slax Linux
Быстрый, компактный и надёжный Linux дистрибутив
Популярные расширения файлов в Linux
Имена файлам в операционных системах даются, как правило, произвольно, однако существуют некоторые стандарты. В названиях файлов часто присутствует расширение. Расширением называют набор букв после последней точки в его имени. Например, если файл называется myfile.xyz, то расширением здесь является XYZ. Расширение говорит о формате файла и о том, с помощью какой программы его нужно открывать. Рассмотрим список распространенных расширений.
- ВАК – Файл резервной копии (англ. backup — резерв);
- BIN – Двоичный файл (англ. binary — двоичный);
- CONF – Файл настроек какой-либо программы (англ. configuration — конфигурация);
- GZ – Заархивированный файл;
- KO – Подключаемый модуль ядра операционной системы (англ. Kernel Object — объект ядра);
- LOG – Файл протокола;
- SO – Подключаемый модуль;
- TAR – Файл, содержащий несколько файлов;
- TAR GZ – Комбинация форматов TAR и GZ — файл, в котором находятся несколько заархивированных файлов;
- ТХТ – Обычный текстовый файл (англ. text — текст).
Что касается файлов программ в Linux, то они расширений не имеют.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник
Как изменить имя и расширение файла. Или лучше: сразу много
Иногда нам предлагают файл с именем, которое мы хотим изменить. В других случаях мы хотим изменить его расширение. Это что-то очень простое практически в любой операционной системе, но все уже меняется, если мы хотим делать это много раз. Какой вариант лучше? Как и многие другие типы задач в Linux, лучше всего (хотя и не всегда) в этих случаях делать это из терминала или создавать скрипт для автоматизации процесса изменить имя и расширение одного или нескольких файлов одновременно.
Но прежде чем продолжить, я хотел бы кое-что объяснить: изменение расширения файла — это не то же самое, что его преобразование. Единственное, что мы будем делать при изменении расширения файла, это что-то вроде «изменить фамилию», но файл останется прежним. Это означает, что, например, если фотография сохранена в формате PNG, изменение расширения на что-то .jpg не сделает ее JPG. Мы можем проверить это, щелкнув правой кнопкой мыши и просмотрев информацию о файле. Что можно использовать для изменения расширения файла? Есть случаи, когда это хорошая идея.
Измените имя и расширение файла. Что самое лучшее?
Я не очень хорошо читаю комиксы, но у меня есть «Жемчуг дракона». Некоторое время назад у меня были файлы для Dragon Ball и Dragon Ball Z, и в ходе своих исследований я кое-что понял: файлы CBR (Comic Book Reader) — это, по сути, ZIP с расширением, которое делает их открытыми в программном обеспечении, используемом для чтения комиксов. Другими словами, в комикс, сжатый в ZIP-архив, и все изображения находятся внутри (но не в папке). мы можем изменить расширение на .cbr, и оно будет напрямую совместимо с читателями комиксов. Это прекрасный пример, чтобы понять, о чем этот пост.
Для файла: F2
Если мы хотим изменить имя и расширение изолированного файла, проще всего сделать щелкните по нему правой кнопкой мыши и выберите «Переименовать»., «Переименовать» или что угодно, что вы добавили в свой дистрибутив Linux. Во многих операционных системах вариант переименования — F2, но есть также много компьютеров, особенно ноутбуков, где F2 «ловится» какой-то функцией (на моем ноутбуке он активирует режим полета). Если это ваш случай, чтобы переименовать файл, вы должны использовать Fn + F2.
Если мы изменим только имя, это нам ничего не скажет, но если мы изменим расширение, некоторые операционные системы спросят нас, хотим ли мы изменить / добавить другое расширение, на что мы должны ответить «да» или принять.
С помощью команды mv
Команда mv происходит от слова «переместить», но также имеет возможность переименовать. Команда будет выглядеть так:
Из вышесказанного мы должны:
- mv это порядок.
- / путь / к / файлу — это пути, первый из которых относится к исходному файлу, а второй — к файлу, который мы сохраним с новым именем и расширением.
- .ext это пример, который я хотел использовать для определения «расширения».
Следует иметь в виду одну важную вещь: есть каталоги, в которые мы не можем вносить изменения, потому что они защищены. Если мы хотим сохранить файл в защищенном каталоге, мы должны использовать «sudo mv».
С помощью команды переименования
El команда переименования он несколько более мощный, чем предыдущий, потому что у него больше доступных опций. Если в вашем дистрибутиве Linux он не установлен по умолчанию, его можно установить с помощью команды sudo apt install переименовать. Нас интересует опция «s» (от «заменить» — заменить), и команда будет выглядеть так:
Эта команда также позволяет нам изменять имя и расширение многих файлов, для чего я рекомендую перейти в каталог, в котором находятся файлы с терминала. Для этого мы напишем эти команды, пока файлы находятся на рабочем столе:
Перед «s» мы можем добавить параметры:
- –v: покажет нам список переименованных файлов вместе с новыми именами.
- -n: выполнит симуляцию, которая покажет только те файлы, которые будут изменены, но не коснется их.
- -f: приведет к перезаписи исходных файлов.
С помощью Inviska Rename
Inviska Переименовать это программа, специально разработанная для массового переименования файлов и каталогов. Он кроссплатформенный и доступен для Linux. После открытия мы сделаем следующее
- Первое, что мы увидим, — это наша личная папка. Я открыл папку на своем рабочем столе, и появляется то, что у вас на предыдущем снимке экрана.
- Сначала выберем имя во вкладке «Имя».
- Заменить имя на X
- Замените текст X на Y.
- Вставьте текст X в позицию Y.
- Вставьте X в начале (мы можем поставить галочку справа, чтобы добавить его в конец).
- Триммер в положении X.
- Обрезать N символов слева (мы можем установить флажок справа, чтобы обрезать справа).
- Во второй вкладке (Расширение) мы можем выбрать расширение. Параметры такие же, как на предыдущей вкладке.
- И в-третьих, нумерация. Если мы не хотим добавлять число, мы оставляем его по умолчанию. Если мы хотим добавить к нему число, мы можем сделать это в начале, в конце или в определенной позиции. Это выглядело бы так:
- Щелкаем на «Переименовать».
- В уведомлении нажимаем «ОК».
- Если все прошло правильно, мы не увидим никаких сообщений. Теперь осталось только проверить, что файлы были преобразованы с указанным нами именем и по пути, который мы настроили.
Вы проверяли, работает ли ваша операционная система по умолчанию?
Мне этот вопрос кажется важным. Например, Kubuntu этого не делает, но Ubuntu позволяет одновременно переименовывать несколько файлов. Для этого просто выберите несколько файлов, щелкните правой кнопкой мыши и выберите опцию «Переименовать». Появится что-то похожее на то, что предлагает нам Inviska Rename, но более простое. В любом случае, я им пользовался, и это мне помогло.
Мне кажется важным еще раз вспомнить, что все, что мы упомянули в этом посте речь идет о «переименовании», а не о «преобразовании». Чтобы преобразовать файл или несколько файлов в другие форматы (другое расширение), вам придется использовать систему для каждого типа файла. Например, чтобы преобразовать все изображения JPG в каталоге в PNG с помощью инструмента ImageMagick, мы должны написать следующее, что более подробно описано в нашем родственном блоге. Убунлог:
Вы уже знаете, как изменить имя и расширение файла на вашем ПК с Linux?
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Любители Linux » Общие » Как изменить имя и расширение файла. Или лучше: сразу много
Источник