- Типы файлов в Linux
- 1. Введение
- 2. Идентификация типов файлов в Linux
- 2.1. Обычный файл
- 2.2. Директория
- 2.3. Символьное устройство
- 2.4. Блочное устройство
- 2.5. Сокеты локального домена
- 2.6. Именованные каналы
- 2.7. Символические ссылки
- 3. Заключение
- Изменение форматов текстовых файлов.
- Переименование файлов в Linux
- Переименование командой mv
- Переименование файла
- Переименование директории
- Переименование и перемещение
- Переименование командой rename
- Изменение расширения файлов
- Замена пробелов на подчеркивание
- Конвертация имен файлов в строчные буквы
- Конвертация имен файлов в прописные буквы
- Показать, что именно будет переименовано, но не переименовывать
- Массовое переименование с использованием программ
Типы файлов в Linux
1. Введение
При перемещениях по файловой системе Linux вы обязательно столкнетесь с различными типами файлов. Наиболее часто используемые и очевидные — это обычные файлы и директории. Тем не менее операционная система Linux может предложить больше с точки зрения типов файлов, так как она включает еще другие 5 типов файлов. В этой короткой статье мы покажем, как распознавать 7 типов файлов, встречающиеся в Linux.
2. Идентификация типов файлов в Linux
Для того, чтобы идентифицировать и классифицировать все семь типов файлов, имеющихся в Linux, вам нужно знать всего одну команду:
Ниже пример вывода этой команды.
Команда ls показывает тип файла в кодированном виде как первый символ части вывода, показывающего права доступа. В данном случае это «-«, что значит «обычный файл». Важно отметить, что в Linux невозможно изменить тип файла, ошибочно присвоив ему другое расширение. Давайте посмотрим на краткое описание всех семи различных типов файлов в Linux и их идентификаторы для команды ls:
— : обычный файл
d : директория
c : файл символьного устройства
b : файл блочного устройства
s : файл локального сокета
p : именованный канал
l : символическая ссылка
2.1. Обычный файл
Обычный файл — это самый распространенный тип файлов в системе Linux. Он объединяет самые различные виды файлов, такие как текст, изображения, бинарные файлы, библиотеки и т.д. Обычный файл вы можете создать с помощью команды:
Первый символ в выводе команды ls, в данном случае «-«, представляет собой код идентификации для обычного файла. Для удаления обычного файла используется команда:
2.2. Директория
Директория — это второй самый распространенный тип файлов в Linux. Директории могут быть созданы с помощью команды mkdir:
Как уже говорилось ранее, директории идентифицируются по символу «d» в выводе команды ls. Для удаления директорий используется команда rmdir.
Если вы попытаетесь с помощью команды rmdir удалить директорию, в которой есть файлы, то получите сообщение об ошибке:
В этом случае необходимо использовать команду:
2.3. Символьное устройство
Файлы символьных и блочных устройств позволяют пользователям и программам обмениваться данными с периферийными устройствами, например:
В данном случае символьное устройство — это модуль vmware.
2.4. Блочное устройство
Блочные устройства похожи на символьные. Это главным образом такие устройства как жесткие диски, память и т.д.
2.5. Сокеты локального домена
Сокеты локального домена используются для обмена данными между процессами. В основном они используются такими службами, как X windows, syslog и т.д.
Сокеты могут быть созданы с помощью системного вызова socket, а удалены с помощью системной функции unlink или команд rm.
2.6. Именованные каналы
Как и локальные сокеты, именованные каналы позволяют осуществлять обмен данными между локальными процессами. Они могут быть созданы с помощью команды mknod, а удалены с помощью команды rm.
2.7. Символические ссылки
С посощью символических ссылок администратор может присвоить одному файлу или директории несколько идентичностей. Символическая ссылка является указателем на оригинальный файл. Существует два типа символических ссылок:
— жесткие ссылки;
— мягкие ссылки.
Различие между твердыми и мягкими ссылками в том, что мягкие ссылки ссылаются на имя файла, в то время как жесткие ссылки прямо ссылаются на оригинальный файл. Кроме того, жесткие ссылки не работают с файлами, расположенными на других разделах или файловых системах. Для создания мягкой символической ссылки используется команда:
Для удаления символической ссылки мы можем использовать команды unlink или rm.
3. Заключение
Как системный администратор, вы будете в основном работать с обычными файлами, директориями, блочными или символьными устройствами. Программист также часто имеет дело с локальными сокетами и именованными каналами.
Источник
Изменение форматов текстовых файлов.
Добрый вечер! Очень привык писать коды в блокноте и затем просто менять формат с .txt на .php,.html и на любой другой. А вот в linux’e я пока затрудняюсь. есть ли вообще такая функция? Как её использовать?
Открываем текстовый редактор и пишем. Если автодополнение нужно — то какую-нибудь «синюю рыбу» можно использовать.
В Linux расширение не несет существенной информации. Нужно просто переименовать файл.
mv aaa.txt aaa.php
> Очень привык писать коды в блокноте
Отвыкай. Или прикупи кожаный инвентарь — возможно тебе понравится.
Lol? Очень содержательно. Форматов я тут вообще не понимаю=) Windows обогрел меня и дал надежду на то, что я все умею. linux разрушил.
Мб кто на примере расскажет — мне надо написать код в .java. Мои действия?
Взять, написать и переименовать.
В чём проблема-то?
Все просто:
1. Ставим wine
2. Ставим под wine-ом блокнот
3. mv aa.txt aa.html
4. PROFIT
>мне надо написать код в .java. Мои действия?
vim newshit.java
Дальше будет google://как+выйти+из+vim, но это уже тема другого треда.
Жирно очень. Не смешно.
То, что ты пишешь ужасно. Разрешение файла нужно только программам, которые хотят сделать вывод о том, что внутри него.
Если стоит Ubuntu:
1) Запускаешь файловый менеджер.
2) Правой кнопкой мыши.
3) Открыть в другой программе.
4) gedit
nano my_memoirs.txt
nano bydlocode.php
nano my_homepage.htm
потом CTRL+o — save, CTRL+x — exit.
и впердё.
В чем проблема то? А вообще — мегатолсто и уныло и безыдейно.
1) Устанавливаешь java.
2) cd
/my_hello_world_projects
3) gedit helloworld.java
4) javac helloworld.java
5) java helloworldapp
6) «Hello, World!»
7) .
8) PROFIT.
Сейчас появится вопрос «как установить java» =)
ТС только-только с синаптиком познакомиться успел, ты сейчас аптитудой заклинишь ему мозг. 🙂
А то, что у него бубунта — вам libastral.so подсказала?
Человек помощи просить пришел, а вы ему это убожество подсовываете, которое пищит и портит текст. Топикстартеру нужен полноценный редактор, поэтому, само собой разумеется, нужная команда выглядит так:
Тогда при чем здесь sudo?
su -c или su -, и попер.
Загуглил, действительно, кое-кто не использует sudo, а только su. Но зачем, если есть удобная sudo.
С фига ли у него в дебиане sudo «из коробки» работать будет?
Не бывает такого.
Затем, что su более безопасна, т.к. пароль рута знать надо — т.е. даже если кто-то знает ваш пароль, он рутовских прав не получит.
> su более безопасна
/0
Да, логов нет. Но зато su можно выполнить только зная пароль рута, т.е. система будет настолько защищена, насколько хорош у рута пароль. А в sudo слабое звено — пароль пользователя.
И да, su редко где отключают.
зато su можно выполнить только зная пароль рута
Можно завести двух пользователей с разными привилегиями.
Нет, в линуксе такой функции пока нет, потому что это инновационное изобретение корпорации Microsoft, и красноглазые студенты-быдлокодеры пока не разобрались, как его сплагиатить.
Очень привык писать коды в блокноте и затем просто менять формат с .txt на .php,.html и на любой другой.
Ты путаешь формат файла с расширением. Эти две вещи мало связаны. А меняешь ты только расширение, при этом формат файла не изменяется.
мне надо написать код в .java
Ну, мне привычней так: на работе у меня нигде нет sudo, дома — есть, беспарольный (но ssh полностью отключен).
И да, я знаю про sudoers. Но когда на компьютере 2-3 пользователя, а администрированием занимаюсь только я, остальным же вообще никаких рутовских прав не даю (да им и не надо), мне нет смысла возиться с sudoers.
> Windows обогрел меня и дал надежду на то, что я все умею.
бдыщь!
а куда сам ТС делся?
мы тут распинаемся, а он нету
Ну почему же, я тут и внимательно слежу за перепиской. Всем спасибо за участие, вопрос конечно действительно был несколько глуповат, почитав литературы я понял это в полном объеме.
Так это был не троллинг?
> Windows обогрел меня и дал надежду на то, что я все умею.
«Я знаю, что ничего не знаю.» Сократ
не сказать, что дядя тот был глуповат, или в голове его было пусто.
пойми, о чем цитата. живи так же.
а, да. для кодинга в блокноте прикупи кожаный инвентарь — правильно соватовали. 😀
java? eclipse, netbeans, например.
однакож я тоже думал это тролль-тред, извини комрад!
ну тогда на счёт «Windows дал надежду на то, что я все умею» — научись это всё в линухе и в сравнении ты увидишь ущербность венды
а про тип файла — можно переименовывать, можно сразу создавать с нужным расширением. например если в проводнике в «создать» у тебя куча всяких _форматов_ файлов, то (например) у меня, в файлманагере Thunar, есть просто «new folder» и «new empty file», и я этот «new empty file» потом называю как хочу, а если нужно создавать что-то специфическое (типа .doc) — то это делается в самОй проге. ну как в ворде, просто «save» сохраняет .doc, а «save as» позволяет сохранить ещё в 10-15 форматах
ну вот примерно как-то так оно и работает
Источник
Переименование файлов в Linux
Переименование файлов в Linux можно выполнять средствами графических программ, а также через командную строку. Можно переименовать один файл, а можно сразу группу файлов — массовое переименование. Рассмотрим различные способы, с помощью которых можно переименовывать файлы в Linux.
Переименование командой mv
Команда mv (от слова move) используется для переименования или перемещения файлов и директорий из командной строки.
Синтаксис команды mv очень простой:
источник — файл(ы) или директория, которую необходимо переместить или переименовать.
назначение — файл или директория, в которую будет перемещен источник .
Основные опции:
-f — перезаписывать существующие файлы.
-n — не перезаписывать существующие файлы.
-i — выдавать запрос на перезапись существующих файлов.
-u — не перемещать файлы, которые уже существуют, если существующие файлы новее (время модификации новее).
-v — выводить имя каждого файла перед его переносом.
Как задавать имена файлов и директорий для переименования:
- Чтобы переименовать файл с помощью команды mv нужно в качестве источника задать данный файл, а в качестве назначения указать новое имя файла.
- Если указывается путь до файла, то директории должны совпадать, иначе файл будет перемещен в другую директорию.
- Если в качестве источника указать файл, а в качестве назначения путь до файла в другой директории и задать новое имя файла, то файл будет перемещен в другую директорию и переименован.
- Если в качестве источника указана директория, а в качестве назначения задано новое имя для данной директории, то директория будет просто переименована. Если же директория назначения уже существует, то директория источник будет перемещена в директорию назначения .
Переименование файла
Переименование файла myfile1.dat в файл myfile2.dat:
Переименование файла с указанием пути до файла:
Переименование директории
Переименование директории /home/pingvinus/mydir1 в директорию /home/pingvinus/mydir2 . Справедливо, если /home/pingvinus/mydir2 не существует.
Если /home/pingvinus/mydir2 существует, то, выполнив команду:
директория mydir1 будет перемещена внутрь директории /home/pingvinus/mydir2 . То есть mydir1 будет в результате находиться по адресу /home/pingvinus/mydir2/mydir1 .
Переименование и перемещение
Если в качестве файла назначения указан новый путь и новое имя файла, то файл будет перемещен и переименован. Например, следующая команда перемещает файл myfile1.dat в директорию /home/pingvinus/dir и переименовывает его в myfile2.dat :
Переименование командой rename
Команда rename служит для массового (пакетного) переименования файлов. Она позволяет выполнять замену определенных символов или частей имени файла и использованием Perl-регулярных выражений.
Если вдруг в вашем дистрибутиве нет команды rename , то ее можно установить, выполнив (выберите соответствующую команду для вашего дистрибутива):
Синтаксис команды rename :
старое_имя — регулярное выражение или часть имени файла, которое нужно заменить на новое_имя .
новое_имя — задает результирующее имя файла (может быть регулярным выражением).
Основные опции:
-f — перезаписывать существующие файлы.
-n — вывести список файлов, которые будут переименованы и их новые имена, но не выполнять переименование.
-v — вывести список обработанных файлов.
Проще всего понять, как пользоваться данной командой, на примерах.
Изменение расширения файлов
Массово изменить расширение .html на .php у всех html-файлов.
По умолчанию rename не перезаписывает существующие файлы. Чтобы существующие файлы перезаписывались, используется опция -f :
Замена пробелов на подчеркивание
Заменить все символы пробелов в имени файлов на символ подчеркивания:
Конвертация имен файлов в строчные буквы
Конвертация имен файлов в прописные буквы
Показать, что именно будет переименовано, но не переименовывать
Чтобы избежать ошибок при переименовании файлов, особенно при использовании сложных регулярных выражений, можно сначала вывести список того, что будет переименовано, но не запускать само переименование. Для этого служит опция -n .
Например, мы хотим изменить расширение у файлов с .jpeg на .jpg . Используем опцию -n , чтобы просто вывести какие файлы будут переименованы:
Полное описание команд mv и rename можно получить, выполнив в терминале команды:
Массовое переименование с использованием программ
Для массового переименования файлов можно воспользоваться программами:
Источник