Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linux: Comandos Básicos (Parte 2) Disciplina: Laboratório de Sistemas Abertos Prof.ª Daniella Dias daniella.silva@ifpb.edu.br Prof. Anderson Costa anderson@ifpb.edu.br 2 Permissões Todo arquivo em um sistema do Linux tem permissões de acesso. Isso permite ou impede os usuários de vê- lo, modificá-lo ou executá-lo. O super usuário "root" tem a habilidade de acessar qualquer arquivo no sistema. Cada arquivo contém restrições de acesso, restrições de usuário e tem uma associação de dono/grupo. 3 Permissões Todo arquivo é protegido pelos seguintes grupos de permissão, em ordem de importância: usuário – aplica-se para o usuário que é o dono do arquivo. grupo – aplica-se ao grupo que está associado ao arquivo. outros – aplica-se a todos os outros usuários. 4 Permissões Estas permissões se comportam de maneiras distintas para arquivos e diretórios: leitura arquivos podem ser exibidos/abertos conteúdo de diretórios podem ser exibidos escrita arquivos podem ser editados ou apagados conteúdo de diretórios podem ser modificados execução arquivos executáveis podem ser executados como um programa diretórios podem ser acessados 5 Permissões As permissões de acesso podem ser vistas através do comando “ls –l” Tipo do arquivo e permissões Número de ligações diretas (hard links) Dono Grupo Tamanho Data e hora da última modificação Nome do arquivo ou diretório Diretório 6 Permissões “d” – diretório “-” – arquivo “l” – link dono grupo outros r – permissão de leitura w – permissão de escrita x – permissão de execução “” – ausência da permissão Importante! As permissões dos arquivos dependem das permissões do diretório. Por exemplo, mesmo que um arquivo tenha permissões “-rwxrwxrwx”, outros usuários só poderão acessá-lo se tiverem permissão de busca (x) neste diretório. 7 Alterando permissões Comando chmod (Change Mode) chmod {a,u,g,o}{+,-,=}{r,w,x} <nome do arq ou diretório> a – all; u – user; g – group; o – other Exemplos: chmod a+r carta chmod +r carta chmod o=rx carta chmod u+rwx carta 8 Metacaracteres Permitem a expansão de nomes de arquivos e diretórios. * – refere-se a um conjunto qualquer de caracteres. ? – expande somente um caracter. Exemplos: ls *o ls o* ls cart* ls cart? ls ?ar* 9 Entradas e saídas A entrada de um programa consiste nos dados que lhe são passados inicialmente e necessários para execução do mesmo. Pode vir do teclado (padrão) ou de um arquivo, por exemplo. A saída é constituída pelas informações geradas pelo programa, ou seja, resultado de sua execução. Pode ser mostrada na tela (padrão) ou em um arquivo de registro. 10 Entrada e Saída Comando cat cat entrada cat Comando sort (lê dados da entrada padrão e os ordena) sort entrada sort 11 Redirecionando saídas > (redirecionamento destrutivo) >> (redirecionamento não-destrutivo) Exemplos: cat > saida sort > saida_sort cat >> saida sort >> saida_sort sort saida > nova_saida 12 Redirecionando entrada | (pipe) Exemplos: ls -r | sort cat saida | sort > saida_sort 13 find Procura um arquivo dentro de uma hierarquia de diretórios, imprimindo o caminho a partir do diretório atual. find <caminho> -name <nome do arquivo> Se não for especificado o caminho, a busca será realizada no diretório atual. No caso do uso de metacarcteres, o nome do arquivo deve ficar entre aspas. 14 locate Procura em seu banco de dados todos os diretórios e/ou arquivos que contenham a expressão fornecida. locate <expressão> Enquanto o banco de dados utilizado pelo comando não estiver totalmente atualizado, arquivos recentes podem não ser encontrados. Exemplo: locate “*.c” 15 grep Filtra um determinado texto da entrada, enviando para a saída apenas as linhas que contenha a sequencia de caracteres. grep [opções] <string> <arquivo> 16 diff Compara dois arquivos byte a byte diff <arq1> <arq2> [opções] Opções: -a: trata os arquivos como arquivos texto, comparando linha a linha. -B: ignora mudanças que sejam apenas inclusão de espaço em branco. Exemplo: 17 diff -u [arq1] [arq2] /* * hello.c */ main() { printf("hello!\n"); } /* * hello.c */ #include <stdlib.h> int main(int argc, char *argv[]) { printf("hello!\n"); return 0; } --- hello.c 2003-11-24 19:10:16.000000000 -0200 +++ hello-novo.c 2003-11-24 19:48:32.000000000 -0200 @@ -2,7 +2,10 @@ * hello.c */ -main() +#include <stdlib.h> + +int main(int argc, char *argv[]) { printf("hello!\n"); + return 0; } 18 diff -u [arq1] [arq2] Exercícios: 1. Crie um arquivo qualquer. 2. Faça uma cópia do mesmo com outro nome. 3. Modifique o arquivo copiado. 4. Execute o comando diff -u com esses arquivos. 5. Verifique o resultado. 19 ps Fornece informações sobre os processos que estão executados na máquina. ps [opções] 20 ps ps –au - Exercício 1. Abra outro terminal. • Execute o comando sudo su para mudar seu usuário para root. • Abra o editor de textos nano e deixe-o aberto. • No terminal anterior execute novamente o comando ps –au 22 kill É utilizado para mandar um sinal a um determinado processo, normalmente terminando-o. kill [-<numero do sinal>] <PID> Kill - Exercício 1. Execute o comando ps au. 2. Execute o comando cat > casa e digite algo. 3. Mantenha o comando executando e abra outro terminal. 4. Execute novamente o comando ps au. 5. Verifique o número do processo do comando cat e execute kill -9 [processo]. 6. Observe o terminal que estava executando o cat. 7. Verifique se o arquivo casa foi gerado, se sim, verifique seu conteúdo. 24 tar Guarda uma série de arquivos dentro de apenas um arquivo. tar [opções] <lista de arquivos> 25 tar – Exercício 1. Crie um arquivo (.tar) contendo todos os arquivos de seu diretório. 2. Repita o procedimento anterior no modo verboso. 3. Verifique o tamanho do arquivo gerado. 4. Repita incluindo a opção z. 5. Verifique o novo tamanho. 6. Crie um diretório e copie o arquivo gerado para o mesmo. 7. Descompacte o arquivo (opção -xf) 26 gzip No geral, remove o(s) arquivo(s) de entrada e escreve um arquivo de saída compactado com o mesmo nome, acrescentado da extensão .gz. gzip [opções] <nome do arquivo> 27 gzip - Exercício 1. Compacte o arquivo criado anteriormente (comando tar). 2. Use a opção -l 3. Descompacte o arquivo. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27
Compartilhar