Está apenas começando no Linux? Ficar confortável com a linha de comando é essencial. Se você já estiver familiarizado com os utilitários de linha de comando, verá que o Linux e o Mac têm muito em comum, mas os comandos do Windows têm menos semelhanças. Vamos dar uma olhada.
Índice
A linha de comando do Linux
Os recém-chegados ao Linux geralmente ficam surpresos com o tempo que os usuários experientes do Linux gastam na linha de comando. Existem muitos bons motivos pelos quais a janela do terminal é tão popular. Para administração do sistema, é de longe a maneira mais flexível e poderosa de emitir comandos para o seu computador. Você tem mais comandos ao seu alcance – e com mais opções – do que seu ambiente de área de trabalho e aplicativos podem fornecer, e a linha de comando é muito mais rápida. Você também pode criar scripts de tarefas repetitivas, criar aliases e escrever funções de shell para aumentar a eficiência.
Se você está pensando em mudar do Windows para o Linux, ou apenas quer brincar com o subsistema do Windows para Linux, você descobrirá que a linha de comando é um playground rico e versátil. Existem muitos comandos disponíveis. Tantos, na verdade, que são opressores para quem está começando com o Linux.
Não ajuda que muitos comandos do Linux tenham nomes obscuros de duas letras. Mas existem outros comandos com nomes que você pode reconhecer se tiver alguma experiência em uma janela de comando do Windows. Comandos como ping
e netstat
por exemplo, têm o mesmo nome no Windows e no Linux.
Descobrir e memorizar comandos para tarefas que você normalmente executa em sua plataforma de computação usual é uma ótima maneira de começar a se sentir em casa em uma nova plataforma. Reunimos uma coleção de 10 comandos do Windows e fornecemos o equivalente do Linux. Ignoramos os comandos muito básicos e simples.
Alterar o diretório com cd
é o mesmo em ambas as plataformas, e ls
no Linux faz o dir
mesmo no Windows. Há duas coisas a menos com que se preocupar, mas elas realmente não o aproximam de nada que seja genuinamente produtivo. Os comandos do Linux que selecionamos são úteis e têm um equivalente direto do Windows com o qual você já estará familiarizado se tiver usado o prompt de comando do Windows.
1. Exibir o conteúdo de um arquivo: cat
O cat
comando é a contraparte do type
comando do Windows . Ele exibe o conteúdo de um arquivo na janela do terminal. Você também pode concatenar vários arquivos em um único arquivo. É o “gato” no meio de “concatenar” que dá o nome a esse comando.
Temos um versículo de um poema em um arquivo chamado “verso-1.txt”. Podemos examinar seu conteúdo com o cat
comando, passando o nome do arquivo como um parâmetro de linha de comando.
cat verso-1.texto
Para ver o conteúdo de outro arquivo, simplesmente passamos o nome do outro arquivo:
cat verso-2.txt
Para ver os dois arquivos ao mesmo tempo com um único comando, passamos os dois nomes de arquivo para cat
:
cat verso-1.txt verso-2.txt
Para criar um novo arquivo contendo o conteúdo dos dois arquivos, podemos usar o redirecionamento para enviar a saída cat
para um novo arquivo.
cat verse-1.txt verse-2.txt> newfile.text
2. Associar ações a tipos de arquivo: mimeopen
O mimeopen
comando atua como o assoc
comando do Windows . Ele associa um programa padrão a um tipo de arquivo.
O Windows usa extensões de arquivo para identificar os tipos de arquivo. O Linux faz as coisas de maneira diferente. Ele determina o tipo de arquivo examinando o conteúdo dos arquivos de texto ou a assinatura digital contida nos primeiros bytes dos arquivos digitais.
Para estabelecer uma associação de arquivo, use mimeopen
com a opção -d
(solicitar padrão) e passe o nome de um arquivo do tipo para o qual deseja definir uma associação.
mimeopen -d kernel-article.mm
Se o aplicativo que você deseja usar estiver listado, digite seu número. Neste exemplo, nosso aplicativo desejado não está listado. Podemos inserir “6” e, em seguida, digitar o comando que inicia o aplicativo. Queremos abrir esse tipo de arquivo com o FreeMind, um aplicativo de mapeamento mental.
O aplicativo é iniciado para você, abrindo o arquivo que você passou na linha de comando.
Esse aplicativo agora será usado para abrir arquivos desse tipo.
3. Defina os atributos do arquivo: chmod
O chmod
comando define os atributos do arquivo, muito parecido com o attrib
comando do Windows . No Linux, você pode definir permissões para ler arquivos, gravar em arquivos e executar arquivos, com um conjunto diferente de atributos para o proprietário do arquivo, o grupo de usuários ao qual o arquivo pertence e todos os outros. Esses atributos também podem ser aplicados a diretórios.
Usando a opção -l
(formato longo) com o ls
comando mostra uma lista de caracteres para cada arquivo, que se parece com isto.
-rwxrwxrwx
Se o primeiro caractere for um hífen “-”, significa que a lista representa um arquivo. Se o primeiro caractere for um “d”, a lista representa um diretório.
O resto da string é composto por três grupos de três caracteres. À esquerda, os três primeiros mostram as permissões de arquivo do proprietário, os três do meio mostram as permissões de arquivo do grupo e os três caracteres mais à direita mostram as permissões para outros.
Em cada grupo, da esquerda para a direita, os caracteres representam as permissões de leitura, gravação e execução. Se um “r”, “w” ou “x” estiver presente, esse atributo foi definido. Se uma letra foi substituída por um hífen “-”, essa permissão não está definida.
Uma maneira fácil de usar chmod
é representar cada conjunto de três permissões com um dígito. Ao fornecer um número de três dígitos, chmod
você pode definir as permissões para o proprietário, grupo e outros. O dígito mais à esquerda representa o proprietário. O dígito do meio representa o grupo. O dígito mais à direita representa os outros. Os dígitos variam de zero a sete.
- 0 : Sem permissão
- 1 : Permissão de execução
- 2 : permissão de gravação
- 3 : Gravar e executar permissões
- 4 : permissão de leitura
- 5 : Ler e executar permissões
- 6 : Permissões de leitura e gravação
- 7 : Ler, escrever e executar permissões
O arquivo “howtogeek.txt” possui permissões completas para todos. Vamos mudar isso para permissões totais para o proprietário (7), ler e escrever (6) para o grupo e ler (4) para todos os outros.
ls -l howtogeek.text
chmod 764 howtogeek.txt
ls -l howtogeek.text
4. Encontre uma String: grep
O Windows tem o find
comando. Ele procura arquivos de texto por strings correspondentes. O equivalente do Linux é grep
. A flexibilidade e sofisticação do grep
podem ser esmagadoras, mas seus princípios básicos são simples. Ele examina o texto em busca de strings correspondentes.
Para pesquisar no arquivo “/ etc / passwd” por entradas que correspondam a “dave”, usaríamos este comando:
grep dave / etc / passwd
A string não precisa ser uma palavra inteira. Na verdade, você pode pesquisar usando um rico conjunto de curingas e expressões regulares.
grep ove verse-1.txt
Você também pode usar grep
para pesquisar a saída de outro comando. O ps
comando lista os processos em execução. A -e
opção (tudo) lista todos os processos. Podemos canalizar isso grep
e procurar processos com “naut” no nome.
ps -e | grep naut
Para ver uma descrição mais detalhada de grep
e suas expressões regulares, consulte nosso artigo completo emgrep
.
5. Encontre diferenças de arquivo: diff
O diff
comando está para o Linux assim como o fc
comando está para o Windows. Ele compara dois arquivos e destaca as diferenças entre eles. Isso é particularmente útil quando você está comparando versões mais recentes e mais antigas do código-fonte do programa, mas é igualmente útil quando você está verificando duas versões de qualquer arquivo de texto de tamanho considerável.
Para comparar dois arquivos, passe seus nomes na linha de comando:
diff core.c old-core.c
As alterações são linhas que foram adicionadas, linhas que foram removidas ou linhas que foram modificadas. Cada alteração é descrita em uma forma abreviada e, em seguida, exibida. A abreviação lista o número da linha (ou intervalo de linha) no primeiro arquivo, uma letra e, em seguida, o número ou números da linha no segundo arquivo. A carta pode ser:
- c : A linha no primeiro arquivo precisa ser alterada para coincidir com a linha no segundo arquivo.
- d : A linha no primeiro arquivo deve ser excluída para corresponder ao segundo arquivo.
- a : O conteúdo extra deve ser adicionado ao primeiro arquivo para fazê-lo corresponder ao segundo arquivo.
Para ver uma comparação lado a lado, use a -y
opção (lateralmente). Geralmente é útil usar a -W
opção (largura) para limitar a largura da saída, caso contrário, as linhas quebradas podem dificultar a interpretação da saída.
diff -y -W 70 core.c old-core.c
As linhas são mostradas lado a lado. Linhas alteradas, adicionadas ou excluídas são indicadas por um símbolo no meio da tela. Os símbolos podem ser:
- | : Uma linha que foi alterada no segundo arquivo.
- < : Uma linha que foi excluída do segundo arquivo.
- > : Uma linha que foi adicionada ao segundo arquivo que não está no primeiro arquivo.
6. Encontre o seu endereço IP: ip addr
O ipconfig
comando do Windows exibe informações sobre sua conexão de rede e seu endereço IP. Para realizar a mesma coisa no Linux, use o ip
comando . Leva muitos objetos e opções que alteram seu comportamento, como addr
, que exibe informações sobre seu endereço IP.
endereço de ip
Você encontrará seu endereço IP na saída. Neste exemplo, o endereço IP é exibido como 192.168.1.40/24. Isso significa que o endereço IP é 192.168.1.40 e a máscara de rede é 255.255.255.0. O “/ 24” é a notação Classless Inter-Domain Routing para uma máscara de rede com três conjuntos de 8 bits definidos como 1.
Há uma grande variedade de informações disponíveis por meio do ip
comando. Consulte nosso artigo completo para saber mais.
7. Descubra as informações da rede: netstat
A contraparte do netstat
comando do Windows tem o mesmo nome no Linux. O netstat
comando Linux exibe informações sobre suas conexões de rede, incluindo soquetes e outras estruturas de dados. Se netstat
ainda não estiver instalado em seu computador, você pode instalá-lo usando o gerenciador de pacotes da sua distribuição.
Para ver os soquetes TCP / IP de escuta, use as opções -l
(escuta) e -t
(TCP / IP):
netstat -lt
8. Solucionar problemas de conectividade: ping
Outro comando que tem o mesmo nome de seu equivalente do Windows ping
, provavelmente precisa de pouca introdução. É uma ótima ferramenta para testar conexões de rede e ver se há uma rota válida entre os dispositivos em rede.
Ele envia ICMP ECHO_REQUEST
pacotes para o dispositivo remoto e escuta uma resposta. Em seguida, ele informa se uma conexão pode ser feita e a viagem de ida e volta média em milissegundos.
Você pode usar ping
com endereços IP ou nomes de domínio e rede.
ping www.howtogeek.com
Para enviar um número específico de solicitações de ping, use a -c
opção (contagem).
ping -c 4 www.howtogeek.com
9. Descubra detalhes de hardware: lshw
Os usuários da linha de comando do Windows estarão familiarizados com o systeminfo
comando. O lshw
comando Linux oferece o mesmo tipo de funcionalidade. Pode ser necessário instalar este comando em algumas distribuições.
Há muitas saídas desse comando. Geralmente é mais conveniente canalizar a saída para less
. Além disso, use sudo
com este comando para que ele tenha permissão para acessar arquivos e fluxos do sistema.
sudo lshw | menos
Para obter uma visão geral condensada, use a -short
opção.
sudo lshow -short
Existem muitos utilitários diferentes que mostram diferentes subconjuntos de informações de hardware . Confira nosso artigo completo para uma descrição de vários deles.
10. Determine a rota de um pacote: traceroute
O traceroute
comando do Linux é análogo ao tracert
comando do Windows . É outro que você pode precisar instalar em sua distribuição. Ele conta os saltos de roteador para roteador à medida que os pacotes vão do computador para o dispositivo remoto. Alguns dispositivos não revelam muito sobre si mesmos. Esses dispositivos secretos são mostrados como uma linha de asteriscos “*” na saída.
Você pode usar o traceroute com endereços IP ou nomes de domínio e dispositivo.
traceroute www.blarneycastle.ie
Um mundo de diferenças
O Windows e o Linux são mundos separados e, ainda assim, compartilham alguns comandos comuns – e até mesmo nomes de comandos. Isso não é muito surpreendente. Os soquetes do Windows vieram do Unix , então deve haver alguma sobreposição nessa terminologia nos dois sistemas operacionais.
E alguns utilitários são tão úteis que podem aparecer em todas as plataformas. O ping
comando, por exemplo, é encontrado em quase todas as plataformas que você possa imaginar.
Vir do Windows para o Linux é um choque cultural, não há como escapar disso. Mas esse é o ponto. Se fosse igual, você poderia muito bem ficar com o Windows. Mas alguns rostos familiares podem definitivamente ajudá-lo a entrar no mundo do Linux.