LINUX.ORG.RU
ФорумTalks

Несколько вопросов


0

0

Наткнулся на подборку вопросов, стало интересно узнать правильные ответы. Кто вспомнит, откуда эти вопросы, очень прошу не напоминать.

Что такое K- и S-файлы, зачем они нужны при старте системы?

Как создать и удалить файл со слешом '/' в имени? Желательно ссылку на руководство.

Есть файл вида:
Word1 Word2
Word3 Word4
Word5 Word6
...
Как из него сделать
Word2:Word1
Word4:Word3
Word6:Word5
...
только средствами bash? (Без awk и sed.)

Какими способами можно заставить программу на С печатать собственный исходный текст? А на других языках? (Помимо бейсика и других с командой LIST.)

Заранее спасибо.

★★★★★

Ответ на: комментарий от wfrr

> 1) килл старт

Можно поподробнее?

> 2) touch \/ rm \/

Не работает.

> 3) tr

Это внешняя программа. И она только заменяет 1-байтный символ на другой 1-байтный символ. Вместо тасования слов.

> 4)сей боян даже название имеет

Неудивительно. Какое? Но главное, как его решают?

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

низя
действительно 8)
про тасования я не увидел, ужас какой, тогда while read и секас секас секас
погугли йопт

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

> http://ru.wikipedia.org/wiki/Quine

Но там какие-то бесполезные программы. А можно ли, например, так модифицировать тот же ls, чтобы по команде ls --source он распечатывал свои исходники? можно же. аСкажем, как-то добавить в makefile, чтобы тот архивировал изходники, вшивал в основную программу кусок zlib (для дяьф это 4 К, значит для ядши ещё меньше) сжимал исходники, прописывал из размер в основную программу и контатенировал в коней. А по команде ls -source это всё праспаковывалось и песяталось на экран. Можно же? Наверняка уже кто-то аделал. Вот только где и как*

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

> тот же ls, чтобы по команде ls --source он распечатывал свои исходники?

Ты наркоман штоле?

Вообще, можно хранить исходник во внешнем файле, читать и печатать его оттуда, например.

Score-49
()
Ответ на: комментарий от question4

Об твой пост я сломал глаза.
>для дяьф это 4 К, значит для ядши ещё меньше

Ты сам то понял, что сказал?

Ramen ★★★★
()
Ответ на: комментарий от Score-49

> Ты наркоман штоле?

Нет, спать хотелось :)

> Вообще, можно хранить исходник во внешнем файле, читать и печатать его оттуда, например.

Но интереснее всё запихнуть в один файл :)

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

> по команде ls --source он распечатывал свои исходники

Запихиваешь исходник в константу которая будет выдаваться по этому ключу и в таком виде компилишь. Исходник то это просто текст...

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

>>для дяьф это 4 К, значит для ядши ещё меньше

> Ты сам то понял, что сказал?

для lzma это 4 К, значит для zlib ещё меньше

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

> Запихиваешь исходник в константу которая будет выдаваться по этому ключу и в таком виде компилишь. Исходник то это просто текст...

Какое ограничение на размер текстовых констант в C? Не понадобится ли определять несколько констант чтобы влезла большая программа? Как автоматически менять эту константу при изменении исходников? Чтобы компилятор (или препроцессор, или компоновщик, или ещё что-нибудь) сам определял её при компиляции.

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

> Какое ограничение на размер текстовых констант в C? Не понадобится ли определять несколько констант чтобы влезла большая программа?

не знаю как на Цэ, на асме такое сплошь и рядом делали. Картинку или текст через bin2hex прогоняли, вставляли в конец программы после команды выхода, а дальше всё указателями.

paramonov
()

>Кто вспомнит, откуда эти вопросы, очень прошу не напоминать.

Э-хе-хе, как грубо!

Анонимус помнит =)

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

Не так уж и давно, сразу после запиливания стал постить из-под регистрата, сейчас - no one cares.
Но топик напомнил.
Для пущего эффекта, надо было несколько раньше его начинать - судя по происшедшим событиям, было бы забавно =)

tzukko
()

> Как создать и удалить файл со слешом '/' в имени? Желательно ссылку на руководство. 

Никак. / недопустим в имени файла.

> Как из него сделать ...

#!/bin/bash
while read -d ' ' a; do
    read b
    echo $b:$a
done

Relan ★★★★★
()

> Кто вспомнит, откуда эти вопросы, очень прошу не напоминать.

Вы НЕ СМОЖЕТЕ заставить меня не говорить откуда эти вопросы. Так вот, не сможете, _ДАЖЕ_ если захотите.

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

При переходе на runlevel выполняются соответствующие ему скрипты- те что К убивают то, чего не должно быть на этом уровне,а S-запускают нужноe.Цифры - очередь запуска скриптов- по возрастанию цифр. Сумма циферкоф равна 100 для K и S каждого скрипта в разных уровнях.

Вроде так

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

> Сумма циферкоф равна 100 для K и S каждого скрипта в разных уровнях.

Ну это совсем не обязательно.

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

> на асме такое сплошь и рядом делали

Понятно.

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

> Для пущего эффекта, надо было несколько раньше его начинать - судя по происшедшим событиям, было бы забавно =)

Вопросы вспомнил как раз из-за событий. Но не вижу смысла лишний раз кого-то в это тыкать носом. Скандал утих, а любопытство осталось.

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

>> Как создать и удалить файл со слешом '/' в имени? Желательно ссылку на руководство.

> Никак. / недопустим в имени файла.

Перефразирую: как влезть в файловую систему на уровне, который позволил бы создать такой файл или переименовать существующий? Как на это отреагирует система? :)

>> Как из него сделать ...

> while read -d ' ' a; do read b; echo $b:$a; done

Спасибо! Работает.

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

> Вы НЕ СМОЖЕТЕ заставить меня не говорить откуда эти вопросы. Так вот, не сможете, _ДАЖЕ_ если захотите.

Даже и не пытаюсь :) Просто надеюсь на вменяемость в сочетании с доброй волей :)

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

> При переходе на runlevel выполняются соответствующие ему скрипты- те что К убивают то, чего не должно быть на этом уровне,а S-запускают нужноe.Цифры - очередь запуска скриптов- по возрастанию цифр.

Спасибо, а где эти файлы находятся? Или в линуксе от такой системы уже отказались?

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

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

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

> буду ждать тебя сегодня в 4 часа ночи на Савеловском рынке у входа. С собой захвати бубен и жоский диск.

э, а разве не на кладбище и с лопатой?

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

Бххх..

Ладно. Вобщем за n лет ничего не изменилось - регистраты как нихрена незнали так и не знают; анонимы рулят и педалят.

</thread>

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

> ты ламер

Нет, иначе не задавал бы вопросы, а считал бы, что всё и так знаю.

> Савеловском ... бубен и жоский диск.

Бубна нет, зато горелых жёстких дисков 2 штуки. Если сильно нужны, могу оставить в камере хранения Савёловского вокзала.

И в 4 часа я сильно занят.

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

> почему бы тебе просто не погуглить на тему устройства sysv init?

Погуглил. Обнаружил что-то сильно непохожее на мою систему. Поэтому и спросил.

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

> Запихиваешь исходник в константу 

Телевизор, показывающий себя, показывающего себя...

Чтобы понять рекурсию, надо понять рекурсию.

Сферический псевдокод в вакууме:

import something;
import something_else;

const SOURCE_CODE = 
"
import something;
import something_else;

const SOURCE_CODE = 
"
import something;
import something_else;

const SOURCE_CODE = 
"
...И Т.Д.
"

function foo()
{
  do_something;
}
"

function foo()
{
  do_something;
}
"

function foo()
{
  do_something;
}

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