comandos para iniciante no linux
olá, sou iniciante no os linux e gostaria de saber alguns comandos básicos que podem ajudar pra quem esta começando como eu. agradeço desde já.
[imagem] samrock:

olá, sou iniciante no os linux e gostaria de saber alguns comandos básicos que podem ajudar pra quem esta começando como eu. agradeço desde já.

[=>comandos para iniciantes base ubuntu/debian<=](https://www.linuxpro.com.br/dl/guia_500_comandos_linux.pdf)
[=>comandos para iniciantes base arch/manjaro/<=](https://wiki.archlinux.org/index.php/pacman_(portugu%c3%aas))
<p> <a href="http://oreilly.com/catalog/9780596009588">programação de sistemas linux</a> </p><p>você pode consultar isso também <a href="https://unix.stackexchange.com/questions/80/recommended-readings-batter-understating-of-unix-linux-internals">link</a> </p> opa. que bacana. seja bem-vindo no mundo sem limites da tecnologia hahaha.como iniciante, recomendo que faça os cursos introdutórios aqui da devmedia.>>javascript>>java>>python... <p>existem muitas maneiras de contribuir com o ubuntu. alguns exigem conhecimento técnico, mas muitos não.</p><p>antes de contribuir para o ubuntu, você deve ler o <a href="http://www.ubuntu.com/community/conduct">código de conduta do ubunt</a> , que estabelece um padrão de comportamento para os contribuidores.</p><h2>(principalmente) não-técnico:</h2><p>talvez a maneira mais fácil de contribuir para a comunidade ubuntu seja <strong> fornecer suporte </strong>. além de ajudar amigos e familiares, você pode responder a perguntas em <a href="https://help.ubuntu.com/community/internetrelaychat">irc</a> , the <a href="http://ubuntuforums.org/">fóruns do ubunt</a> , ou em <a href="https://askubuntu.com/">esta troca</a> !</p><p>um novo projeto que está procurando por colaboradores é o <a href="https://wiki.ubuntu.com/ubuntu-manual"><strong> projeto do ubuntu manual </strong></a> . segundo o site deles,</p><blockquote> <p>getting started with ubuntu é um completo manual para iniciantes do ubuntu, com guias abrangentes, how tos, e informações sobre qualquer coisa que você precisa saber após a primeira instalação do ubuntu.</p> </blockquote><p>sua <a href="http://ubuntu-manual.org/getinvolved">get involved</a> página diz que eles estão procurando por autores, editores, tradutores, programadores e designers - há algo para todos!</p><p>outro projeto para escritores é a <a href="https://wiki.ubuntu.com/documentationteam"><strong> equipe de documentação </strong></a> . eles escrevem a documentação que vem com o ubuntu e trabalham no <a href="https://help.ubuntu.com/community">help wiki</a> .</p><p>o projeto <a href="https://wiki.ubuntu.com/one%20hundred%20papercuts"><strong> one hundred papercuts </strong></a> pede que os usuários enviem relatórios de bugs sobre pequenos problemas de usabilidade (cortes de papel). isso requer quase nenhum conhecimento técnico e afeta diretamente a experiência do ubuntu.</p><p>o ubuntu se esforça para ter uma boa aparência e é preciso que os artistas façam isso acontecer. <strong> submeter arte </strong> é uma maneira fácil de causar um impacto visual no ubuntu. confira a <a href="https://wiki.ubuntu.com/artwork">página wiki da artwork</a> para informações sobre isso.</p><p>uma maneira realmente divertida de se envolver é <strong> participar e participar da sua comunidade local do ubuntu </strong> (loco). você pode verificar o <a href="https://wiki.ubuntu.com/locoteamlist">lista de ubuntu locos</a> para ver se há uma comunidade ativa perto de você. se não houver, você pode começar um!</p><p>como <a href="https://askubuntu.com/users/211/javier-rivera">javier rivera</a> comentou abaixo, usuários multilíngües devem olhar para <strong> contribuindo com traduções </strong>. alguém novo em traduções pode começar com o <a href="https://wiki.ubuntu.com/translations/quickstartguide">guia de início rápido de traduções</a> .</p><h2>mais técnico:</h2><p>se você é o <strong> tipo de programação </strong>, há muito espaço para você participar. eu não sou um desenvolvedor do ubuntu, mas o <a href="http://www.ubuntu.com/community/get-involved/developers">página de desenvolvedores no site do ubunt</a> é um bom lugar para começar.</p><p>no início de um novo projeto chamado <a href="https://wiki.ubuntu.com/operationcleansweep"><strong> operação cleansweep </strong></a> , havia mais de dois mil possíveis correções de bugs no launchpad esperando para ser aplicado. este projeto trabalha para revisar esses patches e aplicá-los em seus projetos.</p><h2>conclusão:</h2><p>existem inúmeras maneiras de contribuir. estes são apenas alguns! o conhecimento técnico é útil, mas não é absolutamente necessário.</p> <p>para executar um serviço <em>sem ou antes</em> efetuando login no sistema (ou seja, "na inicialização"), você precisará criar um script de inicialização e adicioná-lo à sequência de inicialização.<br> há três partes em um script de serviço: iniciar, parar e reiniciar.<br> a estrutura básica de um script de serviço é:</p><pre><code>#!/bin/bash # retval=0; start() { echo “starting &lt;service&gt;” } stop() { echo “stopping &lt;service&gt;” } restart() { stop start } case “$1″ in start) start ;; stop) stop ;; restart) restart ;; *) echo $”usage: $0 {start|stop|restart}” exit 1 esac exit $retval </code></pre><p>depois de ajustar o script ao seu gosto, basta colocá-lo em /etc/init.d/<br> e adicione-o ao processo de inicialização do serviço do sistema (no fedora, eu não sou um usuário do ubuntu,&gt; d):</p><pre><code>chkconfig -add &lt;servicename&gt; </code></pre><p>o serviço será adicionado ao processo de inicialização do sistema e você não precisará iniciá-lo manualmente novamente.</p><p>felicidades!</p> <p>as pessoas estão tão arraigadas em usar o windows que dizer que o ubuntu é melhor para suas tarefas básicas não é suficiente, você tem <strong> para mostrar </strong> eles como o ubuntu pode ser melhor/mais fácil de executar seja o que for estão tentando realizar.</p><p>você pode configurar uma caixa ubuntu totalmente configurada para eles e mostrar as diferenças em seu uso diário.</p><p>você pode mostrar a eles como um aplicativo ubuntu/linux específico é mais adequado/mais fácil/mais barato para eles.</p> <p>no debian, os scripts de inicialização e desligamento de aplicativos e serviços devem ser colocados em <code>/etc/init.d/</code>.</p><p>o debian fornece um exemplo de script <code>/etc/init.d/skeleton</code> que você pode modificar a seu gosto para seu aplicativo em particular.</p><p>depois de instalado, ligue para:</p><pre><code># update-rc.d yourapp defaults </code></pre><p>para que o debian adicione o <code>/etc/rc?.d/</code> links simbólicos para você.</p><p>se você preferir um menu ou interface gráfica, dê uma olhada no <code>sysv-rc-conf</code> ou <code>ksysv</code> pacote.</p> <p>que tal usar o comando <code>su</code>?</p><pre><code>$ whoami user1 $ su - user2 password: $ whoami user2 $ exit logout </code></pre><p>se você deseja fazer login como root, não há necessidade de especificar o nome de usuário:</p><pre><code>$ whoami user1 $ su - password: $ whoami root $ exit logout </code></pre><p>geralmente, você pode usar <code>sudo</code> para iniciar um novo shell como o usuário que você deseja; a <code>-u</code> flag permite especificar o nome de usuário que você deseja:</p><pre><code>$ whoami user1 $ sudo -u user2 zsh $ whoami user2 </code></pre><p>existem maneiras mais tortuosas se você não tiver acesso ao sudo, como ssh username @ localhost, mas <code>sudo</code> é provavelmente o mais simples, desde que esteja instalado e você tenha permissão para usá-lo.</p> seja bem-vindo [@bart](/u/bart)

dá uma acompanhada nesse link.

qualquer dúvida , é só perguntar!

o pessoal adora ajudar!

[dicas](https://comunidade.nubank.com.br/t/dica-entrou-agora-entao-se-liga-nas-dicas-basicas-para-comecar-bem/23975) <p>nos arquivos de perfil do shell de login, você pode configurar algumas coisas que você usará durante a sessão e que precisam ser feitas apenas uma vez. algumas ideias:</p><ul> <li>crie um arquivo temporário contendo o endereço ip do qual você se conectou; posteriormente, você pode incluí-lo em alguns scripts que definem regras de firewall.</li> <li>execute ssh-agent, solicite suas chaves ssh e armazene as variáveis ​​de ambiente do agente ssh em um arquivo.</li> <li>se essa é uma máquina limitada e seus colegas de trabalho desejam conhecer os logins uns dos outros, escreva (1) mensagens informando sobre seu login.</li> </ul><p>nos arquivos do shell que não são de login (<code>.bashrc</code>) você deve configurar seu shell:</p><ul> <li>prompt extravagante</li> <li>definir aliases</li> <li>definir opções de histórico</li> <li>definir funções personalizadas do shell</li> <li>exportar variáveis ​​de ambiente (talvez pager, editor se as configurações do sistema forem ruins)</li> <li>carregar variáveis ​​ssh-agent salvas em <code>.bash\_profile</code></li> </ul><p>normalmente, você incluiria <code>.bashrc</code> de <code>.bash\_profile</code> com o seguinte. em seguida, faça login no shell recebe todas as suas personalizações e <code>.bash\_profile</code> o arquivo não precisa duplicar coisas que já estão em <code>.bashrc</code>.</p><pre><code>[[ -f ~/.bashrc ]] &amp;&amp; . ~/.bashrc </code></pre> <p>um sistema unix consiste em várias partes ou camadas, como eu gostaria de chamá-las.</p><p>para iniciar um sistema, um programa chamado carregador de inicialização fica no primeiro setor de uma partição do disco rígido. ele é iniciado pelo sistema e, por sua vez, localiza o kernel do sistema operacional e carrega-o.</p><p><strong> camadas </strong></p><ol> <li> <p>o kernel. este é o programa central iniciado pelo gerenciador de inicialização. ele faz a interação básica de hardware do sistema (disco, memória, vídeo, som) e oferece um ambiente virtual no qual ele pode iniciar programas. o kernel também envia todos os drivers que lidam com todas as pequenas diferenças entre os dispositivos de hardware. para o mundo exterior (as camadas mais altas), cada classe de dispositivos parece se comportar exatamente da mesma maneira consistente - a qual, por sua vez, os programas podem desenvolver.</p> </li> <li> <p>subsistemas em segundo plano. existem apenas programas regulares, que ficam fora do seu caminho. eles lidam com coisas como login remoto, fornecem um barramento central de mensagens e executam ações com base em eventos de hardware/rede. por exemplo, descoberta bluetooth, gerenciamento wifi, etc. quaisquer serviços de rede (servidor de arquivos, servidor de impressão, servidor web) também vivem nesse nível. nos sistemas unix, esses são apenas programas normais.</p> </li> <li> <p>as ferramentas de linha de comando. todos esses são pequenos programas que podem ser iniciados para edição de texto, download de arquivos ou administração do sistema. neste ponto, um sistema unix é totalmente utilizável para administradores de sistema. no windows, essa camada realmente não existe mais.</p> </li> <li> <p>a interface gráfica do usuário. estes também são apenas programas, a única diferença é que eles desenham janelas na tela em vez de escrever texto. isso facilita o uso do sistema para usuários regulares.</p> </li> </ol><p>qualquer serviço ou evento passará de baixo para cima.</p><p><strong> bibliotecas - a plataforma comum </strong></p><p>os programas fazem muitas coisas comuns, como exibir uma janela, desenhar coisas na tela ou baixar um arquivo. essas coisas são as mesmas para vários programas, portanto, esse código é colocado em arquivos "biblioteca" separados (arquivos <code>.so</code> - significando objeto compartilhado). a biblioteca pode ser compartilhada entre todos os programas.</p><p>para cada coisa imaginável, há uma biblioteca. existe um para ler/gravar arquivos png. há um para arquivos jpeg, para leitura de xml, criptografia, reprodução de vídeo e assim por diante.</p><p>no linux, as bibliotecas comuns para desenvolvedores de aplicativos são qt e gtk. essas bibliotecas usam bibliotecas de nível inferior internamente para suas necessidades específicas, enquanto expõem sua funcionalidade de uma maneira agradável e consistente e concisa para que os desenvolvedores de aplicativos criem aplicativos ainda mais rapidamente.</p><p>as bibliotecas fornecem a plataforma de aplicativos, na qual os programadores podem criar aplicativos de usuário final para um sistema operacional. quanto mais bibliotecas de alta qualidade um sistema fornece, menos código um programador precisa escrever para criar um programa bonito.</p><p>algumas bibliotecas podem ser usadas em diferentes sistemas operacionais (por exemplo, qt é), outras são realmente especificamente vinculadas a um sistema operacional. isso restringirá seu programa para poder executar apenas nessa plataforma.</p><p><strong> comunicação entre processos </strong></p><p>um terceiro componente de um sistema operacional é a maneira como os programas podem se comunicar. estes são os mecanismos de comunicação entre processos (ipc). estes existem em vários sabores, p. um pedaço de memória compartilhada ou um pequeno canal é configurado entre dois programas para trocar dados. há também um barramento de mensagens central no qual cada programa pode postar uma mensagem e receber uma resposta. isso é usado para comunicação global, onde não se sabe qual programa pode responder.</p><p><strong> das bibliotecas aos sistemas operacionais </strong></p><p>com bibliotecas, ipc e o kernel instalado, os programadores podem criar todos os tipos de aplicativos para serviços do sistema, administração de usuários, configuração, administração, trabalho de escritório, entretenimento, etc.) isso forma o conjunto completo que usuários iniciantes reconhecem como o "sistema operacional".</p><p>nos sistemas unix/linux, todos os serviços são apenas programas. todas as ferramentas de administração do sistema são apenas programas. todos eles fazem o seu trabalho e podem ser encadeados. resumi muitos dos principais programas em <a href="http://codingdomain.com/linux/sysadmin/">http://codingdomain.com/linux/sysadmin/</a> </p><hr><p><strong> peças distinguíveis com o windows </strong></p><p>o unix é principalmente um sistema de programas, arquivos e permissões restritas. muitas complexidades são evitadas, tornando-o um sistema poderoso, embora pareça fácil.</p><p>em detalhes, estes são os princípios que podem ser encontrados nos sistemas unix/linux:</p><ul> <li> <p>existem maneiras uniformes de acessar informações. ("tudo é apenas um arquivo"). você pode abrir um arquivo, soquete de rede, ipc, parâmetros do kernel e bloquear um dispositivo como um arquivo. daí a aparência dos sistemas de arquivos virtuais em/dev,/sys e/proc. a única api você precisa sempre de <code>open</code>, <code>read</code> e <code>close</code>.</p> </li> <li> <p>o sistema subjacente é transparente. todo programa opera sob as mesmas regras. ao contrário do windows, não há diferença artificial entre um "programa de console", "programa gui" ou "serviço em segundo plano". são todos apenas programas, que fazem coisas diferentes. todos eles também podem ser observados, analisados ​​e depurados da mesma maneira.</p> </li> <li> <p>as configurações são legíveis, editáveis ​​e podem ser anotadas com comentários. eles geralmente têm um formato no estilo ini, mas podem usar um formato personalizado para as necessidades desse aplicativo. por serem apenas arquivos, eles podem ser copiados para outros sistemas, arquivados ou armazenados em backup com ferramentas padrão.</p> </li> <li> <p>não existem aplicativos grandes "faça tudo de uma vez". o mantra é "faça uma coisa, faça bem". as ferramentas de linha de comando podem ser encadeadas e, juntas, poderosas. serviços separados (por exemplo, smtp, imap e pop e login) são subprogramas separados, evitando problemas complexos de código e segurança entrelaçados. ambientes de desktop complexos delegam trabalho duro a programas individuais.</p> </li> <li> <p><code>fork()</code>. novos programas são iniciados por um programa existente que é clonado. o clone configura tudo (por exemplo, identificadores de arquivo) e, opcionalmente, se substitui pelo novo código do programa. isso torna muito fácil aplicar as mesmas configurações e restrições de segurança a novos programas, compartilhar memória ou configurar um mecanismo ipc. o custo de iniciar um processo também é muito baixo.</p> </li> <li> <p>o sistema de arquivos é uma árvore, na qual outras partições de disco e compartilhamentos de rede podem ser montados. novamente, existe uma maneira universal de acessar dados. locais comuns do sistema (por exemplo, <code>/usr</code> podem ser facilmente montados como compartilhamento de rede.</p> </li> <li> <p>o sistema é construído para privilégios baixos do usuário. após o login, todos os usuários (exceto root) ficam confinados em seus próprios recursos, executando apenas aplicativos e arquivos. os serviços de rede reduzem seus privilégios o mais rápido possível. existe uma maneira clara e clara de obter mais privilégios ou pedir a alguém para executar um trabalho privilegiado em seu nome. todas as outras chamadas são limitadas pelas restrições e limitações do programa.</p> </li> <li> <p>todo programa armazena configurações em um arquivo/pasta oculto do diretório inicial do usuário. nenhum programa tenta gravar um arquivo de configuração global.</p> </li> <li> <p>um favor em relação aos mecanismos de comunicação descritos abertamente sobre mecanismos secretos ou mecanismos 1-para-1 específicos. outros fornecedores e desenvolvedores de software são incentivados a seguir a mesma especificação, para que as coisas possam ser facilmente conectadas, trocadas e, no entanto, permanecerem fracamente acopladas.</p> </li> </ul>