IPB
ЛогинПароль:

> Простой вопрос по unix
сообщение
Сообщение #1


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


собственно имеем

Цитата
В текущем директории имеется 5 непустых файлов (хотя бы два из них не пустые):
tfort, t18, tout, t.325, ftmin. Что произойдет при посылке команды:

cat t* > tout


ответ
Спойлер (Показать/Скрыть)


мое объяснение

Спойлер (Показать/Скрыть)


Олег, сеня у препода спрашивали, он сказал что все верно с ответом((...




--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Вопрос, как я понимаю, относился к оригинальной и чистой идеологии Unix. То, что получается в конкретных примерах сейчас - это не совсем то (кстати, я проверил на Linux RedHat 4 и Solaris 10). В них просто вставлена защита.
Но спрашивается: а зачем в cat вставлено специальное распознование (!) ситуации идентичности файлов ввода и вывода? Ответ, я думаю, такой: потому что это может привести именно к тому эффекту, который описан в ответе.. Этот пример просто демонстрирует возможность одновременного открытия файла на запись и чтение разными процессами (если только он не был кем-то заблокирован для исключительного использования). Например, вы качаете на диск видео. Вы можете не дожидаться конца перекачки, запустить вьюер и начать смотреть это видео. Дальше - кто мешает это изображение засовывать обратно в файл, приписывать сзади? Вот и получается то самое зацикливание. Я не говорю, что это исключительное свойство юникса, но понятие файлов и потоков было развито до совершенства именно в нем. MS DOS был простенькой системкой, когда появился (в то время Unix уже полностью оформился), и он был сделан юниксоподобным. Заслуга MS состоит именно в том, что они урезали систему настолько, чтоб она могла без проблем идти на первых персоналках. Потом, когда мощности выросли - Dos (в виде Windows) стали подтягивать к тому, от чего сначала уходили. Так что ничего такого исключительного в этом нету. И более того, реальный Unix уже не Unix.. smile.gif))

И еще: xds совершенно справедливо упомянул буферизацию, ее тут нужно учитывать.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 6.10.2022 8:53
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name