Comandos Basicos Linux: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
 
(8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 4: Linha 4:
<ref name=MORIMOTO>MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.</ref>
<ref name=MORIMOTO>MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.</ref>
-->
-->
==Origem do Linux==
;Origem do Linux: O sistema operacional '''Linux''' foi desenvolvido pelo programador finlandês Linus Torvalds insperado no sistema '''Minix''' <ref>https://pt.wikipedia.org/wiki/Linux</ref>. Este último, por sua vez, é um sistema baseado no '''Unix''', construído para fins didáticos por Andrew S. Tanenbaum, visando explicar o funcionamento e o projeto de um sistema operacional <ref>https://pt.wikipedia.org/wiki/MINIX</ref>.


O sistema operacional '''Linux''' foi desenvolvido pelo programador finlandês Linus Torvalds insperado no sistema '''Minix''' <ref>https://pt.wikipedia.org/wiki/Linux</ref>. Este último, por sua vez, é um sistema baseado no '''Unix''', construído para fins didáticos por Andrew S. Tanenbaum, visando explicar o funcionamento e o projeto de um sistema operacional <ref>https://pt.wikipedia.org/wiki/MINIX</ref>.
;Linux Ubuntu: O '''Ubuntu''' é um '''sistema operacional''' de código aberto, baseado no '''Debian'''. O '''Ubuntu''' lança uma nova versão do sistema a cada seis meses, nos meses de '''abril''' ('''04''') e '''outubro''' ('''10'''). A cada dois anos é lançada uma versão chamada '''Longo Tempo de Suporte''' ('''LTS'''), na qual o suporte é três anos para desktops. Por exemplo, a versão 16.04 é a última versão LTS lançada. Depois desta, foram lançadas as versões 16.10, 17.04 e 17.10. A próxima versão será a LTS 18.04.


O Linux
Nos labotórios do Campus Foz do Iguaçu do IFPR o Ubuntu é o sistema operacional escolhido.
 
 
 
:Vários sistemas comerciais foram desenvolvidos a partir do '''Unix''', como o '''Unix BSD''' (Universidade de Berkeley), o '''Unix System V''' (AT&T) e, com o desenvolvimento dos '''computadores pessoais''', o '''Linux''' <ref name=MORIMOTO>MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.</ref>.
 
;Utilização do Linux como servidores: O '''Linux''' hoje é utilizado em ''desktops'', ''laptops'',  ''smartphones'' e outros dispositivos. Contudo, o papel de '''servidor''' se mantem, sendo um dos sistemas operacionais mais utilizados na montagem de '''servidores de rede local''' e '''servidores Internet''' <ref name=MORIMOTO/>:
:*Um '''servidores de rede local''' provê serviços de rede aos usuários em uma '''rede local''', incluindo o papel de '''roteador''' provendo acesso a Internet, servidor ''proxy'' ('''Squid'''), servidor DHCP, roteador NAT, ''firewall'' ('''iptables''') e servidor de arquivos e impressão ('''Samba''').
:*Um '''servidor Internet''' é um servidor dedicado a prover serviços na Internet. Um exemplo é um '''servidor Web''' montado com '''Apache''', um interpretador '''PHP''' e um banco de dados '''MySQL''', conhecido como '''servidor LAMP'''. Outros serviços de rede também podem fazer parte do servidor, como servidor '''FTP''' para disponibilizar arquivos de forma pública, sistema de '''quotas''' para administrar espaço de armazenamento, servidor '''DNS''', servidor de '''Email''' e outros.
 
;Servidor dedicado e administração remota: Um '''servidor Linux''' pode ser uma '''máquina física''' dedicada para prover serviços de rede ou uma '''máquina virtual''' hospedada em um '''datacenter'''. Em ambos os casos, normalmente o servidor é montado com uma estrutura enxuta, com o '''modo gráfico''' desativado, liberando os recursos do hardware para o papel de servidor. Neste caso, a '''administração do servidor''' acaba sendo feita remotamente, principalmente utilizando '''SSH'''.
 
;Servidor Linux Ubuntu: O sistema operacional '''Ubuntu''' lança uma nova versão para '''''desktops''''' e '''servidores''' a cada seis meses. Cada versão tem atualizações de segurança gratuitas por pelo menos 18 meses. A versão de Longo Tempo de Suporte (LTS) o suporte é três anos para desktops, e cinco anos para servidores.
 
*Na disciplina de '''Administração de Servidores''' vamos utilizar a distribuição '''Ubuntu''' para '''servidores'''.


==Comandos Básicos Linux==
==Comandos Básicos Linux==


Embora o Linux possua '''interface gráfica''', como o Gnome ou KDE, o '''administrador''' do sistema muitas vezes prefere (ou necessita) executar '''comandos de linha''' em um terminal.
O Ubuntu possui uma '''interface gráfica''' chamada '''Gnome'''. Entretanto, para facilitar a instalação de aplicativos e outras tarefas, muitas vezes é necessário executar '''comandos de linha''' em um '''terminal'''.


O ambiente tradicional do Unix é o '''CLI''' (''Command Line Interface''), onde você digita os comandos para dizer ao computador o que ele deve fazer.  
Um '''terminal''' é o local onde você digita os comandos para dizer ao computador o que ele deve fazer.  


;Site para treinar comandos básicos: [http://cb.vu/ Terminal Linux].
;Site para treinar comandos básicos: [http://cb.vu/ Terminal Linux].
Linha 37: Linha 23:
<!-- http://wiki.ubuntu-br.org/ComandosBasicos -->
<!-- http://wiki.ubuntu-br.org/ComandosBasicos -->


===Comandos úteis para o administrador===
===Comandos Básicos de Arquivos e Diretórios===
Um bom administrador de rede deve dominar um conjunto de '''comandos de linha''', pois muitas das ações no servidor deverão ser realizadas via '''terminal de comandos'''.
Um bom usuário Linux deve dominar um conjunto de '''comandos de linha''', pois muitas das ações no sistema serão facilitadas se realizadas via '''terminal de comandos'''.


;Principais comandos a disposição do administrador para o dia a dia no sistema:
;Principais comandos a disposição do usuário para o dia a dia no sistema:
  '''cd''' - muda diretório
  '''cd''' - muda diretório
  '''pwd''' - mostra diretório atual
  '''pwd''' - mostra diretório atual
Linha 46: Linha 32:
  '''ls -l''' - para ver permissões de acesso
  '''ls -l''' - para ver permissões de acesso
  '''ls -a''' - para ver arquivos ocultos
  '''ls -a''' - para ver arquivos ocultos
'''cat''' - lista conteúdo de um arquivo
  '''cp''' - cópia de arquivos
  '''cp''' - cópia de arquivos
  '''cp -r''' - cópia recursiva para diretórios
  '''cp -r''' - cópia recursiva para diretórios
Linha 54: Linha 41:
  '''man''' - ajuda sobre comandos
  '''man''' - ajuda sobre comandos


;Comandos para localizar arquivos: Um comando útil para localizar arquivos no sistema é o comanco '''locate'''. Este comando faz uso de um banco de dados dos arquivos criado pelo comando '''updatedb'''. Entretando, o comando '''updatedb''' deve ser executado pelo menos uma vez antes do '''locate''', e periodicamente para atualizar o banco de dados.
===Exercícios===
 
#Na interface gráfica do Ubuntu, abrir o '''Gerenciador de Arquivos''' e navegar pela árvore de diretórios do sistema.
:Exemplo
#Abra um '''terminal''' de comandos e utilize os comandos '''pwd''' e '''cd''' para navegar pela árvore de diretórios do sistema e o comando '''ls -l''' para listar o conteúdo dos diretórios.
locate Modelo-PlanoEnsino.odt
/home/evandro/Dropbox/AulasIFPR/Modelo-PlanoEnsino.odt
 
O comando '''find''' também permite localizar arquivos, mas procura varrendo toda a árvore de diretórios. Por exemplo:
find /etc -name passwd
:Procura pelas ocorrências do arquivo passwd no diretório /etc.
 
;Criação de links ou atalhos: O comando '''ln''' permite criar '''''links''''' que se comportam como '''atalhos''' para arquivos. Existem dois tipos de links:  '''''soft links''''' (ou '''links simbólicos''') e '''''hard links''''':
*'''links simbólicos''': É um atalho estático, se mover ou deletar o arquivo o link fica quebrado;
*'''''hard links''''': Se o arquivo é movido o link é automaticamente atualizado.
ln arquivo link
 
O Linux usa muitos links na estrutura de diretórios, que é um recurso muito usado quando os arquivos de sistemas mudam de lugar em uma nova versão.
 
==Editor vi==
O '''vi''' (''Visual Editor'') é um dos editores de texto mais usados no mundo Linux/Unix e está disponível em todas as versões e distribuições. Cabe destacar que sistemas embarcados, como num roteador ou equipamento de rede, o editor '''vi''' pode ser a única opção disponível.
 
Uma versão aprimorada deste editor é o '''vim''' (''VI Improved''), no qual é possível  abrir múltiplos arquivos, usar seleção visual, mapeamento de teclas, seleção vertical de texto, uso de expressões regulares, sintaxe colorida, repetições entre outras coisas.
 
;Instalação do vim:
sudo apt-get install vim
 
[[Arquivo:EditorVI.png]]


==Estrutura de arquivos e diretórios do Linux==
==Estrutura de arquivos e diretórios do Linux==
Linha 88: Linha 52:
  cdrom  home  mnt
  cdrom  home  mnt
Descrição e função dos diretórios:
Descrição e função dos diretórios:
*'''/home''': Diretório '''''home'' dos usuários'''.
*'''/root''': Diretório '''''home'' do superusuário'''.
*'''/bin''': Arquivos '''binários executáveis''' de comandos essenciais, como o cp, mv e grep.
*'''/bin''': Arquivos '''binários executáveis''' de comandos essenciais, como o cp, mv e grep.
*'''/boot''': Arquivos relacionados ao '''''boot''''' e ao '''''kernel'''''.
*'''/boot''': Arquivos relacionados ao '''''boot''''' e ao '''''kernel'''''.
Linha 98: Linha 64:
*'''/opt''': Arquivos de '''programas de terceiros''', que não acompanham a distribuição.
*'''/opt''': Arquivos de '''programas de terceiros''', que não acompanham a distribuição.
*'''/proc''': Diretório de informações de '''processos e hardware''' do sistema.
*'''/proc''': Diretório de informações de '''processos e hardware''' do sistema.
*'''/root''': Diretório '''''home'' do superusuário'''.
*'''/sbin''': Arquivos '''binários executáveis''' do superusuário.  
*'''/sbin''': Arquivos '''binários executáveis''' do superusuário.  
*'''/tmp''': '''Arquivos temporários'''.
*'''/tmp''': '''Arquivos temporários'''.
Linha 104: Linha 69:
*'''/var''': '''Arquivos de dados variáveis''', como ''spool'' de impressão, os arquivos de ''cache'' e arquivos de log.
*'''/var''': '''Arquivos de dados variáveis''', como ''spool'' de impressão, os arquivos de ''cache'' e arquivos de log.


==Sistema de arquivos==
==Edição de textos==


O '''sistema de arquivos''' caracteriza o modo como os dados são armazenados em uma '''partição''' do dispositivo de armazenamento.
A edição de pequenos arquivos a partir de um terminal pode ser realizada com o comando
cat > nome_arquivo
após a edição pode utilizar os comandos
CTRL-D para salvar
CTLR-C para sair sem salvar


Cada '''sistema operacional''' pode trabalhar com um '''sistema de arquivos''' específico. Deste modo, caso se queira instalar vários sistemas operacionais em uma máquina, o '''disco rígido''' deve ser '''particionado'''.
Para continuar a edição de um documento existente pode-se usar o comando
cat >> nome_arquivo


;Particionamento: O '''particionamento''' do disco rígido pode ser realizado durante a instalação do sistema. Geralmente o software de instalação oferece ferramentas para particionar o disco. Entretanto, há ferramentas específicas para isto, como o '''GParted''', disponível nos repositórios do '''Ubuntu'''.
===Editor vi===
O '''vi''' (''Visual Editor'') é um dos editores de texto mais usados no mundo Linux/Unix e está disponível em todas as versões e distribuições. Cabe destacar que sistemas embarcados, como num roteador ou equipamento de rede, o editor '''vi''' pode ser a única opção disponível.  


===Sistemas de arquivos suportados pelo Linux===
Uma versão aprimorada deste editor é o '''vim''' (''VI Improved''), no qual é possível  abrir múltiplos arquivos, usar seleção visual, mapeamento de teclas, seleção vertical de texto, uso de expressões regulares, sintaxe colorida, repetições entre outras coisas.
O Linux tem suporte a vários de sistemas de arquivos, sendo que os principais são:
*'''ext''': ''extended filesystem'', é o mais utilizado pelo Linux. Existem várias extensões (ext2, ext3, ext4) que melhoram a performance do sistema.
*'''vfat''': é o sistema de arquivos do DOS e Microsoft Windows 95 e NT.
*'''ntfs''': é o sistema de arquivos do Microsoft Windows XP e NT.
*'''nfs''': é um sistema de arquivos para redes usado para acessar discos localizados em computadores remotos.
*'''smb''': é um sistema de arquivos para redes que suporta o protocolo SMB, usado pelos Windows for Workgroups e NT. No '''Linux''' o '''Samba''' implementa o protocolo SMB fazendo com que pareça como sendo um servidor de arquivos Windows.
*'''iso9660''': é o sistema de arquivos para CD-ROM.


O arquivo '''/proc/filesystems''' mostra os sistemas de arquivos são suportados pelo seu kernel atual.
;Instalação do vim:
sudo apt-get install vim


==Gerenciador da inicialização==
[[Arquivo:EditorVI.png]]
Caso o computador tenha mais de um sistema operacional instalado há necessidade de um '''gerenciador da inicialização''' para definir a ordem de iniciação do sistema. No '''Ubuntu''' o gerenciador da inicialização é o '''GRUB'''.
 
:A edição do arquivo de configuração do GRUB permite alterar a ordem de iniciação dos sistemas operacionais:
sudo gedit /etc/default/grub
:Caso a ordem de inicialização seja alterada o GRUB deve ser atualizado:
sudo update-grub
 
==Gerenciamento de serviços e processos==
 
Cada '''serviço''' rodando no Linux, como um Servidor Apache, são chamados '''''deamons''''' ou '''serviços do sistema''' <ref name=MORIMOTO/>.
 
A tarefa de '''iniciar ou parar''' os '''serviços do sistema''' é automatizada por um conjunto de '''''scripts''''', localizados na pasta '''/etc/init.d''':
*Para visualizar os serviços no init.d:
cd /etc/init.d
ls
*Para iniciar um serviço usa-se o comando:
sudo service apache2 start
*Para parar um serviço usa-se o comando:
sudo service apache2 stop
 
Cada '''processo''' no Linux é um '''aplicativo''' ou '''serviço''' ativo no sistema.
 
Para listar todos os '''processos ativos''', usa-se o comando:
ps aux


Para saber a '''função de um processo''', pode-se usar o comando:
===Editor nano===
whatis
:Por exemplo, para saber qual o processo cron:
whatis cron
cron (8) - daemon to execute scheduled commands (Vixie Cron)


Para saber se um '''processo está rodando''', como por exemplo o firefox, pode-se usar o comando:
O editor '''nano''' é um editor de textos simples, que pode ser utilizado a partir de um ternimal de comandos.
ps aux | grep firefox
evandro  1886 10.6  3.5 980504 261976 ?      Sl  18:52  3:09 /usr/lib/firefox/firefox


Para '''matar um processo''' deve-se especificar o PID (Identificador do Processo), por exemplo, para matar o firefox:
  nano nome_arquivo
  kill 1886


Caso processo esteja travado, deve utilizar o seguinte parâmetro:
Os comandos para para copiar, recortar, colar, salvar e outros sempre começão com a tecla CTRL, que deve ser mantida pressionada:
kill -9 1886
*CTRL-x - Sai do editor.
*CTRL-k - 'recorta' o texto.
*CTRL-U - 'cola' o texto.
*CTRL S - Salva o arquivo e continua trabalhando.
*CTRL-w - faz uma busca no texto.
*CTRL-a- leva o cursor para o início da linha.
*CTRL-e - leva o cursor para o fim da linha.
*CTRL-g - mostra a ajuda do Nano.


==Referências==
==Referências==

Edição atual tal como às 20h28min de 2 de março de 2018

Comandos Básicos Linux

Origem do Linux
O sistema operacional Linux foi desenvolvido pelo programador finlandês Linus Torvalds insperado no sistema Minix [1]. Este último, por sua vez, é um sistema baseado no Unix, construído para fins didáticos por Andrew S. Tanenbaum, visando explicar o funcionamento e o projeto de um sistema operacional [2].
Linux Ubuntu
O Ubuntu é um sistema operacional de código aberto, baseado no Debian. O Ubuntu lança uma nova versão do sistema a cada seis meses, nos meses de abril (04) e outubro (10). A cada dois anos é lançada uma versão chamada Longo Tempo de Suporte (LTS), na qual o suporte é três anos para desktops. Por exemplo, a versão 16.04 é a última versão LTS lançada. Depois desta, foram lançadas as versões 16.10, 17.04 e 17.10. A próxima versão será a LTS 18.04.

Nos labotórios do Campus Foz do Iguaçu do IFPR o Ubuntu é o sistema operacional escolhido.

Comandos Básicos Linux

O Ubuntu possui uma interface gráfica chamada Gnome. Entretanto, para facilitar a instalação de aplicativos e outras tarefas, muitas vezes é necessário executar comandos de linha em um terminal.

Um terminal é o local onde você digita os comandos para dizer ao computador o que ele deve fazer.

Site para treinar comandos básicos
Terminal Linux.
Sites com comandos básicos para revisar

Comandos Básicos de Arquivos e Diretórios

Um bom usuário Linux deve dominar um conjunto de comandos de linha, pois muitas das ações no sistema serão facilitadas se realizadas via terminal de comandos.

Principais comandos a disposição do usuário para o dia a dia no sistema
cd - muda diretório
pwd - mostra diretório atual
ls - lista conteúdo do diretório atual
ls -l - para ver permissões de acesso
ls -a - para ver arquivos ocultos
cat - lista conteúdo de um arquivo
cp - cópia de arquivos
cp -r - cópia recursiva para diretórios
mv - mover arquivos e diretórios
rm - remover arquivos e diretórios
mkdir - criar diretórios
rmdir - remover diretórios
man - ajuda sobre comandos

Exercícios

  1. Na interface gráfica do Ubuntu, abrir o Gerenciador de Arquivos e navegar pela árvore de diretórios do sistema.
  2. Abra um terminal de comandos e utilize os comandos pwd e cd para navegar pela árvore de diretórios do sistema e o comando ls -l para listar o conteúdo dos diretórios.

Estrutura de arquivos e diretórios do Linux

O diretório raiz (/) do Linux apresenta a seguinte lista de diretórios:

$ ls /
bin    dev   lib     proc  sbin  tmp  
boot   etc   media   root  opt   usr  
cdrom  home  mnt

Descrição e função dos diretórios:

  • /home: Diretório home dos usuários.
  • /root: Diretório home do superusuário.
  • /bin: Arquivos binários executáveis de comandos essenciais, como o cp, mv e grep.
  • /boot: Arquivos relacionados ao boot e ao kernel.
  • /dev: Arquivos associados a ponteiros para dispositivos físicos, como os discos rígidos, placas de som e vídeo etc.
  • /etc: Arquivos de configuração dos sistemas e aplicativos instalados na máquina.
  • /lib: Bibliotecas do sistema.
  • /mnt: Diretório de montagem dos dispositivos de armazenamento .
  • /media: Diretório de montagem dos sistemas de arquivos temporários, como pendriver.
  • /cdrom: Diretório de montagem do CD-ROM.
  • /opt: Arquivos de programas de terceiros, que não acompanham a distribuição.
  • /proc: Diretório de informações de processos e hardware do sistema.
  • /sbin: Arquivos binários executáveis do superusuário.
  • /tmp: Arquivos temporários.
  • /usr: Onde ficam a maioria dos aplicativos instalados no sistema.
  • /var: Arquivos de dados variáveis, como spool de impressão, os arquivos de cache e arquivos de log.

Edição de textos

A edição de pequenos arquivos a partir de um terminal pode ser realizada com o comando

cat > nome_arquivo

após a edição pode utilizar os comandos

CTRL-D para salvar
CTLR-C para sair sem salvar

Para continuar a edição de um documento existente pode-se usar o comando

cat >> nome_arquivo

Editor vi

O vi (Visual Editor) é um dos editores de texto mais usados no mundo Linux/Unix e está disponível em todas as versões e distribuições. Cabe destacar que sistemas embarcados, como num roteador ou equipamento de rede, o editor vi pode ser a única opção disponível.

Uma versão aprimorada deste editor é o vim (VI Improved), no qual é possível abrir múltiplos arquivos, usar seleção visual, mapeamento de teclas, seleção vertical de texto, uso de expressões regulares, sintaxe colorida, repetições entre outras coisas.

Instalação do vim
sudo apt-get install vim

Editor nano

O editor nano é um editor de textos simples, que pode ser utilizado a partir de um ternimal de comandos.

nano nome_arquivo

Os comandos para para copiar, recortar, colar, salvar e outros sempre começão com a tecla CTRL, que deve ser mantida pressionada:

  • CTRL-x - Sai do editor.
  • CTRL-k - 'recorta' o texto.
  • CTRL-U - 'cola' o texto.
  • CTRL S - Salva o arquivo e continua trabalhando.
  • CTRL-w - faz uma busca no texto.
  • CTRL-a- leva o cursor para o início da linha.
  • CTRL-e - leva o cursor para o fim da linha.
  • CTRL-g - mostra a ajuda do Nano.

Referências


--Evandro.cantu (discussão) 09h13min de 23 de fevereiro de 2018 (BRT)