Чтение / изменение файлов в / bin или / usr / bin [дубликат]

На этот вопрос уже есть ответ здесь:

Когда я перехожу в / bin или / usr / bin , я вижу много форматов. Например, в / bin есть три типа файлов:

  1. Файлы, подобные bash .
  2. Файлы типа less .
  3. Файлы типа zgrep .

Я могу открывать, читать или изменять третью группу (сценарии bash). Но о первой и второй группы невозможно. Я установил bless ; он открывает эти файлы, но я не могу понять содержимое. Я хочу знать, можно ли читать или изменять файлы первая и вторая группы (как и третья группа). Другими словами, я хочу читать их на человеческом языке. На каком языке программирования написаны все эти файлы?

0
задан 10 June 2018 в 19:44

1 ответ

В первую очередь, сценарии оболочки (или сценарии удара), просто текст. Они могут быть считаны в любом редакторе, но они обычно не используются для сложных задач.

Другой, более сложные процессы, как less, записаны на языке программирования, как C или C++. Вы не можете открыть эти исполняемые файлы в текстовом редакторе, но поскольку Ubuntu, прежде всего, основана на Программном обеспечении с открытым исходным кодом, можно получить файлы исходного текста, считать его и изменить его, как Вы хотите.

В Ubuntu (и Debian) можно получить текст исходного кода программы с командой

apt-get source packagename

Давайте возьмем less:

[~]$ apt-get source less
Reading package lists... Done
Need to get 340 kB of source archives.
Get:1 http://no.archive.ubuntu.com/ubuntu xenial-updates/main less 481-2.1ubuntu0.2 (dsc) [1,474 B]
Get:2 http://no.archive.ubuntu.com/ubuntu xenial-updates/main less 481-2.1ubuntu0.2 (tar) [317 kB]
Get:3 http://no.archive.ubuntu.com/ubuntu xenial-updates/main less 481-2.1ubuntu0.2 (diff) [22.0 kB]
Fetched 340 kB in 0s (1,727 kB/s)
gpgv: Signature made Fri 31 Mar 2017 11:52:05 CEST using RSA key ID D034330C
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./less_481-2.1ubuntu0.2.dsc
dpkg-source: info: extracting less in less-481
dpkg-source: info: unpacking less_481.orig.tar.gz
dpkg-source: info: unpacking less_481-2.1ubuntu0.2.debian.tar.xz
dpkg-source: info: applying 01-434417-LESS_IS_MORE.patch
dpkg-source: info: applying 02-655926-more_can_go_backwards.patch
dpkg-source: info: applying lp-1562308-fix_mkutable.patch

Это будет, на 16,04 дают Вам каталог с именем less-481. Часть цифр имени может измениться, как версии изменяются. Это содержит исходный код программы. В случае меньше, который является простым приложением пейджера, это - <100 файлов, но все еще существенный объем кода. Многие файлы содержат тысячи строк кода.

Если Вы хотите, можно изменить функции программного обеспечения, и повторно упаковать его и установить его на системе вместо пакета по умолчанию.

5
ответ дан 29 October 2019 в 03:46

Другие вопросы по тегам:

Похожие вопросы: