Os comandos utilizados no Ubuntu serão válidos em todas distrubuições Linux?

Iniciado por Marcos Silveira, 29 de Novembro de 2010, 04:23

tópico anterior - próximo tópico

Marcos Silveira

Olá amigos,

Conheço muito pouco de Linux, em resumo, apenas a interface gráfica, e como trabalho com vendas de servidores, está mais do que na hora de começar a aprender.

Minha principal dúvida é: Os comandos do Linux são sempre gerais? Por exemplo: O comando que utilizo no prompt do Ubuntu funcionará normalmente no prompt de qualquer outra distribuição do Linux?

Pergunto isso pois a minha idéia é trabalhar com linux para servidores próprios (atualmente tenho apenas uma revenda, então estou completamente fora dessa parte de controle via comandos).

Uma dúvida que acredito que seja tão básica é, como posso chamar os comandos afinal?
Pesquisei porém não ficou totalmente claro para mim, creio que a linguagem seja UNIX e o Shell faça a leitura, é isso? Se alguém souber me explicar detalhadamente, eu agradeço muito!

Para me familiarizar mais com os comandos, iniciei lendo este artigo: http://wiki.ubuntu-br.org/ComandosBasicos
Gostei bastante, mas ao mesmo tempo me pergunto se, ao administrar um servidor, "tudo isso" (sei que é pouco) será válido, ou se pode não funcionar no sistema, mesmo sendo Linux, mas alguma outra distribuição.

Agradeço muito pela atenção! Abraços!

Tota

Citação de: Marcos Silveira online 29 de Novembro de 2010, 04:23
Minha principal dúvida é: Os comandos do Linux são sempre gerais? Por exemplo: O comando que utilizo no prompt do Ubuntu funcionará normalmente no prompt de qualquer outra distribuição do Linux?

Pesquisei porém não ficou totalmente claro para mim, creio que a linguagem seja UNIX e o Shell faça a leitura, é isso? Se alguém souber me explicar detalhadamente, eu agradeço muito!

Ola

Os comandos em terminal quase funcionarão.

1) O shell do GNU/Linux Ubuntu usa o BASH ( Bourne Again Shell ), porém existem outros => http://www.vivaolinux.com.br/artigo/Uma-introducao-ao-shell-%28parte-1%29

Desta forma, alguns comandos podem ser incompatíveis ou mesmo não existir em outros shells.

Não é nenhum problema, pois é possível se instalar mais de um shell no sistema para sua utilização.

2) Outro detalhe importante a ser lembrado é a estrutura de diretórios do GNU/Linux => http://www.vivaolinux.com.br/dica/Estrutura-de-diretorios-do-Linux

http://www.vivaolinux.com.br/artigo/Entendendo-o-sistema-de-arquivos-do-Linux

O GNU/Linux usa o LSB ( Linux Standard Base ), que determina uma hierarquia de pastas que deveria ser seguida por todas as distribuições, porém isto não é obedecido em sua totalidade.

3) A linguagem utilizada não é Unix. O Unix foi reescrito ou portado para linguagem C, e o GNU/Linux teve seu kernel escrito nesta linguagem ( leia sobre o projeto GNU ), porém alguns aplicativos e/ou interfaces graficas podem ter sido escritas em outras linguagens ( Phyton, Java, etc )

Para maiores informações, um bom tutorial é o Guia Foca Linux que pode ser baixado gratuitamente ou visualizado on line.

Sobre o GNU/Linux em geral voce pode ler on line o Linux Bible

Para conhecer o Ubuntu existe o Ubuntu user Guide

ou o Manual do Ubuntu já presente em sua maquina, mas que pode ser impresso na integra via o link postado.

Bons estudos

[]'s

irtigor

Acho que não vou conseguir ser muito claro, mas vou tentar:

1-Parte do que é usado faz parte do shell, existem vários shells, o mais usado atualmente -- meio que padrão -- é o bash. Cada shell pode ter comandos únicos, mas existe um "shell referencia", que fornece coisas básicas como o comando cd.

2-Um shell interpreta as funções/comandos dele (for, if...) e interage com programas. Um bash script pode "falar" com um programa escrito em C , e por ai vai.

3-Alguns itens dessa lista são programas independentes, que podem vir ou não já instalados, é o caso do lsdev que faz parte do pacote procinfo. O "resto", depende do shell.

Citação de: Tota online 29 de Novembro de 2010, 07:39
3) A linguagem utilizada não é Unix. O Unix foi reescrito ou portado para linguagem C, e o GNU/Linux teve seu kernel escrito nesta linguagem, porém alguns aplicativos e/ou interfaces graficas podem ter sido escritas em outras linguagens ( Phyton, Java, etc )
Só para deixar claro: Unix é um sistema, escrito basicamente em C. O Linux é um Unix-like, ou seja, parece mas não é (de facto), e o correto é python :)

Tota

Ooops..

Phyton fica sendo Fiton ( ph como "f") já falei pro usuario zekkrj e vou deixar outra aqui => velho cego e agora trocando letras. ( tou pensando em mudar meu nick para hortelino troca letra  ;D ;D ;D      )

Quanto ao Unix-like, deixei o link para o projeto GNU, acrônimo de Gnu is Not Unix ( Gnu não é Unix ) corroborando as afirmações do amigo irtigor.

[]'s

Marcos Silveira

Olá amigos,

Agradeço por todas as informações! Estarei lendo todos os artigos que o Tota enviou e, se mesmo assim ainda tiver dúvidas quanto a essa parte inicial, volto a postar.

Muito obrigado!

Marcos Silveira

Olá novamente,

Já estou lendo os artigos e sites indicados e a compreensão está aparecendo! Agradeço muito novamente ao Tota e ao irtigor

Algo bastante importante que acabei esquecendo de informar no tópico é o seguinte: SSH
Já dei uma pesquisada sobre SSH, inclusive já fiz conexões e alguns testes, mas uma dúvida rapidinha: SSH o mesmo que Shell, porém utilizado para acessar servidores externos com segurança?
No caso, os comandos que digito no shell do meu terminal (ficou estranho isso, já que o terminal é um shell bash, certo?) eu poderei utilizar via SSH?

E pra dar uma fugida, já que o Tota aparentemente gosta de dar som aos nomes (hehe), qual a maneira correta de se falar GNU? "Gunu" (na verdade, gãnu. tentando imitar o "g" mudo lol) ou "Gê Eni U" (putz, hehe), ou nenhum dos dois? Hehehehe.

EDIT: Dei uma lida na página do projeto GNU e encontrei a resposta lá em em inglês: "The name "GNU" is a recursive acronym for "GNU's Not Unix!"; it is pronounced g-noo, as one syllable with no vowel sound between the g and the n."
O mesmo é válido aqui? Ficaria algo tipo a primeira "tentativa" que deixei no tópico? Hahah, quase 5 da manhã e eu perguntando isso. lol

Abraços e obrigado novamente!

Tota

Ola

O logo do projeto é o animal gnu africano => http://www.google.com.br/images?q=gnu&oe=utf-8&rls=org.mozilla:pt-BR:official&client=firefox-a&um=1&ie=UTF-8&source=og&sa=N&hl=pt-br&tab=wi&biw=1152&bih=529

Então como se referiu do inglês => g+noo com "g"mudo.

SSH é uma forma de tunelamento de rede, diferente do shell do sistema, que "traduz" comandos reconhecidos ( geralmente mnemônicos como "cp" de copy ou "mkdir" de make a directory ) para o kernel executar determinadas ações. O shell poderia ser traduzido livremente para o português como "interpretador de comandos" ( e em realidade assim já o foi pela Microsoft, no manual do DOS )

Então:

Secure shell (ssh) = tunelamento de rede

Shell = interpretador de comandos

[]'s

irtigor

SSH é um protocolo de rede, usado para criar um canal seguro entre dois pontos. Por isso ele pode ser usado para acessar o shell [remoto ou não] de forma segura.

Quando você usa ele pra isso, é necessário fornecer um usuário e senha válidos (lá -- e tudo é "lá": o shell é o definido nesse usuário remoto, os programas são os da máquina remota e etc).

Se "terminal" que você fala, é aquela janelinha dentro do ambiente gráfico (no gnome o padrão é o gnome terminal), na verdade ele é um emulador de terminal.