Leitura / modificação de arquivos em / bin ou / usr / bin [duplicado]

0

Quando vou para / bin ou / usr / bin , vejo muitos formatos. Por exemplo, em / bin , existem três tipos de arquivos:

  1. Arquivos como bash .
  2. Arquivos como menos .
  3. Arquivos como zgrep .

Eu posso abrir, ler ou modificar o terceiro grupo (os scripts bash). Mas sobre o primeiro e o segundo grupo é impossível. Eu instalei o bless ; Ele abre esses arquivos, mas não consigo entender o conteúdo. Eu quero saber, se é possível ler ou modificar arquivos do primeiro e do segundo grupo (como o terceiro grupo). Em outras palavras, quero lê-los em linguagem humana. Em que linguagem de programação todos esses arquivos são escritos?

    
por Codito ergo sum 10.06.2018 / 19:09

1 resposta

5

Primeiro de tudo, scripts shell (ou scripts bash) são apenas texto. Eles podem ser lidos em qualquer editor, mas eles não são usados para tarefas complexas normalmente.

Outros processos mais complexos, como less , são escritos em uma linguagem de programação, como C ou C ++. Você não pode abrir esses arquivos executáveis em um editor de texto, mas como o Ubuntu é baseado principalmente no software Open Source, você pode obter os arquivos de texto fonte, lê-lo e modificá-lo como quiser.

No Ubuntu (e Debian) você pode obter o texto do código-fonte de um programa com o comando

apt-get source packagename

Vamos analisar 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

Isto irá, em 16.04, fornecer-lhe um diretório com o nome less-481 . A parte dos dígitos do nome pode mudar, conforme as versões mudam. Isto contém o código fonte do programa. No caso de menos, que é um aplicativo de pager simples, isso significa < 100 arquivos, mas ainda assim uma quantidade significativa de código. Muitos dos arquivos contêm milhares de linhas de código.

Se você quiser, você pode alterar as funções do software, e reembale-o e instale-o em seu sistema, no lugar do pacote padrão.

    
por vidarlo 10.06.2018 / 19:18