Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fundamentos de Redes Linux Tema 04 – Manipulação de arquivos USO DO TERMINAL - COMANDOS BÁSICOS Prof Sergio Cardoso ssilva@unicarioca.edu.br Objetivos • Conhecer os comandos para manipulação de arquivos. • Entender os mecanismos de segurança de arquivos e diretórios e como manipulá-los. COMANDOS PARA ARQUIVOS E DIRETÓRIOS CD – Mudança de diretório • permite “navegar” entre as pastas do sistema. cd [opções] <caminho> • cd ..➔ para acessar uma pasta de nível acima do atual; • cd /➔ para ir a pasta raiz; • cd➔ para ir a sua pasta pessoal; • cd –➔ para voltar a pasta que se encontrava antes de mudar. Exemplos CD – Mudança de diretório Ls – lista o conteúdo de um diretório • ls – lista os arquivos e pastas em um diretório. – A opção –a mostra arquivos ocultos e a opção –l mostra mais informações (detalhes). – Ex.: “ls” ou “ls –l” ou “ls –a” ou “ls –la” Ls – lista o conteúdo de um diretório Ls – lista o conteúdo de um diretório • ls -lh → Mostra o tamanho dos arquivos de forma “amigável” (human-readable) Ls – lista o conteúdo de um diretório • ls -alh → Mostra o tamanho dos arquivos de forma “amigável” (human- readable) e os arquivos ocultos Atalhos de acesso O símbolo ~ representa a pasta pessoal (home) de um usuário. Exemplos: ~aluno → Equivale ao caminho para a pasta pessoal do usuário ‘aluno’ cd ~aluno • Para acessar a pasta pessoal do usuário ‘aluno’. ls ~aluno/documentos • Listas os arquivos na pasta ‘documentos’, contida na pasta pessoal do aluno. Cat • Exibe o conteúdo de um arquivo na tela do terminal. – Ex.: “cat /etc/resolv.conf” • Ex.: “cat /etc/network/interfaces” head • exibe o conteúdo do início (“cabeça”) de um arquivo na tela do terminal. – -n → exibe as n primeiras linhas – Ex.: “head -3 /etc/hosts” tail • exibe o conteúdo do final (“calda/rabo”) de um arquivo na tela do terminal. • -n → exibe as n últimas linhas • Ex.: “tail -3 /etc/hosts” touch • Cria um arquivo vazio. • Se o arquivo já existe sua hora é atualizada. Inicialmente pasta vazia O arquivo é criado Hora em que foi criado Aguardo um minuto e executo o comando touch novamente Hora atualizada cp • Copia arquivos. – Ex.: “cp /etc/resolv.conf /home/aluno”pasta atual pasta atual está VAZIA pasta atual com o arquivo COPIADO listando o conteúdo da pasta pessoal e exibindo detalhes do arquivo mv • move arquivos. – Ex.: “mv /home/aluno/resolv.conf /tmp/” entrou na pasta /tmp/ pasta /tmp/ está VAZIA listou conteúdo da pasta /tmp/ voltou para pasta pessoal em /home listou conteúdo da pasta pessoal mv • Ex.: “mv /home/aluno/resolv.conf /tmp/” listou conteúdo da pasta pessoal pasta pessoal está VAZIA entrou na pasta /tmp/ listou conteúdo da pasta /tmp/ voltou para pasta pessoal rm • Remover arquivos/pastas (“deletar”). – Ex.: “rm /tmp/musica.mp3” apagando arquivo rm • Opção –rf remove de forma recursiva (- r) e forçada (-f) CUIDADO!!!. • Para discutir: – O que faz o comando ‘rm –rf /‘ ???? mkdir • Cria uma pasta. – Ex.: “mkdir /home/aluno/musicas” criando pasta “d” simboliza que é uma pasta (directory) rmdir • Remove uma pasta, apenas se ela estiver vazia. – Ex.: “rmdir /home/aluno/musicas” removendo a pasta vazia find • find <local> -name <nome> – procura em todos os lugares de <local> as pastas e arquivos que se chamem <nome>. – Permite uso de curingas: * ou ?. • Ex.: “find / -name musica.mp3” • Ex.: “find /home -name *.mp3” grep • Comando faz busca por linhas que contém um certo padrão no conteúdo de um arquivo. grep expressão arquivo • Exemplo: – grep aluno /etc/passwd • mostra as linhas do arquivo /etc/passwd que contêm a string aluno grep grep -v aluno /etc/passwd • mostra as linhas que não contêm a string aluno grep -n aluno /etc/passwd • mostra número das linhas e as linhas que contêm a string aluno grep ^s /etc/passwd • mostra as linhas que iniciam com s grep h$ /etc/passwd • mostra as linhas que terminam com h grep -i aluno /etc/passwd • mostra as linhas que contêm a string flin ignorando a diferença de maiúscula e minúscula Link simbólico ln –s • Cria um link simbólico para arquivo ou pasta. É análogo ao atalho do Windows. ln –s alvo atalho • Exemplo • “ln –s /etc/passwd /tmp/abc” • Foi criada uma entrada em ‘/tmp/abc’ que aponta para o arquivo /etc/shadow. • Se o link for apagado o arquivo para onde apontava é mantido. • O usuário também precisa ter permissão para acessar o arquivo original. • O link e o original não precisam estar na mesma partição. Link simbólico • ln –s→ Exemplo com arquivoO link é criado ls → Tipo ‘l’ (link) Link simbólico • ln –s → Exemplo com pasta O link para a pasta é criado Entrando no link da pasta Como é um link, o conteúdo é o mesmo. hardlink • ln → Cria um hardlink. – Ex: “ln /etc/passwd /tmp/abc” – Menos usado em relação ao link simbólico. – O hardlink aponta para o mesmo bloco em disco (inode) onde está o arquivo de destino. – Não é permitido fazer hardlink de pastas. stat • Exibe mais detalhes sobre um arquivo ou pasta. ▪ Repare nos três horário indicados: ▪ Access → data/hora em que o arquivo foi acessado pela última vez. ▪ Modify → data/hora em que o arquivo (conteúdo) foi modificado pela última vez. ▪ Change → data/hora em que as propriedades do arquivo foram modificadas pela última vez (proprietário, grupo, permissões, etc). PERMISSÕES DE ARQUIVOS Tipos de arquivos • No Linux um arquivo pode ser de texto ou binário: – Texto: • Seu conteúdo é compreendido pelas pessoas. • Um arquivo texto pode ser uma carta, um script, um programa de computador escrito pelo programador, arquivo de configuração, etc. – Binário: • Seu conteúdo somente pode ser entendido por computadores. • Um arquivo binário é gerado através de um arquivo de programa (formato texto) através de um processo chamado de compilação, gerando um “executável”. Exemplo de arquivo texto #/etc/rsyslog.conf Configuration file for rsyslog. #Default logging rules can be found in /etc/rsyslog.d/50-default.conf ################# #### MODULES #### ################# $ModLoad imuxsock # provides support for local system logging $ModLoad imklog # provides kernel logging support (previously done by rklogd) #$ModLoad immark # provides --MARK-- message capability # provides UDP syslog reception #$ModLoad imudp #$UDPServerRun 514 Exemplo de arquivo binário • Se tentar ver o conteúdo de um arquivo binário com o comando cat: Permissões de acesso • As permissões de acesso protegem o sistema de arquivos Linux do acesso indevido de pessoas ou programas não autorizados. – As permissões de acesso permitem controlar o que cada usuário pode fazer em um arquivo (ou diretório) – Evitam que um programa possa realizar alterações indevidas, apague arquivos, etc... Donos, Grupos e outros usuários • O acesso aos arquivos é definido para os donos (u), grupos (g) e outros usuários (o) – Donos • É a pessoa que criou o arquivo ou o diretório. Somente o dono pode modificar as permissões de acesso do arquivo – Grupos • Permite que vários usuários diferentes tenham acesso a um mesmo arquivo – Usuários • É a categoria de usuários que não são donos ou não pertencem ao grupo do arquivo Tipos de Permissões de Acesso r - Permissão de leitura para arquivos. Caso for um diretório, permite listar seu conteúdo (através do comando ls, por exemplo). w - Permissão de gravação para arquivos. Caso for um diretório, permite a gravação de arquivos ou outros diretórios dentro dele. Para que um arquivo/diretório possa ser apagado, é necessário o acesso a gravação. x - Permite executar um arquivo (caso seja um programa executável). Caso seja um diretório, permite que seja acessado através do comando cd. Combinando tudo! -rwxr–xr–x 1 aluno turma 12331 Jul 16 15:34 arquivo.conf Olhando mais de perto... Permissões de arquivos -rwxr–xr–x1 aluno turma 12331 Jul 16 15:34 arquivo.conf - arquivo comum d pasta (directory) l link simbólico Permissões de arquivos -rwxr–xr–x 1 aluno turma 12331 Jul 16 15:34 arquivo.conf rwx r–x r–- PARA ARQUIVOS r – Permissão para ler o conteúdo (READ) w – Permissão para gravar/modificar/apagar (WRITE) x – Permissão para executar o arquivo ou script (EXECUTE) PARA PASTAS r – Permissão para ver o conteúdo da pasta (listar os arquivos) w – Permissão para criar, apagar ou modificar arquivos na pasta e alterar os atributos da pasta. x – Permissão para acessar a pasta e os arquivos nela armazenados. Permissões de arquivos -rwxr–xr–x 1 aluno turma 12331 Jul 16 15:34 script.sh rwx r–x r–- Permissões do PROPRIETÁRIO do arquivo. O usuário ‘aluno’ pode: - Ler o conteúdo do arquivo ( r ) - Modificar e apagar o arquivo ( w ) - Executar o arquivo ( x ) Permissões de arquivos -rwxr–xr–x 1 aluno turma 12331 Jul 16 15:34 script.sh rwx r–x r–- Permissões de GRUPO do arquivo. Os usuários que pertencem ao grupo ‘turma’ podem: - Ler o conteúdo do arquivo ( r ) - Executar o arquivo ( x ) NÃO PODEM: - Modificar e apagar o arquivo ( w ) Permissões de arquivos -rwxr–xr–x 1 aluno turma 12331 Jul 16 15:34 script.sh rwx r–x r–- Permissões outros usuários. Outros? Quem não é o proprietário (aluno) e nem pertence ao grupo ‘turma’. Os outros podem: - Ler o conteúdo do arquivo ( r ) NÃO PODEM: - Modificar e apagar o arquivo ( w ) - Executar o arquivo ( x ) Permissões de arquivos -rwxr–xr–x 1 aluno turma 12331 Jul 16 15:34 arquivo.conf aluno Proprietário (dono) turma grupo tamanho em bytes* * O tamanho é representado em bytes quando não for explicitada a unidade. Permissões de arquivos -rwxr–xr–x 1 aluno turma 12331 Jul 16 15:34 arquivo.conf Data da última modificação ou criação Nome Comandos para permissões de arquivos • Muda a permissão de acesso de uma pasta ou arquivo. chmod [opções] [permissões] [pasta/arquivo] • Muda o grupo de uma pasta ou arquivo. chgrp [opções] [grupo] [pasta/arquivo] • Muda o dono de uma pasta ou arquivo. Opcionalmente pode também ser usado para mudar o grupo. chown [opções] [dono:grupo] [pasta/arquivo] Comandos para permissões de arquivos • OPÇÕES para chmod, chgrp e chown: – [pasta/arquivo] • pasta ou arquivo que terá sua permissão alterada. – [opções] • -v: mostra todos os arquivos ou pastas que estão sendo processados. • -f: não mostra a maior parte das mensagens de erro. • -c: semelhante a opção -v, mas só mostra os arquivos ou pastas que tiveram as permissões alteradas. • -R: muda permissões de acesso da pasta ou arquivo na pasta atual e subpastas. Mudando o proprietário • Exemplo: – Arquivo: ‘/tmp/documento’ 1 - Mudar o proprietário do arquivo para ‘fernando’: Inicialmente o proprietário é ‘aluno’ O proprietário mudou para ‘fernando’ Modificando o grupo • Exemplo: – Arquivo: ‘/tmp/documento’ 2 - Mudar o grupo do arquivo para ‘turma’: Inicialmente o grupo é ‘aluno’ O grupo mudou para ‘turma’ Modificando as permissões • Exemplo: – Arquivo: ‘/tmp/documento’ 3 – Mudar permissões: • Proprietário e grupo podem ler e escrever • Os outros, nada! Comando chmod • O comando anterior foi: chmod 660 documento Nome do arquivo 0 ou ––– (nenhuma permissão) 1 ou ––x (execução) 2 ou –w– (escrita) 3 ou –wx (escrita e execução) 4 ou r–– (leitura) 5 ou r–x (leitura e execução) 6 ou rw– (leitura e escrita) 7 ou rwx (leitura, escrita e execução) 6 → proprietário 6 → grupo 0 → outros Valores para as permissões (octal) • Preciso decorar essa tabela? NÃO! 0 ou ––– (nenhuma permissão) 1 ou ––x (execução) 2 ou –w– (escrita) 3 ou –wx (escrita e execução) 4 ou r–– (leitura) 5 ou r–x (leitura e execução) 6 ou rw– (leitura e escrita) 7 ou rwx (leitura, escrita e execução) Valores para as permissões (octal) • Cada bloco de permissão é composto de 3 campos true/false: – Leitura (r) – Gravação (w) – Execução (x) • Cada um deles tem um valor. r w x 4 2 1 Valores para as permissões (octal) • Como em contagem binária, você soma os valores dos bits que ficaram ligados. • Se os três estiverem ligados = 4 + 2 + 1 = 7 – As três permissões ativas • Se os três estiverem desligados = 0 – Nenhuma das três permissões r w x 4 2 1 Valores para as permissões (octal) • Compare e veja como é simples: r w x 4 2 1 0 ou ––– (nenhuma permissão) 1 ou ––x (execução) 2 ou –w– (escrita) 3 ou –wx (escrita e execução) 4 ou r–– (leitura) 5 ou r–x (leitura e execução) 6 ou rw– (leitura e escrita) 7 ou rwx (leitura, escrita e execução) Valores para as permissões (letras) • Entidades u => usuário g => grupo o => outro a => todos • Permissões r => leitura w => gravação x => execução Operadores + => adicionar permissão - => remover permissão = => definir permissão Valores para as permissões (letras) • chmod g+r * – Permite que todos os usuários que pertençam ao grupo dos arquivos (g) tenham (+) permissões de leitura (r) em todos os arquivos do diretório atual. • chmod o-r teste.txt – Retira (-) a permissão de leitura (r) do arquivo teste.txt para os outros usuários (usuários que não são donos e não pertencem ao grupo do arquivo teste.txt). • chmod uo+x teste.txt – Inclui (+) a permissão de execução do arquivo teste.txt para o dono e outros usuários do arquivo. • chmod a+x teste.txt – Inclui (+) a permissão de execução do arquivo teste.txt para o dono, grupo e outros usuários. • chmod a=rw teste.txt – Define a permissão de todos os usuários exatamente (=) para leitura e gravação do arquivo teste.txt. Permissões de arquivos • Para exercitar: Descrição Representação decimal Representação letras Leitura, escrita e execução para todos os usuários. Leitura e execução para todos os usuários. O dono também pode escrever. Leitura e execução para o Dono e para o Grupo. O dono também pode escrever. Usuários que não são nem o dono nem do grupo não tem nenhuma permissão. Leitura, escrita e execução apenas para o Dono. Todos os outros não tem permissão. Leitura e escrita para todos os usuários. Ninguém tem permissão de execução. Permissões de arquivos • Para exercitar: Descrição Representação decimal Representação letras Leitura e escrita para o Dono e Grupo. E somente leitura para outros usuários. Leitura e escrita para o Dono e o Grupo. Nenhum outro usuário tem permissão. Leitura e escrita para o Dono. Somente leitura para todos os outros. Leitura e escrita para o Dono, e somente leitura para o Grupo. Demais sem permissão. Leitura e escrita só para o Dono. Somente leitura para o Dono. Permissões de arquivos • Respostas: Permissões de arquivos • Respostas: COMANDOS PARA EMPACOTAMENTO Arquivamento e compactação – tar→ Arquiva arquivos, ou estrutura completa de pastas, em um arquivo único. • É semelhante ao ZIP, porém o ‘tar’ puramente não faz a compactação dos arquivos. tar – Arquiva arquivos, ou estrutura completa de pastas, em um arquivo único. Arquivo.tar → sem compactação. Terá o mesmo tamanho dos arquivos contidos. Para criar o .Tar • tar cvf <saída> <entrada>...<entrada> • O v é opcional. Mostra a lista de arquivos processados. • <saída> → Nome do arquivo de saída. Recomenda-se terminar com .tar para que o nome indique o tipo do arquivo, mas não é obrigatório. • <entrada> → Nome de um ou mais arquivos/pastas a serem incluídos. Se for uma pasta, toda a estrutura (incluindo arquivos) fará parte do .tar . Para criar o .Tar Arquivamento e compactação – Após o arquivamento, o tar pode se utilizar de algum processo de compactação para reduzir o tamanho final do arquivo. Ex: gzip, bzip... arquivado.tar arquivado.tar.gz Para criar o .tar COMPACTADO • tar cvfz <saída> <entrada>...<entrada> Criado no exemplo anterior Criado nesse exemplo Tar com várias entradas • Ex.: “tar cfz arquivo.tar.gz /etc /home” • O arquivo de saída terá o conteúdodas pastas: – /etc – /home • Incluindo a estrutura completa de pastas. Para extrair o .tar • A extração é feita na pasta corrente (atual) do usuário (pwd). Raíz Pasta corrente Para extrair o .tar • A extração é feita na pasta corrente (atual) do usuário (pwd). Raíz Para extrair o .tar – Ex: “tar xfz backup2_etc.tar.gz” Mais sobre o tar • O tar possui uma infinidade de opções e recursos muito úteis, que não foram apresentados aqui. Quer saber mais? # man tar gzip • gzip <arquivo> → Comprime arquivos, reduzindo seu tamanho. – Ex.: “gzip documento.txt” – Ao término: • O arquivo compactado será documento.txt.gz. • O arquivo original é substituído. – Não faz um ‘pacotão’ de arquivos e pastas. Para isso, use em conjunto com o ‘tar’. – Se forem informados vários arquivos, cada um será compactado independentemente. gzip • gzip <arquivo>→ Comprime arquivos, reduzindo seu tamanho. – Ex.: “gzip documento.txt” Arquivo original Arquivo compactado Repare que o arquivo original foi substituído pela versão comprimida.
Compartilhar