Upload
heloisa-rico-lagos
View
242
Download
4
Embed Size (px)
Citation preview
Introdução ao Linux(Comandos básicos)
Agosto/2013
Introdução
Foi desenvolvido por Linus Torvalds, com o propósito de ser uma alternativa barata e funcional. O Linux está dividido em diversas distribuições, para serem baixadas e instaladas em sua máquina.
Caracteristicas
- Multitarefa- Multiusuário- Suporte a nomes extensos (255
caracteres)- Sistema operacional de código aberto- Licenças para utilização- Implementação de servidores com um
baixo custo e alta performance
Contas
• Conta é a maneira pela qual o usuário se identifica no sistema operacional
O sistema de contas e usuários já vem junto com o Linux desde a sua concepção, uma vez que trata-se de um sistema voltado para ambientes em rede. Além do fator segurança, que garante que cada usuário faça somente aquilo que tem permissão de fazer (e não danifique o sistema), tem-se o fator de identificação que garante que só o usuário poderá alterar seus documentos/arquivos.
Iniciando uma seção Linux
• Nome de usuário e senha são criadas pelo administrador do sistema.
Login: seu_login Senha: sua_senha
Seção Linux: Iniciando e Finalizando
• Abrir terminal Clique em: Aplicativos -> Acessórios -> Terminal
• Para sair:Usa -se o comando “exit”
Armazenamento da informação
• Os arquivos e diretórios se organizam com uma estrutura hierárquica, em forma de árvore
Caracteres coringas
Para nos referirmos a múltiplos arquivos de nomes similares usamos os caracteres coringas:
• “?” substitue qualquer caracterExemplo: ls te??e.txt
• “*”substitue uma sequência de caracteresExemplo: ls *.txt
Permissões de Acesso
Quando um usuário lista as informações detalhadas de um arquivo (ls -ltr) ou diretório, a informação retornada inclui as permissões de acesso: -rwxrwxrwx
Ex: drwxrw-r-- 2 curso curso 4096 Jan 29 10:30 Arquivos-rwxrw-r-- 1 curso curso 4096 Dec 16 10:41 notas.txt
- ou d - Indica se o objeto listado é um arquivo(-) ou diretório(d)rwx - Permissões do usuáriorw- - Permissões do grupor-- - Permissões de outros
Permissões de Acesso
Cada modo de acesso tem um valor numérico associado a ele conforme a tabela :
Octal Escrita Dono Grupo Outros 777 rwxrwxrwx rwx rwx rwx 755 rwxr-xr-x rwx r-x r-x
700 rwx------ rwx --- --- 666 rw-rw-rw- rw- rw- rw-
Modo Valor Descrição
- 0 Nenhuma permissão
x 1 Execução
w 2 Gravação
wx 3 Gravação e Execução
r 4 Leitura
rx 5 Leitura e Execução
rw 6 Leitura e Gravação
rwx 7 Leitura,Gravação e Execução
Principais Comandos do Sistema Operacional
• alias Permite criar um atalho ou um apelido a um comando que você usa constantementeEx: alias home=/home2/doc/figuras
• at Agenda um comando, um script ou um programa a ser executado em data e hora específica. Também é possível usar este comando para exibir as tarefas agendadas existentes. Ex: echo ls /var/log | at 10am todayEx: at -f commands.txt +3 minutes Todas as tarefas agendadas são armazenadas em arquivos dentro do diretório /var/spool/cron/atjobs. Para ver as tarefas, digite:=> atqPara remover uma tarefa, use comando "atrm" seguido do número da tarefa obtida pelo atq.
Principais Comandos do Sistema Operacional
• apropos wordPesquisa nas páginas de manuais exitentes no sistema, e lista os comandos/programas que atendem a consulta.Ex: apropos alias
• basename pathname/file Remove os diretórios, mostrando somente o nome do arquivo. Outra aplicação interessante é o uso deste comando para remoção da extensão.Ex: basename /home2/doc/teste.txtEx: basename /home2/doc/teste.txt .txt
Principais Comandos do Sistema Operacional
• cd <pathname> Muda o diretório de trabalhoEx: cd curso/linuxEx: cd ../..
• chmod <nU><nG><nO> <file>
Muda a permissão de um arquivo ou diretório nU=usuario nG=grupo nO=outros
Ex: chmod 777 teste.txt
nU nG nO• clear
Limpa a telaEx: clear
Principais Comandos do Sistema Operacional
• cp <file1 file2> Copia arquivos ou diretórios Ex: cp teste.txt teste2.txt Ex: cp -R dir1 dir2 (-R opção para copiar diretórios)Ex: cp ../twin.doc .
c• cmp <file1 file2>
Compara dois arquivos Ex: cmp fort.20 fort.100
fort.20 e fort.10 são diferentes: byte 4, linha 1
Principais Comandos do Sistema Operacional
• cat [opções] [files] e – imprimi $ no final de cada linha
Lê um ou mais arquivos e imprime -os com uma saída padrão.Ex: cat ch1
Podemos usar:• O operador > para combinar muitos arquivos dentro de um novo arquivo ;
Ex: cat ch1 ch2 ch3 > all.txt
• O operador >> para anexar um arquivo em outro arquivo diferente; Ex: cat ch1 > > ch10.txt
Principais Comandos do Sistema Operacional
• crontab [opções] -e: edita o crontab ou cria um caso ainda não exista; -l: mostra o conteúdo do crontab; -r: remove o crontab; -v: mostra quando foi a última vez que o crontab foi editado (disponível
em apenas alguns sistemas). Executa tarefas específicas em horários específicos: m h mês dia_semana e o programa
Ex:00 3,4,5 * * * root /usr/local/sbin/backup.sh Ex:40 16 1 6-8 * /home/doc/script.sh
Principais Comandos do Sistema Operacional
• cut [opções] [files] -cn imprime uma lista com o caractere número -d usa com o parametro -f especificando o campo delimitador -fn imiprimi a coluna número Seleciona uma lista de colunas ou campos para um ou mais arquivos
Ex: cut -d “:” f 1,5 /etc/passwd Ex: cut -c4 file.txt
• cp <file1 file2> Copia arquivos ou diretórios Ex: cp teste.txt teste2.txt Ex: cp -R dir1 dir2 (-R opção para copiar diretórios)Ex: cp ../twin.doc .
Principais Comandos do Sistema Operacional
• date Mostra a data e hora corrente Ex: date
• df Mostra informações de espaço em discoEx: df -k .
• du Mostra o espaço ocupado por um arquivo ou diretórioEx: du -ks Ex: du -sh
Principais Comandos do Sistema Operacional
• diff <file1> <file2> sdiff
Faz uma comparação entre dois arquivosEx: diff teste.txt twin.doc
• dirname pathname
Útil para extrair o nome real caminho Ex:diretório/texte.txt
• echo <message>Exibe uma mensagem na tela Ex: echo Curso de Linux
Principais Comandos do Sistema Operacional
• file files Mostra o tipo do arquivo Ex: file ascii • find <pathname> -name <file> -print
Mostra a localização de um arquivoEx: find /home/curso/linux -name “teste.txt” -printEx: find . -name “teste.txt” -print
• finger [options] usersMostra informações sobre um ou mais usuários Ex: finger -s meta
Principais Comandos do Sistema Operacional
• grep [opções] <file> -i faz pesquisa sem diferenciar maiúscula de minúscula.-n mostra a linha que o texto esta no arquivo
Procura textos e expressões dentro do arquivoEx: grep Linux teste.txt
• head [-n] files
Imprimi as primeiras linhas de um ou mais arquivos. * -n : numero de linhas que quer imprimir.Ex: head -20 teste.txt Ex: grep '(15)' teste.txt | head
Principais Comandos do Sistema Operacional
• historyLista alguns dos últimos comandos que você digitouEx: history
1064 cd dbs 1065 export CDPATH=/opt/oracle/product/11gR2/db1 1066 cd dbs 1067 pwd Tem a capacidade de reexecutar um comando sem digitá-lo novamente. • ! seguido pelo evento ou número do comando que precede o
respectivo nome no histórico. # !1066 cd dbs
• !! (dois pontos de exclamação) executa novamente o último comando aplicado.
Principais Comandos do Sistema Operacional
• historyLista alguns dos últimos comandos que você digitouEx: history
1064 cd dbs 1065 export CDPATH=/opt/oracle/product/11gR2/db1 1066 cd dbs 1067 pwd Tem a capacidade de reexecutar um comando sem digitá-lo novamente. • ! seguido pelo evento ou número do comando que precede o
respectivo nome no histórico. # !1066 cd dbs
• !! (dois pontos de exclamação) executa novamente o último comando aplicado.
Principais Comandos do Sistema Operacional
• gzip <file> Compacta ou descompacta arquivosEx: gzip texto (compacta)Ex: gzip -d texto.gz (descompacta)
• ls [opções] Lista o conteúdo do diretório corrente Ex: ls -lEx: ls –ltr
• kill [opções] Ids Termina um processo específico e também reinicia um processo
Ex: kill -9 122 Ex: kill -HUP 123
Principais Comandos do Sistema Operacional
• killall name Termina um processo
Ex: killall nome_do_processo
• less [opções] [file]Faz a paginação de arquivos ou da entrada padrão.Ex: less teste
Para ver o manual on-line sobre o comando ls , numerando as suas linhas e mostrando a partir da linha 20, basta digitar: man ls | less -N +20
Principais Comandos do Sistema Operacional
• ln [opções] file1 file2 -n não sobrescreve arquivos existentes -f força a criação de um link mesmo que este já exista -s cria um link simbolico
Cria um pseudonome (link) entre arquivosEx: ln –fn name_origem name_destino
• man <comando> Mostra na tela explicações sobre o comandoEx: man findEx: man ls
Principais Comandos do Sistema Operacional
• mkdir <diretório> Cria um diretórioEx: mkdir hoje
• more <file> Mostra o conteúdo do arquivo Ex: more teste.txt
• mv <file1> < file2 > Move o arquivo1 para o arquivo2 e também move arquivos para outros diretóriosEx: mv teste.txt teste4.txtEx: mv teste4.txt dir1 Ex: mv dir1 dir3
Principais Comandos do Sistema Operacional
• nohup comando & Continua executando o comando, em segundo plano
Ex: nohup comando_demorado &• ping [site/IP]
Executa um teste de conexão para se descobrir se um determinado equipamento de rede está funcionando Ex: ping www.google.com.br
Ex: ping -c 5 www.google.com.br
• ps [opções] -e lista todos os processos -f mostra uma lista completa
Mostra os processos ativos Ex: ps -ef Ex: ps -aux
Principais Comandos do Sistema Operacional
• ps [opções] -e lista todos os processos -f mostra uma lista completa
Mostra os processos ativos Ex: ps -ef Ex: ps -aux
• pwd Mostra o diretório correnteEx: pwd
• rm <file> Remove arquivos Ex: rm teste2.txt
• rmdir <diretório > Remove diretórios (este diretório deve estar sem arquivos)Ex: rmdir dir2 hoje
Principais Comandos do Sistema Operacional
• rmdir <diretório > Remove diretórios (este diretório deve estar sem arquivos)Ex: rmdir dir2 hoje
• sleep segundosEspera determinados segundos antes de executar outro comando.Ex: sleep 30
• sort [opções] [files] -b organiza em ordem numérica
-f ignora a diferença entre maiúsculas e minúsculas-r organiza em ordem decrescente
Organiza as linhas de um arquivo texto ou da entrada padrão Ex: sort twin.doc
Principais Comandos do Sistema Operacional
• tail [opções] [file]-n[N] mostra a N ultimas linhas-c mostra os ultimos caracteres
Mostra as últimas 10 linhas(padrão) do arquivo Ex: tail -n 2 tail1.txt ou tail -2 tail1.txt Ex: tail -c 10 tail1.txt
• time [comando] Mostra o resultado do comando e o tempo que levou para ser executado. Ex: time ls -ltr
Principais Comandos do Sistema Operacional
• touch [opções] [date] files-t datahora:muda a hora e a data para o datahora definidos.
É usado para criar arquivos. Além disso ele ainda pode mudar a data e a hora de acesso e ou modificação de arquivos.
Ex: touch file1.txt Ex: touch -t 201308181033.10 testando.txt • unlimit [opções]
Permite controlar os recursos disponibilizados para o shell e pelos processos inicializados por ele.
Ex: ulimit -aEx: ulimit -f 300
ulimit -f 300
Principais Comandos do Sistema Operacional
• tar -<cvf , xvf > <filename.tar> <files>tar -cvf (empacota arquivos)tar -xvf (faz a extração de arquivos empacotados)Ex: tar -cvf todos.tar *Ex: tar -xvf todos.tar
• wc <file> Conta as linhas,palavras ou caracteres de um arquivoEx: wc -l twin.doc (linhas)Ex: wc -w twin.doc (palavras)Ex: wc -c twin.doc (caracteres)
• which <name> Mostra o caminho completo para os executáveis Ex: which grads
Principais Comandos do Sistema Operacional
• whoamiMostra o nome do usuário logado
Ex: whoami
• wget [opções] site/arquivo -r: baixa site de forma recursiva -F: força o arquivo de entrada a ser tratado como um
arquivo HTML -c: continua o download de onde ele parou
Baixa páginas web e arquivos da mesma
Ex: wget –r www.ositequesequerbaixar.dominio Ex: wget www.origem.dominio/arquivos
Comando sed – filtra e transforma conteúdo
Sintaxe: sed <comando/expressão> <arquivo>
O comando sed é um poderoso processador de texto que dentre muitas de suas ações, pode substituir ocorrências de texto por outros textos.
Por exemplo:=> more texto.txt
Eu gosto de ler. Sem ler eu não seria nada, ficaria completamente triste, deprimida. Também acredito que todo ser humano precisa ler.
Comando sed – filtra e transforma conteúdo
Agora vamos substituir a palavra ler por Linux:
sed "s/ler/Linux/g" texto.txt
Eu gosto de Linux. Sem Linux eu não seria nada, ficaria completamente triste, deprimida. Também acredito que todo ser humano precisa de Linux.
No exemplo acima:•(s) procura as ocorrências de ler e transformá-las para Linux.•(g) substitui todas as ocorrências da linha.
Comando sed – filtra e transforma conteúdo
Você também pode preferir substituir o texto e alterar o arquivo diretamente (ao invés de aparecer apenas na tela). Para fazer isso, use o parâmetro -i:$ sed -i "s/ler/Linux/g" texto.txt
Cuidado: O -i vai sobrescrever o arquivo original e você não poderá usar o Ctrl+Z.
Comando sed – filtra e transforma conteúdo
Mas combinando o -i com uma extensão, ele cria um backup pra você antes de substituir:
sed -i.backup "s/ler/Linux/g" texto.txt
•Cria o arquivo texto.backup com o texto original, e o arquivo texto.txt estará modificado.
•Inseri 5 espaços no incio de cada linhacat arquivo.txt | sed 's/^/ /'
Comando sed – filtra e transforma conteúdo
• Inclui texto no início da linha Ncat arquivo.txt | sed '10s/^/textoinserido/'
• Deleta a linha Nsed '2d‘
• Imprimi somente entre as linha N e Mcat arquivo.txt | sed '2,5!d'
• Edita linha específica do texto.sed -i '3s/^/vento/' /home/arquivo.txt
Comando awk
• É possível gerenciar tarefas simples de "reformatar dados" com apenas algumas linhas de código.
• Função básica do: awk é procurar por linhas (ou outras unidades de texto) em arquivos que possuem certos padrões
especificados no programa.
• Algumas opções do comando: -f : especifica o nome do arquivo que possui o conjunto de
padrões a ser usado. -F : define quem é o separador de campos (o padrão é o
espaço).
;
Comando awk
Exemplos:Vamos tomar como base o arquivo teste.txt, que tem o seguinte conteúdo:
Comando awk
Mostrar na tela a primeira coluna do arquivo teste.txt:cat teste.txt | awk '{print $1}'52102202
Ou seja, print $1 -> Exibe a primeira coluna; print $2 -> Exibe a segunda coluna e assim por diante; print $NF ->Exibe a última coluna.
Comando awk
Suponha que eu necessite vasculhar esse arquivo texte.txt e mostrar as quatro primeiras palavras . Vou usar o comando cat para mostrar que o awk pode ser combinado com os comandos do shell:
$ cat teste.txt | awk -F ":" '{print substr($3,1,4)}'COLOCALIPERU
Comando awk
{print substr($2,1,4)}' -> Exibe a segunda coluna do primeiro ao quarto caractere.
Após mostrar esse resultado, filtrar um campo específico, por exemplo “Cali":
$ cat texte.txt | awk -F ":" '{print substr($3,1,4)}' | grep Cali
Comando awk
Obs.: Neste último exemplo temos uma condição que deve ser atendida, se verdadeira, exibe o resultado
encontrado.
Filtrar para descobrir todos os campos de 183202 até 183206 cat texte.txt | awk '{if (($1) >= "183202" && ($1) <= "183206") print}‘
183202183203183204183205183206
Caracteres Especiais
• > Redireciona a saída do comando especificadoEx: ls -la * > lista.txt
• <Redireciona a entrada para o comando especificado
Ex: mail < conteudodoemail
• >>Redireciona a saida do comando para o fim do arquivoEx: ls -la dir3 >> lista.doc
Caracteres Especiais
• $variável Fornece o conteúdo da variável de ambienteEx: $PATH
• &Faz com que um processo seja executado em backgroundEx: nedit teste.txt &
• \Anula a função do metacaracterEx: nedit \&
• |Utiliza a saída do comando1 como entrada do comando2Ex: ls -la * | wc -l
Combinações de Teclas
• Ctrl + a Move o cursor para o início da linha de comandos
• Ctrl + eMove o cursor para o final da linha de comandos
• Ctrl + cSuspende a execução de um comando
• Ctrl + dLogout de uma sessão do shell
• Ctrl + zSuspende um programa
Edição de textos
Existe uma grande variedade de editores de texto no Linux, os mais usados são:
•nedit <filename>
•gedit <filename>
•kedit <filename>
•vi
Transferência de arquivos via SFTP
• SFTP significa Security File Transfer Protocol, é uma forma bastante rápida e versátil de transferir arquivos de maneira segura.
• sftp <user@machine> Ex: sftp gracielle@tupa
Principais Comandos SFTP
• get <file> Baixa os arquivos do servidorEx: get teste.txt
• put <file> Envia arquivos para o servidorEx: put teste.txt
• lcd <diretório> Acessa o diretório local
Ex: lcd /home/curso
Principais Comandos SFTP
• cd <diretório> Acessa o diretório remotoEx: cd /temp/prev
• ls Lista os arquivos e diretorios dentro do servidorEx: ls
• lls Lista os arquivos e diretorios locaisEx: lls
Principais Comandos SFTP
• mget <files> Baixa múltiplos arquivos do servidorEx: mget *.txt
• mput <files> Envia múltiplos arquivos para o servidorEx: mput *.txt
• rm <file> Apaga arquivos do servidor
Ex: rm teste.txt
Principais Comandos SFTP
• lrm <file> Apaga arquivos localmenteEx: lrm teste.txt
• pwdExibe o diretório corrente do servidorEx: pwd
• lpwdExibe o diretório corrente local
Ex: lpwd
Principais Comandos SFTP
• mkdir <diretório> Cria um diretório no servidorEx: mkdir curso2
• lmkdir <diretório> Cria um diretório localmenteEx: lmkdir curso2
• quit Finaliza a conexão sftp
Ex: quit
Interpretador de comandos
O Interpretador de Comandos(“Shell”) é responsável pela decodificação e execução de comandos inseridos pelo teclado do usuário
Para conferir qual o interpretador padrão de seus comandos, em seu terminal digite:
echo $SHELL
O interpretador de comandos faz distinção entre letras maiúsculas e minúsculas
Ex: (user User)
Scripts em Shell
Um Shell Script é um arquivo de texto simples composto por diversas linhas de comandos. Para se executar um script basta entrar com o nome dele no prompt.
Principais tipos de shell:
Bourn Shell - é o shell padrão para Unix, ou seja, a matriz dos outros shells, portanto é um dos mais utilizados. É representado por "sh".
Korn Shell - este shell é o Bourne Shell evoluído, com a vantagem de ter mais opções. É representado por "ksh".
C Shell - possui uma sintaxe muito parecida com a linguagem C. Este tipo de shell já se distancia mais do Bourne Shell, portanto quem programa em cshell terá problemas quanto a portabilidade em outros tipos. É representado por "csh".
Exemplos de script
Exemplos de script (contador)
Exemplos de script
• if then fiif [[ $value -eq 10 ]];then print "$value is 10"fiou:if [[ $value -eq 10 ]]then print "$value is 10"fi
Exemplos de script
if [[ $value -eq 10 ]];then print "$value is 10";fi
•if then else fi
if [[ $name = "John" ]];then print "Your welcome, ${name}."else print "Good bye, ${name}!"fi
Exemplos de script
• if then elif then else fi
if [[ $name = "John" ]];then print "Your welcome, ${name}."elif [[ $name = "Hanna" ]];then print "Hello, ${name}, who are you?"else print "Good bye, ${name}!"fi
Executando Scripts
Para executar um script basta digitar o nome do mesmo no prompt de comando
cd scripts
exemplo.sh exemplo2.ksh
exemplo3.csh
Lista de Exercícios
1 - Crie um diretório chamado exercicios.2 - Entre no diretório exercicios e crie os diretorios exe1, exe2, exe3.3 - Liste os diretórios.4 - Dentro do diretório exe1, crie um script chamado documento.csh com o com o conteúdo:
#! /bin/csh echo “Script do exercicio: Listando diretórios”
ls -la ../../* > teste.txtexit
5 - Exiba o conteúdo do script documento.csh.
Lista de Exercícios
6 - Configure a permissão do script documento.csh dando permissões de leitura,escrita e execução para o usuário e somente de leitura para grupo e outros.
7 - Execute o script documento.csh.8 - Mova o script documento.csh para o diretório anterior.9 - Remova o diretório exe1.10 - Procure no script documento.csh pela ocorrência da
expressão exercicio.11 - Copie documento.csh para documento2.csh.12 - Limpe a tela, exiba o tamanho em KB ocupado pelo
diretório e o total de espaço disponível no disco.
Lista de Exercícios
13- Faça um script que imprima quantos processos estão atualmente em execução na sua máqina.
14- 15- Crie um script que mostre o espaço utilizado pelos
arquivos dentro do seu diretório da sua conta no sistema, colocando em ordem numérica o resultado. Use os comandos du e sort.