Hoje não teve apresentação porque a pessoa que iria apresentar não foi :-/
Vamos logo para aula de hoje que está disponível aqui.
Links
Symbolic links
É um arquivo especial no disco (do tipo link) que tem como conteúdo o caminho para chegar até o arquivo alvo.
Quando você cria um link simbólico, você está criando link de um novo arquivo para um arquivo já existente. É apenas um arquivo novo, cujo conteúdo referencia outro arquivo. Para verificar que trata-se de uma referência de conteúdo e não um "link" para um arquivo, crie um arquivo temporário, em seguida crie um link simbólico para o mesmo utilizando o comando ln -s < nome_do_arquivo > < nome_do_link_simbólico > e com o comando ls -li verifique os inodes (1ª coluna). Note que os inodes são diferentes, logo são arquivos diferentes..
Características:
* Podem ser criados links simbólicos para arquivos e diretórios.
* O link simbólico e o arquivo alvo não precisam estar no mesmo sistema de arquivos.
* Se o link simbólico for apagado/movido, somente o link será apagado/movido, ou seja, a exclusão de um link simbólico não exclui o diretório ou arquivo original.
* A exclusão do arquivo ou diretório original não remove automaticamente nenhum link simbólico. Neste caso o link fica "quebrado", ou seja, não aponta para lugar algum.
* Ao mover-se o arquivo original, o link simbólico também fica "quebrado".
* Quando a referência do link simbólico for relativa, ao mover-se o link para outro lugar, perde-se a referência do conteúdo.
Caminho absoluto: é o caminho completo de um arquivo (diretório, arquivo regular, etc) desde o ponto de origem do sistema, isto é, o diretório raiz "/".
Caminho relativo: é o caminho que deve ser seguido na árvore de sistemas de arquivos em relação a um ponto referencial inicial.
* É identificado pela letra "l" e a sua configuração de permissões de acesso não é utilizada (aparecem sempre como "lrwxrwxrwx"). São as permissões do arquivo referenciado pelo link que na verdade realizam o controle de acesso.
* O comando chmod não muda as permissões de links simbólicos, as permissões devem ser mudadas no arquivo alvo do link.
Utilização dos links simbólicos
1) Os links simbólicos são utilizados nos scripts de inicialização do Linux, localizados em /etc/rcx.d (0 <= x <= 6). Os arquivos contidos neste diretório são na verdade links simbólicos para os arquivos verdadeiros em /etc/init.d. Dessa forma, se for necessário fazer alguma alteração nesses scripts, elas são feitas apenas nos arquivos em init.d e as mudanças terão efeito em todos os links em rcx.d. Ou seja, uma alteração apenas tem efeito em diversos locais, economizando tempo e evitando inconsistências.
Observação: <= significa menor ou igual
2) No Debian Releases, os nomes "testing" e "stable" são na verdade links simbólicos para os codinomes das versões atualmente em uso. Por exemplo, caso você deseje estar sempre atualizado, mas é uma pessoa cuidadosa e deseja ter sempre a última distribuição estável do Debian, modifique o arquivo /etc/apt/sources.list e coloque stable como versão. Assim que a nova versão for lançada, os links serão alterados passando a apontar para a nova versão e você terá seu sistema atualizado.
Hard links
É uma entrada de diretório que aponta para o inode do arquivo alvo, sendo assim, os dois arquivos serão os mesmos.
Características:
* Não é possível criar um hard link para um diretório. A exceção fica por conta das entradas de diretório especiais em um diretório para o próprio diretório e seu pai (. e ..), que tem hard links que mantém a contagem do número de subdiretórios.
* O hard link e o arquivo alvo precisam estar no mesmo sistema de arquivos, pois os hard links apontam para um inode, e os inodes são exclusivos apenas em um determinado sistema de arquivos.
* Se um arquivo tiver vários hard links, o arquivo será excluído apenas quando o último link que aponta para o inode for excluído, e a contagem de links for zerada.
Se o link simbólico for apagado/movido, somente o link será apagado/movido, ou seja, a exclusão de um link simbólico não exclui o diretório ou arquivo original.
* Hard links não ocupam espaço no sistema de arquivos.
Utilização dos hard links
1) Hard links podem ser úteis quando se deseja ter a segurança de que se o arquivo original for apagado o conteúdo continue acessível.
2) Criar cópias de arquivos comuns para usuários, sem revelar (diretamente) onde esse arquivo está instalado, além de promover economia de espaço.
3) Diminuir a quantidade de inodes no disco.
4) Acelerar o acesso ao arquivo.
5) Manter backup dos ponteiros dos arquivos.
Utilizando hard links para obter vídeos da Internet
Identificando links
Em muitos sistemas hoje, o comando ls tem o alias definido para ls --color=auto, que imprime tipos diferentes de objetos de sistema de arquivos em cores diferentes. Embora as cores possam ser convenientes para pessoas com boa visão que conseguem distingui-las, elas não são de muita utilidade para outros e certamente também não são de muita utilidade para shell scripts ou programas.
Nas informações fornecidas por uma listagem longa que usa o comando ls -l, a 2ª coluna da saída é uma contagem de links que mostra o número de hard links para esse arquivo. Se você excluir um arquivo que tenha uma contagem de link maior que 1, a contagem no inode será reduzida em 1, mas o arquivo não será excluído até a contagem chegar a zero (0). Todos os outros links físicos para o mesmo arquivo mostrarão uma contagem de link agora reduzida em 1.
Na 1ª coluna da saída, é possível ver que o primeiro caractere é um 'l' (L minúsculo) para links simbólicos. É possível também ver o destino do link exibido após os caracteres ->. Observe que as contagens de link na listagem de diretório não são atualizadas para links simbólicos. Excluir o link não afeta o arquivo alvo.
É possível usar a opção -i do comando ls para exibir números de inode para entradas de arquivo e diretório. Os objetos que tenham o mesmo inode, representam o mesmo objeto.
É possível usar o comando find para procurar links simbólicos usando a expressão -type l.
Veja mais sobre links aqui.
Localizando arquivos
Comando find
Vantagem: buscas mais completas e precisas.
Desvantagem: tempo necessário para pesquisa.
Comando locate
Vantagens: buscas instantâneas, pode retornar qualquer tipo de arquivo e diretório, não tem restrição em suas buscas, possibilidade de utilização de willcards em suas buscas.
Desvantagens: desatualização do banco de dados em poucos dias, necessidade de executar o comando updatedb (como root) afim de incluir as últimas modificações.
Veja nos links abaixo como você pode agendar a execução do updatdb para um determinado período:
Tarefas automáticas de manutenção do sistema
Usando cron e crontab para agendar tarefas
Shell
Exemplos de shell: bash, csh (sintaxe similar à liguagem C), ksh, dash, etc.
O dash é utilizado em algumas distribuições como Debian e Ubuntu para acelerar o processo de inicialização (boot) do sistema.
Nenhum comentário:
Postar um comentário