LINUX.ORG.RU
ФорумTalks

Сначала было файло. И после было файло.


0

2

Куда-то всё дальше и дальше уходит Линукс от аксиомы «всё есть файл». А ведь так удобно было бы, ->НАПРИМЕР<-, скомандовать cat /var/www/linux.org.ru/tracker.jsp и посмотреть трекер. Или - cat /var/audio/home/track01.ogg и прослушать трэк. Простым набором и сохранением текста в файле /var/mail/grishakurochkin@yandex.ru отправить письмо. а для разработчиков какое раздолье - всё сведётся к простому чтению или записи в файл. Скажите мне, что такая система существует, ну пожалуйста!



Последнее исправление: CTAPK (всего исправлений: 1)
Ответ на: комментарий от Yareg

Унификацией различного типа ресурсов. Представление их в виде файла. Конкретно браузеру - ничем не лучше, но проще программистам, которые будут использовать 1 абстракцию вместо 100 библиотек (ведь в виде файла не только интернет-ресурсы представлять, но и устройства, сетевые интерфейсы и прочее)

different_thing
()
Ответ на: комментарий от CTAPK

FUSE.
был и vkfs, и gmailfs для чтения контактика и gmail'а как файлов.
насчёт эмпетришечек -
cat() {
case $1 in
*mp3
alsa-player $1;;
*jpg
просмотрщик $1;;
*
/bin/cat $1;;
esac
}
не?

snoopcat ★★★★★
()
Ответ на: комментарий от different_thing

Сложно сделать единый интерфейс всё равно. Вот видео, в каком виде оно должно отдаваться декодером? А если в видео много дорожек + субтитры + метаданные + ещё что-нибудь? Но даже если и сделать интерфейс, для такого и файлы не нужны.

Почта? Ну открыл я файл /var/mail/root@example.org, а от чьего имени оно должно пойти, как приложить аттачмент?

А устройства и так какбы файлы... А кроме этого, что ещё придумать?

Хотя, если вот посмотреть на kio в кедах, в которых можно написать 'kwrite http://www.linux.org.ru/forum/talks/5975983/page2' и откроется. Фактически, это как раз то, что нужно. Но зачем пихать такой функционал в саму ОС?

Yareg ★★★
()
Ответ на: комментарий от Yareg

> Почта? Ну открыл я файл /var/mail/root@example.org, а от чьего имени оно должно пойти, как приложить аттачмент?

Так или иначе должен быть клиент. Вряд ли можно будет сделать так, чтобы пользователь напрямую работал с этими файлами без какой-либо программы. То есть тут вся выгода - единый интерфейс между ресурсами и программами. Не факт, что оно всё выйдет так, как хотелось бы. Plan 9 ведь тоже эксперимент.

такой функционал в саму ОС?

Тут проблемка) Хотя это будут демоны. Какие-то из них можно будет не ставить и пользоваться иными способами доступа к ресурсам. Хотя тогда огород выйдет) В общем как идея - неплохо, но правильную реализацию вряд ли получится сделать.

different_thing
()

>Куда-то всё дальше и дальше уходит Линукс от аксиомы «всё есть файл»

напишу больше - у линупса ещё печатная машинка (телетайп) в ядре засунут :) Впрочем как и у большинства BSD.

скомандовать cat /var/www/linux.org.ru/tracker.jsp и посмотреть трекер.

http://plan9.bell-labs.com/magic/man2html/4/webfs

cat /var/audio/home/track01.ogg

скорее так cat $HOME/music/track01.ogg | ogg2wav >/dev/audio

Простым набором и сохранением текста в файле /var/mail/grishakurochkin@yandex.ru отправить письмо.

http://plan9.bell-labs.com/magic/man2html/4/upasfs

Новое - хорошо забытое старое.

robot12 ★★★★★
()
Ответ на: комментарий от drull

Это Вы, извините, идиот.

Напписано же - Cat reads each file in sequence and writes it on the standard output. Еще раз STANDART OUTPUT.

Вот из за таких троллей, линукс и стал похож на виндовс.

robot12 ★★★★★
()

рекомендую начать с plan9port :)

robot12 ★★★★★
()
Ответ на: комментарий от different_thing

>А как же cat /dev/urandom > /dev/dsp ?

aplay /dev/urandom же)

Yareg ★★★
()

Такая система есть

cat /var/audio/home/track01.ogg

aplay /var/audio/home/track01.ogg

Простым набором и сохранением текста в файле /var/mail/grishakurochkin@yandex.ru отправить письмо

cat ./somefile | mail -s «subject» grishakurochkin@yandex.ru

Alsvartr ★★★★★
()
Ответ на: комментарий от robot12

>скорее так cat $HOME/music/track01.ogg | ogg2wav >/dev/audio

Вот. Обработка данных сводится к перемещению файла по иерархии ФС.

CTAPK
() автор топика
Ответ на: комментарий от robot12

> Вот из за таких троллей, линукс и стал похож на виндовс.

И чем же он похож?

drull ★☆☆☆
()

> cat /var/www/linux.org.ru/tracker.jsp

man links

cat /var/audio/home/track01.ogg


man mplayer

/var/mail/grishakurochkin@yandex.ru


man mail

А перед узнай из «man 7 hier», для чего предназначен /var

dexpl ★★★★★
()
Ответ на: комментарий от different_thing

> Не пойму, почему на ТС'а так накинулись. Ведь он всё верно говорит. Разве что с музыкой перебор - там идея не та. Не чтобы всё подряд через cat пропускать, а чтобы разного рода ресурсы (скажем файл на диске и файл в где-то в интернете) представлялись одинаково.

Именно. Лорчую.

geekless ★★
()

Тред не читал, про PLAN9 уже говорили?

silw ★★★★★
()
Ответ на: комментарий от different_thing

> Пардон, читал невнимательно. Да, автор объелся грибов. Я думал он устройство, например, для прослушки аудио хочет запилить. Как /dev/dsp, только для сжатого. Типа cat aaaa.mp3 > /dev/superaudiodevice

Ну таки да, насчет аудио и видео он порет редкостную чушь. Но в юности все такие были, подрастёт еще. Главное, что пытается мыслить в правильном направлении — унификации интефейсов.

geekless ★★
()
Ответ на: комментарий от Yareg

> Почта? Ну открыл я файл /var/mail/root@example.org, а от чьего имени оно должно пойти, как приложить аттачмент?

Ну это бред ТСа. ФС-нутые обёртки должны быть вокруг конкретных протоколов. Обертка вокруг tcp, обёртка вокруг резолвера DNS (который сам использует обёртку tcp) и т.п.

Хотя, если вот посмотреть на kio в кедах, в которых можно написать 'kwrite http://www.linux.org.ru/forum/talks/5975983/page2' и откроется. Фактически, это как раз то, что нужно. Но зачем пихать такой функционал в саму ОС?

А зачем его прикручивать отдельным костыликом сбоку? Взять тот же Plan9 или QNX, где процесс, реализующий интерфейс к ФС, может быть чем угодно. Это такое же базовое понятие, как открытие-закрытие файлов и т.п. И таким оно и должно быть. Это только в Linux недавно додумались до fuse в силу изначальной монолитности мозга разработчика.

geekless ★★
()

>Линукс от аксиомы «всё есть файл»

Упоролся штоле? Такой не было никогда.

и посмотреть трекер


links linux.org.ru/tracker.jsp

и прослушать трэк


mplayer /var/audio/home/track01.ogg

devl547 ★★★★★
()

Топикстартеру пора завязывать с тяжёлыми наркотиками.

Miguel ★★★★★
()
Ответ на: комментарий от Yareg

> Впилить kio в ядро да и все дела)

fixed:

Впилить юзерлэнд-интерфейс, чтобы каждый мог впилить и интегрировать своё велосипедное kio, как захочется.

И получилась fuse, да.

Теперь осталось осознать, что и все остальные ресурсы, такие как сетевые интерфейсы, обращения в ip-стеку и т.п, должны быть представлены файлами и вести себя как настоящие файлы: иметь права доступа; возможность забиндить их в каталог, в который будет выполнен чрут и так далее.

geekless ★★
()
Ответ на: комментарий от devl547

> Упоролся штоле? Такой не было никогда.

Хз, как в ляликс, но вот UNIX-way:

Пишите программы, которые бы работали вместе.
Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс».

Чем не пайпы и файлы?

cat file.ogg | play-video -a /dev/dsp -v /dev/video

different_thing
()
Ответ на: комментарий от different_thing

> cat file.ogg | play-video -a /dev/dsp -v /dev/video

Ого. Это серьёзная заявка на получение Useless Use of Cat Award месяца.

geekless ★★
()
Ответ на: комментарий от different_thing

>Чем не пайпы и файлы?

почитай высер ТСа и поймешь, в чем отличие.

devl547 ★★★★★
()

И все есть файл... и называется он ~/.bashrc
А во всем есть строки и некоторые начинаются на alias=...

Tanger ★★★★★
()

Спасибо отписавшимся, было весело. Надо доработать, в первом посте я как-то коряво всё описал.

CTAPK
() автор топика
Ответ на: комментарий от ixrws

нужно взять 15 секунд этого потока после 1го часа. Как вы это сделаете с файлом? Нужно знать структуру

Возвращаемся к идее ФС как БД. Структура отражается в метаданных файла как в заголовке БД.

Xenesz ★★★★
()
Ответ на: комментарий от CTAPK

Зато какое раздолье для поиска по содержимому!

Это какой софт умеет котов от ковров отличать?

Xenesz ★★★★
()
Ответ на: комментарий от Xenesz

> Возвращаемся к идее ФС как БД. Структура отражается в метаданных файла как в заголовке БД.

Это путь как раз в сторону комбайнов всё-в-одном (читай: в ядре). Фтопку.

На самом деле нужно исходить из того, что все данные делятся на 2 категории: те, которые укладываются в рамки работы с файлами и обработки plain text, и те, которые нет. Для вторых требуются отдельные специализированные утилиты, библиотеки, развесистые API. Для обработки первых достаточно любого скриптового языка или даже просто sh + coreutils, а библиотеки служат для того, чтобы не изобретать каждый день по велосипеду.

geekless ★★
()
Ответ на: комментарий от geekless

Для обработки первых достаточно любого скриптового языка

А в чём сложность прочесть поле (атрибут) «тип файла» и отдать дефолтному обработчику для этого типа? Только это не cat должен делать, а некий perform, допустим.

Xenesz ★★★★
()
Ответ на: комментарий от different_thing

different_thing> Не пойму, почему на ТС'а так накинулись. Ведь он всё верно говорит.

Комнадой _конкатенции_ слушать музыку, листать веб-странички, редактировать 3D-модели и т.д. - это не правильно, а состояние упоротости в результате обработки тетрагидридом упорина.

Quasar ★★★★★
()
Ответ на: комментарий от different_thing

different_thing> На файлувую систему нужно переложить непосредственно процесс чтения/записи с разных ресурсов и конечному пользователю/программе предложить абстракцию в виде файла

Дохлый номер. Форматирование файловая система не передаёт.

Quasar ★★★★★
()
Ответ на: комментарий от different_thing

different_thing> Унификацией различного типа ресурсов. Представление их в виде файла.

Про FUSE уже выше писали.

different_thing> ведь в виде файла не только интернет-ресурсы представлять, но и устройства, сетевые интерфейсы и прочее

Plan9
И никаких комбайнов.

Quasar ★★★★★
()
Ответ на: комментарий от blackst0ne

blackst0ne> cat /var/audio/home/track01.ogg > /dev/dsp

dd if=/dev/zero of=51k.ogg bs=1024 count=1024
cat 51k.ogg > /dev/dsp

Будет то же самое, кстати.

Quasar ★★★★★
()
Ответ на: комментарий от Quasar

Бедняга, у тебя до сих жужжит в анусе? Всем насрать, кто сюда пишет. Главное - что пишет. Если ты не заметил, почти все здесь обсуждают тему, а не меня.

CTAPK
() автор топика
Ответ на: комментарий от drull

cat выводит информацию на экран, и хорошо выводит. mplayer играет музыку/видео

Cat вообще особняком, он в stdout выводит, отсюда пайпы и всё такое. Плейер может быть универсальным, с бэк-эндами и плагинами. Если так хочется, делаем PLAYER=/usr/bin/mplayer и радуемся.

Xenesz ★★★★
()

>cat /var/www/linux.org.ru/tracker.jsp

exo-open linux.org.ru/tracker.jsp

Или - cat /var/audio/home/track01.ogg и прослушать трэк.

exo-open /var/audio/home/track01.ogg

Простым набором и сохранением текста в файле /var/mail/grishakurochkin@yandex.ru

man FAM (File Alteration Monitor)

kir2yar
()
Ответ на: комментарий от Quasar

>> Если кто не понял, под ником CTAPK сюда пишет гуталинукс.

fail :D

GotF ★★★★★
()
Ответ на: комментарий от kir2yar

>>cat /var/www/linux.org.ru/tracker.jsp

exo-open linux.org.ru/tracker.jsp

Можно еще и так:

exo-open /var/www/linux.org.ru/tracker.jsp.url

Единственное, чего пока не хватает:

exo-open google:«Летающие коровы»

kir2yar
()
Ответ на: комментарий от Xenesz

Всё верно, а файл превращается просто в объект, так ведь? Какой смысл тогда просто отдавать поток байт, раз уж храним метаданные, то по сути получаем дерево объектов:)
Суть в том, что это уже не фс и это уже по факту не файлы. Да, постепенно в эту сторону всё и эволюционирует и это логично.

ixrws ★★★
()
Ответ на: комментарий от ixrws

Какой смысл тогда просто отдавать поток байт

Пайпы, конвейеры. Сейчас я могу обработать скриптом стопятьсот картинок или клипов, если мне понадобится. Уберите пайпы - на каждый чих понадобится комбайн с мышекликанием и в лучшем случае своим скриптовым языком.

Xenesz ★★★★
()
Ответ на: комментарий от Xenesz

Пайпы? Эм, это поток, вы отдаёте не картинки, а поток байт. А уже некоторый уровень выше парсит в этом потоке сообщения, из сообщений вытаскивает картинки и тд. Я ни в коем случае не предлагаю строить комбайны, наоборот, развитие в сторону стандартных протоколов обмена - это правильный путь. Просто в этом случае классических пайп не будет, будут сообщения, состоящие из объектов. Также как в этом случае фс перестаёт быть файловой системой, а стаёт базой данных из объектов. Ничего не нужно убивать, надо просто дорабатывать:)

ixrws ★★★
()
Ответ на: комментарий от ixrws

Пайпы? Эм, это поток, вы отдаёте не картинки, а поток байт

Я кагбе в курсе. И поэтому предлагаю cat оставить в покое, ибо он за этим и надобен.

классических пайп не будет, будут сообщения, состоящие из объектов

По-моему, чересчур наворочено. Шелл с ООП не будет тем швейцарским армейским ножом.

Xenesz ★★★★
()
Ответ на: комментарий от CTAPK

Чудачок, шиплю ещё как минимум я. Давай, осознавай, что мы все кровные братья и просто ненавидим тебя и самозабанивайся.

GreyDoom ★★★★
()
Ответ на: комментарий от Quasar

Он не тролль, он школотун просто. Может, вырастет и поумнеет.

GreyDoom ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.