qual é a diferença entre um shell bash de 'login' e um 'interactive'
<p>qual é a diferença entre um shell bash de 'login' e um 'interactive'? citei a wikipedia abaixo, mas alguém pode dar uma resposta melhor?</p><p>edit: este é um wiki da comunidade, portanto, talvez em vez de votar para fechar, você pode fornecer exemplos de quais situações exigem que tipo de $ shell</p><blockquote> <p>scripts de inicialização</p> <p>quando o bash é iniciado, ele executa os comandos em uma variedade de scripts diferentes.</p> <p>quando o bash é chamado como um shell de logon interativo, ele primeiro lê e executa comandos do arquivo/etc/profile, se esse arquivo existir. depois de ler esse arquivo, ele procura ~/.bash\_profile, ~/.bash\_login e ~/.profile, nessa ordem, e lê e executa comandos do primeiro que existe e é legível.</p> <p>quando um shell de logon sai, o bash lê e executa comandos do arquivo ~/.bash\_logout, se existir.</p> <p>quando um shell interativo que não é um shell de login é iniciado, o bash lê e executa comandos de ~/.bashrc, se esse arquivo existir. isso pode ser inibido usando a opção --norc. a opção --rcfile file forçará o bash a ler e executar comandos do arquivo em vez de ~/.bashrc.</p> <ul> <li> <a href="http://en.wikipedia.org/wiki/bash#startup\_scripts">wikipedia</a> </li> </ul> </blockquote>
<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>vamos primeiro ver o que acontece se um programa for iniciado a partir de um shell interativo (conectado a um terminal) sem <code>&amp;</code> (e sem nenhum redirecionamento). então, vamos supor que você acabou de digitar <code>foo</code>:</p><ul> <li>o processo executando <code>foo</code> é criado.</li> <li>o processo herda stdin, stdout e stderr do shell. portanto, também está conectado ao mesmo terminal.</li> <li>se o shell receber um <code>sighup</code>, ele também envia um <code>sighup</code> para o processo (o que normalmente causa o término do processo).</li> <li>caso contrário, o shell aguarda (está bloqueado) até o processo terminar.</li> </ul><p>agora, vejamos o que acontece se você colocar o processo em segundo plano, ou seja, digite <code>foo &amp;</code>:</p><ul> <li>o processo executando <code>foo</code> é criado.</li> <li>o processo herda stdout/stderr do shell (portanto, ele ainda grava no terminal).</li> <li>o processo em princípio também herda stdin, mas assim que tenta ler a partir de stdin, ele é interrompido.</li> <li>ele é colocado na lista de trabalhos em segundo plano que a shell gerencia, o que significa especialmente: <ul> <li>ele está listado com <code>jobs</code> e pode ser acessado usando <code>%n</code> (onde <code>n</code> é o número do trabalho).</li> <li>ele pode ser transformado em um trabalho em primeiro plano usando <code>fg</code>, caso em que continua como se você não tivesse usado <code>&amp;</code> (e se foi interrompido devido à tentativa de leitura da entrada padrão, agora pode prosseguir com a leitura do terminal).</li> <li>se o shell recebeu um <code>sighup</code>, ele também envia um <code>sighup</code> para o processo. dependendo do shell e possivelmente das opções definidas para o shell, ao finalizar o shell, ele também enviará um <code>sighup</code> para o processo.</li> </ul> </li> </ul><p>agora <code>disown</code> remove o trabalho da lista de trabalhos do shell, para que todos os subpontos acima não se apliquem mais (incluindo o processo que está sendo enviado um <code>sighup</code> pelo shell). no entanto, observe que <em> ainda </em> está conectado ao terminal, portanto, se o terminal for destruído (o que pode acontecer se for um pty, como os criados por <code>xterm</code> ou <code>ssh</code>, e o programa de controle é finalizado, fechando o xterm ou finalizando a <a href="http://en.wikipedia.org/wiki/secure\_shell"> ssh </a> conexão), o programa falhará assim que tentar ler da entrada padrão ou gravar na saída padrão.</p><p>o que <code>nohup</code> faz, por outro lado, é separar efetivamente o processo do terminal:</p><ul> <li>ele fecha a entrada padrão (o programa <em> não </em> consegue ler qualquer entrada, mesmo que seja executada em primeiro plano. não é interrompido, mas será receba um código de erro ou <code>eof</code>).</li> <li>ele redireciona a saída padrão e o erro padrão para o arquivo <code>nohup.out</code>, para que o programa não falhe ao gravar na saída padrão se o terminal falhar, portanto, o que o processo gravar não será perdido.</li> <li>impede que o processo receba um <code>sighup</code> (portanto, o nome).</li> </ul><p>observe que <code>nohup</code> <em> não remove </em> o processo do controle de tarefas do shell e também não o coloca em segundo plano (mas desde que um primeiro plano <code>nohup</code> trabalho é mais ou menos inútil, você geralmente o coloca em segundo plano usando <code>&amp;</code>). por exemplo, diferentemente de <code>disown</code>, o shell ainda informa quando o trabalho nohup foi concluído (a menos que o shell seja encerrado antes, é claro).</p><p>então, para resumir:</p><ul> <li><code>&amp;</code> coloca o trabalho em segundo plano, ou seja, impede a tentativa de ler as entradas e faz com que o shell não espere sua conclusão.</li> <li><code>disown</code> remove o processo do controle de trabalho do shell, mas ainda o deixa conectado ao terminal. um dos resultados é que o shell não enviará um <code>sighup</code>. obviamente, ele só pode ser aplicado a trabalhos em segundo plano, porque você não pode inseri-lo quando um trabalho em primeiro plano está em execução.</li> <li><code>nohup</code> desconecta o processo do terminal, redireciona sua saída para <code>nohup.out</code> e o protege de <code>sighup</code>. um dos efeitos (o de nomeação) é que o processo não receberá nenhum <code>sighup</code> enviado. é completamente independente do controle do trabalho e pode, em princípio, ser usado também para trabalhos em primeiro plano (embora isso não seja muito útil).</li> </ul> <p>enviar uma nova linha <code>\n</code> executará o comando. <code>.end()</code> sairá do shell.</p><p>modifiquei o exemplo para trabalhar com o bash enquanto estou no osx.</p><pre><code>var terminal = require('child\_process').spawn('bash'); terminal.stdout.on('data', function (data) { console.log('stdout: ' + data); }); terminal.on('exit', function (code) { console.log('child process exited with code ' + code); }); settimeout(function() { console.log('sending stdin to terminal'); terminal.stdin.write('echo "hello $user. your machine runs since:"\n'); terminal.stdin.write('uptime\n'); console.log('ending terminal session'); terminal.stdin.end(); }, 1000); </code></pre><p>a saída será:</p><pre><code>sending stdin to terminal ending terminal session stdout: hello root. your machine runs since: stdout: 9:47 up 50 mins, 2 users, load averages: 1.75 1.58 1.42 child process exited with code 0 </code></pre> <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> a função switch possui algumas diferenças em relação à função if, mas ambas são funções de comparação. e é correto afirmar que a diferença entre elas é a capacidade de apenas testar igualdades. a estrutura do switch pode ser melhor analisada a seguir:\switchem cada um dos cases, só é aceito um valor ou, até mesmo, uma string. a comparação sempre será uma comparação de igualdade entre o valor de referência e o valor de cada case. já a função if permite fazer comparações lógicas com uma lógica booleana. a estrutura do if pode ser melhor analisada a seguir:\if acredito que ele esteja falando o seguinte, o ssh é um protocolo de rede que serve para “acessar” de forma “segura” uma maquina.

porém existe o ssh- client e ssh-sever, no caso ele disse para instalar o ssh-server, que tem como função “servir” um acesso ssh (e não vem instalado por padrão).

já o s… <p>se bem entendi, você deseja enviar dados para um programa em execução dentro de uma sessão de tela. você pode fazer isso com o comando <code>stuff</code> da tela. use a tela <code>-x</code> opção para executar um comando em uma sessão de tela sem anexar a ela.</p><pre><code>screen -s sessionname -p windowname -x stuff 'command1 command2 ' </code></pre><p>se você quiser ver a saída do programa, consulte os comandos <code>hardcopy</code>, <code>log</code> e <code>logfile</code>.</p> [@aralmeida](/u/aralmeida) a que página te estás a referir, podes colocar o link?

o home assistant é exactamente igual em todas as instalações. a grande diferença entre o hassbian e o hassio é que no hassio tens addons que possibilitam adicionar novas funções com o clique de um botão.

nota: estamos em fase de mu… [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)) [imagem]

[consumo de ram windows 10 vs linux mint](https://plus.diolinux.com.br/t/consumo-de-ram-windows-10-vs-linux-mint/20409/3) [iniciantes](/c/linux/iniciantes-linux)

será que é um parâmetro válido? qual a intenção?

um sistema pode ocupar mais ram e desempenhar melhor do que um sistema que usa menos ram e precisa ficar alocando memória a cada clique.

[[sem título]](https://plus.diolinux.com.br/uploads/default/original/3x/7/7/77a435385d6deefa89bbacb9b69525450f3694bf.png "sem título")

repare que… eu não entendi exatamente se você quer apenas ter conhecimento sobre o funcionamento do sistema e, assim, conseguir resolver os problemas comuns que aparecem, tais como erro em instalação de programas e coisas do tipo, compilação dos mesmos manualmente, etc., ou se você quer realmente ser um usuário…