Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

1. Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Daniel
DanielDutra

(usa Linux Mint)

Enviado em 14/08/2016 - 16:03h

Boa tarde pessoal! tudo bem?

Gostaria dessas informações para estudo. São varias perguntas mas todas são sobre um mesmo tema

Qual é a linguagem de programação que foi usada na criação dos comandos usados no terminal (cd, ls, mv,wget etc..) ? Seria o shell script?
Esses comandos foram herdados do unix ou foi o projeto gnu que os desenvolveu?
Os comandos já vem escritos e compilados no codigo fonte do sistema gnu/linux?
Cada comando possui um arquivo binario na pasta bin e na pasta etc correto?
É correto afirmar que cada comando seja considerado um sofware indepentende que possui um arquivo binario para sua execução?
Quando esse comandos foram criados? Eles foram criados separadamente e implementados na mesma ferramenta? Por exemplo: O comando cd foi criado em determinada data e o comando time em outra? Ou todos os comandos foram desenvolvidos e quando os desenvolvedores obtiveram uma boa quantia de comandos eles lançaram?

Estou usando essa pagina para aprendizado: https://www.gnu.org/software/coreutils/manual/html_node/ mas não possui essas informações


  


2. Re: Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Perfil removido
removido

(usa Nenhuma)

Enviado em 14/08/2016 - 16:08h

C. Na maioria.

Baixe um pacote de código-fonte no site da GNU e inspecione.


3. Re: Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 14/08/2016 - 16:53h

DanielDutra escreveu:

Boa tarde pessoal! tudo bem?

Gostaria dessas informações para estudo. São varias perguntas mas todas são sobre um mesmo tema

Qual é a linguagem de programação que foi usada na criação dos comandos usados no terminal (cd, ls, mv,wget etc..) ? Seria o shell script?
Esses comandos foram herdados do unix ou foi o projeto gnu que os desenvolveu?
Os comandos já vem escritos e compilados no codigo fonte do sistema gnu/linux?
Cada comando possui um arquivo binario na pasta bin e na pasta etc correto?
É correto afirmar que cada comando seja considerado um sofware indepentende que possui um arquivo binario para sua execução?

Estou usando essa pagina para aprendizado: https://www.gnu.org/software/coreutils/manual/html_node/ mas não possui essas informações



Em uma de minhas aventuras from scratch pude constatar que a maioria das ferramentas são feitas em C e pelo projeto GNU e o Kernel é assentado em cima destas ferramentas por isso esse monte de bibliotecas em /usr/lib entre outros, mesmo sendo o mais próximo do hardware o Kernel não é nada sem as ferramentas GNU e vice-versa, por isso é correto dizer GNU/Linux (para os mais chegados somente "Linux").

Sim todo comando tem um executável em /bin , /usr/bin ou em algum outro local configurado na global $PATH, e seus arquivos de configuração na sua maioria está no diretório /etc.

Até onde sei, alguns destes comandos foram transcritos do Unix pelo projeto GNU já que as ferramentas não eram free. Alguns destes comandos são linguagens de programação poderosas como AWK por exemplo.

PS: Para os dinossauros, por favor, me corrijam se eu estiver falando bobagens.



----------------------------------------------------------
A Internet... foi projetada no espírito da confiança. Nem os protocolos de rede
de comunicações nem o software que comanda os sistemas computacionais
conectados a rede foram arquitetados para operação num ambiente no qual estão sob
ataque.
----------------------------------------------------------


4. Re: Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Perfil removido
removido

(usa Nenhuma)

Enviado em 14/08/2016 - 17:37h

PATH de usuário comum não acessa /sbin e /usr/sbin.
Estes só estão em $PATH de root.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



5. Re: Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 14/08/2016 - 17:53h

Eu sabia que estava falando bobagens kkkk. Quando vou deixar de ser noob hein?

Valeu Listeiro


----------------------------------------------------------
A Internet... foi projetada no espírito da confiança. Nem os protocolos de rede
de comunicações nem o software que comanda os sistemas computacionais
conectados a rede foram arquitetados para operação num ambiente no qual estão sob
ataque.
----------------------------------------------------------


6. Re: Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Daniel
DanielDutra

(usa Linux Mint)

Enviado em 16/08/2016 - 14:06h

listeiro_037 escreveu:

C. Na maioria.

Baixe um pacote de código-fonte no site da GNU e inspecione.


Obrigado pela sugestão, não havia pensado nessa ideia e possibilidade. Conforme você me sugeriu entrei no site do GNU www.gnu.org/software/ só que fiquei com duvida em qual pacote de software deveria baixar para obter as respostas as minhas duvidas. Pesquisando um pouco baixei dois softwares: O Bash e o Coreutils.

Bash
https://www.gnu.org/software/bash/ --------------->>>>>> http://ftp.gnu.org/gnu/bash/bash-4.3.30.tar.gz

Alguns codigos fontes dos comandos estão na pasta examples/loadables/

Os codigos fontes dos comandos (como por exemplo: ls, mv, cp, cd) não vem no codigo fonte do software bash.


Pelo que percebi o bash em sí é apenas o interpretador de comandos mas não vem com os comandos integrados nele.

GNU Core Utilities (coreutils) =
https://www.gnu.org/software/coreutils/coreutils.html - http://ftp.gnu.org/gnu/coreutils/
Estes são os utilitários de base, que se espera que venha a existir em todos os sistemas operacionais. Shell e utilitários básicos do sistema operacional GNU.
Contém muitas ferramentas básicas, como cat, ls e rm, necessário para qualquer sistema operacional Unix-like. De fato, é uma combinação de um número de pacotes em série, incluindo textutils, shellutils, e fileutils, juntamente com alguns outros utilitários.


Pesquisando um pouco encontrei o coreutils e nele contém quase todos os comandos basicos. Esse é o software essencial que deve haver em quase todos os sistemas gnu pela descrição dele pois é nele que se encontra os comandos basicos dos sistemas unix.

Como você disse constatei que tanto o bash quanto o coreutils em suma se resume em C e Shell Script.

Portanto uma das minhas duvidas foram respondidas. No caso a primeira duvida.


7. Re: Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Wellington
wellington_r

(usa Debian)

Enviado em 16/08/2016 - 14:29h

ctw6av escreveu:

Sim todo comando tem um executável em /bin , /usr/bin ou em algum outro local configurado na global $PATH, e seus arquivos de configuração na sua maioria está no diretório /etc.



Com exceção dos shell builtin.

Já tentou dar "man cd"?

--------------------------------------------------------------------------------------------------------------------------------------
admin@server:~$ whatis life
life: nothing appropriate



8. Re: Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Daniel
DanielDutra

(usa Linux Mint)

Enviado em 16/08/2016 - 16:34h

ctw6av escreveu:

Em uma de minhas aventuras from scratch pude constatar que a maioria das ferramentas são feitas em C e pelo projeto GNU e o Kernel é assentado em cima destas ferramentas por isso esse monte de bibliotecas em /usr/lib entre outros, mesmo sendo o mais próximo do hardware o Kernel não é nada sem as ferramentas GNU e vice-versa, por isso é correto dizer GNU/Linux (para os mais chegados somente "Linux").

Sim todo comando tem um executável em /bin , /usr/bin ou em algum outro local configurado na global $PATH, e seus arquivos de configuração na sua maioria está no diretório /etc.

Até onde sei, alguns destes comandos foram transcritos do Unix pelo projeto GNU já que as ferramentas não eram free. Alguns destes comandos são linguagens de programação poderosas como AWK por exemplo.



Obrigado companheiro você me esclareceu mais algumas duvidas. Cada comando possui um arquivo binario na pasta bin e de configuração na pasta etc .
Pelo que percebi o projeto GNU é 90% e o kernel é 10% para compor o sistema operacional livre. Sò que o kernel linux parece mais difundido porque ele é a parte principal que faz a comunicação entre o hardware e o software e com isso sendo essencial para o sistema funcionar, como voce me explicou.

Eu queria entender realmente como esses comandos são implementados no terminal. Pelo que percebi vendo o codigo fonte do bash eles não vem no codigo fonte do terminal ou seja pelo que me parece cada comando possui um codigo fonte separado que no final foi integrado no terminal.



9. Re: Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Daniel
DanielDutra

(usa Linux Mint)

Enviado em 16/08/2016 - 16:45h

wellington_r escreveu:

ctw6av escreveu:

Sim todo comando tem um executável em /bin , /usr/bin ou em algum outro local configurado na global $PATH, e seus arquivos de configuração na sua maioria está no diretório /etc.



Com exceção dos shell builtin.

Já tentou dar "man cd"?

--------------------------------------------------------------------------------------------------------------------------------------
admin@server:~$ whatis life
life: nothing appropriate


Li sobre o man a algum tempo quando comecei a usar o gnu/linux. Já tentei sim alias foi uma das opções que eu tentei antes de perguntar. Só explica como os comandos funcionam e as opções (sintaxe, operadores) que posso usar para utilizar o comando. Não tem as informações que eu perguntei! O maximo que ele da é a pagina web onde posso encontrar mais informações.



10. Re: Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/08/2016 - 16:48h

Comandos internos de BASH não tem páginas man.
Use o comando help para ver todos os comandos internos.

ou

Use help seguido do nome do comando em questão. Ex:

help cd

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



11. Re: Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Wellington
wellington_r

(usa Debian)

Enviado em 16/08/2016 - 16:52h

DanielDutra escreveu:

wellington_r escreveu:

ctw6av escreveu:

Sim todo comando tem um executável em /bin , /usr/bin ou em algum outro local configurado na global $PATH, e seus arquivos de configuração na sua maioria está no diretório /etc.



Com exceção dos shell builtin.

Já tentou dar "man cd"?

--------------------------------------------------------------------------------------------------------------------------------------
admin@server:~$ whatis life
life: nothing appropriate


Li sobre o man a algum tempo quando comecei a usar o gnu/linux. Já tentei sim alias foi uma das opções que eu tentei antes de perguntar. Só explica como os comandos funcionam e as opções (sintaxe, operadores) que posso usar para utilizar o comando. Não tem as informações que eu perguntei! O maximo que ele da é a pagina web onde posso encontrar mais informações.


Na verdade a pergunta foi para o quotado. Perguntei porque como dito acima, comandos internos do shell não tem man page. Se você der "man cd" ou "man echo", vai receber a resposta de manual não encontrado.
Pesquisando pra saber por que esses comandos não tinham man page, descobri que era por se tratarem de comandos internos do shell (esses comandos estão integrado no código fonte do bash).

--------------------------------------------------------------------------------------------------------------------------------------
admin@server:~$ whatis life
life: nothing appropriate



12. Re: Qual é a linguagem de programação que foi utilizada na criação dos comandos usados no terminal?

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 16/08/2016 - 17:23h

Opa demorei mais cheguei, então nunca tentei um man cd (homen cd kkkk comando esquisito), valeu pela correção amigo essa não esquecerei.

O único uso que tenho para o comando cd é cd -, cd .., cd que li no man bash | grep -A 14 'cd \['


----------------------------------------------------------
A Internet... foi projetada no espírito da confiança. Nem os protocolos de rede
de comunicações nem o software que comanda os sistemas computacionais
conectados a rede foram arquitetados para operação num ambiente no qual estão sob
ataque.
----------------------------------------------------------



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts