Dicas para entender a linha de comando [fechada]


29

Quando migrei do Windows para o Ubuntu, a coisa mais assustadora que tive que fazer foi usar a linha de comando.

Digitar comandos é uma experiência estranha quando você está acostumado a apontar e clicar.

Quando falo com novos usuários do Ubuntu, eles geralmente ficam desconfortáveis ​​com a ideia de falar diretamente com o computador.

Existe um guia simples e amigável para ajudar os novos usuários a se familiarizarem com a linha de comando?

Você tem alguma dica para tornar a experiência mais fácil ou divertida?


4
Pelo que vale, o Ubuntu se esforça (pelo menos, mais do que qualquer outra distribuição Linux) para não fazer você usar a linha de comando, se não quiser. Mas sempre haverá coisas que são muito mais fáceis / rápidas na linha de comando do que em uma GUI. Portanto, é uma boa ideia aprender sobre isso (e uma boa pergunta).
David Z

Respostas:


17

Se você está procurando um bom guia para aprender a linha de comando, o meu favorito é LinuxCommand.org

O guia mostrará o básico da linha de comando e até o guiará para escrever scripts úteis do shell.

Dito isto, a maioria dos usuários não precisará usar a linha de comando para a maioria das operações diárias. Eu não acho que a linha de comando deva desencorajar os usuários de migrar para o Ubuntu. Mas depois de aprender o poder da linha de comando, você não poderá viver sem ela!


15

Aqui estão alguns comandos comuns para manipular o sistema de arquivos:

  • cp [src] [dest] - copia src para dest
  • mv [src] [dest] - move src para dest (também usado para renomear)
  • cd [dir] - altera o diretório atual para dir
  • pwd - imprime o diretório atual
  • cat [file] - imprime o conteúdo do arquivo na tela
  • rm [file]- remove um arquivo 1
  • rmdir [dir] - remove um diretório vazio

O prefixo de qualquer um dos comandos sudofaz com que o comando seja executado como usuário raiz.

1 - não digite, sudo rm -rf /pois isso apagará o sistema de arquivos


5
Heh, +1 para o aviso sudo rm :) #
Nicholas Knight

2
Não se esqueça de uma observação sobre o infame forkbomb ": () {: |: &} ;:" que basicamente bifurca um número infinito de novos processos e diminui a velocidade do sistema gradualmente, até que os recursos acabem exigindo uma reinicialização do sistema. Para mais informações, consulte en.wikipedia.org/wiki/Fork_bomb .
Evan Plaice

12

1) Conclusão da guia:

Uma economia de tempo gigante. Se você estiver digitando um comando, precisará digitar apenas o suficiente para fornecer um segmento inicial que só pode ser estendido de uma única maneira e pressionar a tecla TAB uma vez para expandir seu segmento inicial para o comando inteiro. Então, por exemplo, no meu sistema se umo TABexpande para umount. (No meu sistema, quais segmentos iniciais são extensíveis apenas de uma maneira são uma função do que você instalou, etc.) Se você não digitar o suficiente para tornar a conclusão inequívoca, o TAB não será expandido, mas um segundo TAB exibirá um lista de possíveis conclusões. Então, no meu sistema, um TAB TABproduz:

umask       umax_pp     umount      umount.hal

A conclusão da guia também funciona nos caminhos: cd /home/me/docs/reallylo TABse for exclusivo, será expandido para cd /home/me/docs/reallylongdirname, e se não for exclusivo, oferecerá uma lista de continuações de candidatos, como umacima.

2) man some-commandou some-command --helpou some-command -h:

Se você não conseguir se lembrar de como um comando funciona, poderá obter a documentação no shell. mangeralmente fornece mais detalhes. Normalmente, um ou ambos os argumentos --helpe -hpara um comando fornecem um breve resumo.

3) head:

man some-commandassume o controle do terminal e impede que você insira comandos enquanto o texto do homem é exibido. man some-command | headexibirá as 10 primeiras linhas. man some-command | head -nexibirá as primeiras n linhas. Nos dois casos, você recebe seu prompt de volta, para que você possa ter o texto do homem na tela enquanto insere seu comando.


Quando uso man some-command, o homem me permite rolar para cima e para baixo na página. Isso não é usual?
Michael Crenshaw

@ mac9416: De fato. Eu nunca tinha tentado isso antes: - [Modificado a resposta para levar isso em conta. Obrigado!
Vanden

Sim, manusa um pager (geralmente less). Se você deseja examinar um arquivo de maneira semelhante, digite less somefile. Se você se acostumar vim, poderá usar as jkteclas para rolar.
Umang

Com toda a justiça, a conclusão da guia não está disponível em todas as conchas.
Nathan Osman

@ George Edison: É verdade. Mas, se for um novo usuário em questão (como está na pergunta), não será muito provável que eles tenham alterado o shell do padrão e, portanto , terão a conclusão da guia.
Vanden

7

Mude para zsh!

Embora seja muito parecido com o bash, ele possui muitos recursos adicionais prontos para uso (como por exemplo, correção de erros de digitação, mesmo em um componente de caminho anterior ou em um widget útil para chamar ajuda para o comando atual (via run-help; Pressiono ESC-h após, por exemplo, ter digitado mplayere a página de manual é aberta. Depois de fechá-la, estou de volta à linha antiga)).

Eu recomendo o livro a seguir, que aborda zsh, bash e alguns outros shells:
Do Bash ao Z Shell: Conquistando a linha de comando . Embora já tenha alguns anos, fico feliz que isso não tenha me impedido de comprá-lo. Essa recomendação também é válida se você não quiser mudar para o zsh.

Eu tenho usado muito a linha de comando há alguns anos (localmente e via SSH), só recentemente mudei para o zsh (principalmente por causa do meu prompt personalizado do bash, que não é compatível). Aqui está minha configuração do zsh (integrada no meu repositório dotfiles ).

Você pode usar chsh -s /bin/zshpara alternar seu shell (via / etc / passwd) ou apenas chamá-lo do seu shell atual, ou seja, digite zshseu prompt do bash (você provavelmente precisará instalá-lo primeiro ( sudo apt-get install zsh).


5

"apropos" (ou equivalente: "man -k") para encontrar um comando para fazer alguma coisa.

$ apropos [my query]

Por exemplo, para encontrar o comando para copiar arquivos:

$ apropos copy

listará vários comandos, dos quais

cp (1) - copy files and directories

é um.

"cp" é o comando e "1" é a seção dos manuais em que aparece. A seção 1 é sobre comandos gerais do usuário (outras seções incluem itens como chamadas de biblioteca, nas quais você não estará interessado). Para restringir a pesquisa apenas à seção 1, use:

$ apropos -s1 [my query]

Para descobrir mais sobre o comando, use "man". por exemplo

$ man cp

+1 por ser o primeiro a mencionar man. Bravo!
jathanism

4

Tente usar peixe

O fish é um shell de linha de comando amigável para sistemas operacionais semelhantes ao UNIX, como o Linux.

Entre outras coisas, apresenta a conclusão de guias mais avançada do que o bash, que pode ser muito útil durante o aprendizado.

texto alternativo

https://www.pablumfication.co.uk/2010/02/26/fish/

http://fishshell.org/index.php


11
Eu amo o recurso de pesquisa de histórico. Basta digitar qualquer coisa, pressionar a tecla de seta para cima e você está pesquisando em seu histórico as mesmas palavras. Grande economia de tempo.
Javier Rivera

o link para fishshell.org está desatualizado. fishshell.com é o novo.
NES

2

history | grep SOMETHING - localiza o comando que você usou antes que contém ALGO.

fortune - :-)


2
Para isso, eu uso Ctrl+R SOMETHING(com a diferença de que isso dá a última ocorrência). Repita Ctrl+Rpara encontrar mais ocorrências de SOMETHINGno histórico de comandos.
Bert Van Vreckem

2

Para aprender a usar um comando, adicione um espaço e, em seguida, "--help" ao final dele - isso mostra como usá-lo e fornece uma lista de opções.

por exemplo

cp --help

Atenção, isso não funciona com todos os comandos!
SilverWolf - Restabelece Monica


2

Eu recomendo usar Companion CLI :

O CLI Companion é uma ferramenta para armazenar e executar comandos do Terminal a partir de uma GUI. Pessoas que não estão familiarizadas com o Terminal encontrarão o CLI Companion uma maneira útil de se familiarizar com o Terminal e desbloquear seu potencial. Usuários experientes podem usar o CLI Companion para armazenar sua extensa lista de comandos em uma lista pesquisável.

insira a descrição da imagem aqui

Você obtém executando:

sudo add-apt-repository ppa:clicompanion-devs/clicompanion-nightlies
sudo apt-get update
sudo apt-get install clicompanion

Se você não deseja adicionar o PPA, tente este arquivo para 12.04 (versão mais recente 1.1-6, lançada em 14-04-2012 - verifique esta página para versões mais recentes.) - ou remova o PPA após a instalação sudo add-apt-repository -r ppa:clicompanion-devs/clicompanion-nightlies.


1

Encontre um livro do Ubuntu com um bom índice de linha de comando, feche-o com zerox e coloque-o perto do computador. Force-se a usá-lo. Um bom recurso é o livro "Ubuntu Linux Toolbox 1000+ command", abrange tudo o que você precisa saber (http://www.amazon.com/Ubuntu-Linux-Toolbox-Commands-Debian/dp/0470082933)

No entanto, se você não executa um servidor, na área de trabalho do Ubuntu quase tudo está disponível com a GUI.


0

Eu aprendi bastante sobre o uso da linha de comando e a facilidade de trabalhar nela lendo o Bash Cookbook da O'Reilly and Associates. É um livro sobre scripts Bash, mas os pedaços pequenos do formato do livro de receitas o tornam muito acessível. Como um benefício colateral, se você pensa "Puxa, eu com certeza gostaria de fazer X, mas não sei como", você pode usar o índice para pesquisar X (e Y e Z, nesse caso) e tenha uma boa idéia de como fazê-lo (e uma explicação decente de como funciona com indicadores de outras receitas e recursos que podem expandir ainda mais sua compreensão).


0

Eu tenho lido o Livro Oficial do Servidor Ubuntu, A (2ª Edição), para aprender a administração do sistema, e não apenas me tornei mais adepto ao uso da linha de comando, como também comecei a aprender o funcionamento interno do próprio sistema operacional.

O uso do Ubuntu Server Edition me ajuda a aprender a linha de comando com mais facilidade, porque não tenho a GUI na qual usar o recurso.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.