Unix Basico

Views:
 
Category: Education
     
 

Presentation Description

No description available

Comments

Presentation Transcript

Slide2: 

UM BREVE HISTÓRICO Unix é um sistema de grande popularidade por sua portabilidade e flexibilidade; O Unix foi criado pelo laboratório Bell subsidiária da AT&T no final da década de 60, sendo suas primeiras versões criadas em Assembler; Em 1973, Dennis Ritchie reescreveu o UNIX na linguagem C, o que tronou possível transportar o sistema Unix de uma arquitetura para outra com um mínimo de esforço.

Slide3: 

CONCEITOS BÁSICOS Sistema Operacional É um programa que gerencia a utilização dos recursos da máquina. - Multiusuário Vários usuários têm acesso ao sistema simultaneamente - Multitarefa Cada usuário pode executar várias tarefas simultaneamente

Slide4: 

CONCEITOS BÁSICOS Programa É uma seqüência de instruções que o computador executa. Normalmente está armazenado em disco sob a forma de um arquivo. Processo Quando um programa está executando, é chamado processo.

Slide5: 

ARQUITETURA DO SISTEMA UNIX Kernel/Núcleo Função: Organizar processos; Gerenciar memória; Gerenciar armazenamento em disco; Supervisiona a transferência de dados dos meios de armazenamento. Kernel/Núcleo Características: Isola o HW através de uma interface Unix padronizada (SVR4, X-OPEN, POSIX), facilitando a portabilidade do sistema; O usuário só acessa o Kernel via comandos; Poucos serviços.

Slide6: 

ARQUITETURA DO SISTEMA UNIX Shell Características: É o interpretador de comandos do Unix e responsável pela comunicação entre o usuário e o computador; Possui ferramentas que permitem programar de maneira estruturada, como linguagens de alto nível.

Slide7: 

SESSÕES DO UNIX Loggin in Um usuário no sistema Unix só pode usar o sistema se for devida- mente autorizado no procedimento de “loggin in”, isto é ter licença para uso.

Slide8: 

SESSÕES DO UNIX Loggin in Para evitar que usuários distintos ou não cadastrados usem o sistema em nome do outro, um usuário autorizado tem nome de sessão público e uma senha só de seu conhecimento ou do administrador por rede..

Slide9: 

SESSÕES DO UNIX Loggin off O comando exit fecha a sessão.

Slide10: 

SESSÕES DO UNIX Administrador do sistema É um usuário especial (também chamado de superusuário), com poderes ilimitados, e com tarefas administrativas tais como cadastrar usuários, realizar backups, instalar ou configurar softwares ou periféricos, etc.

Slide11: 

ALGUNS COMANDOS passwd - Troca a senha do usuário. Um usuário só pode alterar sua senha,

Slide12: 

ALGUNS COMANDOS who am i - Lista o nome do usuário.

Slide13: 

ALGUNS COMANDOS who - Lista todos os usuários que estão ativos na máquina, seus respectivos terminais e a data e hora de abertura de sessão.

Slide14: 

ALGUNS COMANDOS date - Lista a data e hora do sistema. O superusuário pode executar o programa para alterar a data corrente.

Slide15: 

ALGUNS COMANDOS tty - Exibe o nome do terminal do usuário.

Slide16: 

ALGUNS COMANDOS man - Exibe um manual sobre o comando. Deve ser utilizado para se conhecer a sintaxe do comando desejado. Ex:

Slide17: 

USUÁRIOS UNIX Usuário/Grupo - Todo o usuário UNIX possui dois números que o identificam. UID (User Identifier) Identificador de usuário, está associado ao nome da sessão, que o identifica univocamente um usuário do sistema. GID (Group Identifier) Identificador de Grupo, cria o conceito de grupo, onde estão cadastrados usuários que possuem alguma coisa em comum, por exemplo, trabalham no mesmo departamento, ou em um determinado projeto.

Slide18: 

USUÁRIOS UNIX Estes identificadores são também utilizados para controle de permissão de acesso a arquivos, conforme será visto mais tarde. Exemplo de usuários e grupos de uma instalação USUÁRIO UID GRUPO GID aluno1 5001 curso 3333 aluno2 5002 curso 3333 carlos 1000 vendas 230 jose 2134 vendas 230 pedro 5879 suporte 534 paulo 3020 suporte 534

Slide19: 

USUÁRIOS UNIX Comando id

Slide20: 

USUÁRIOS UNIX Superusuário - Identifica o usuário com privilégios de acesso irrestrito a qualquer arquivo. Seu UID é sempre 0. Normalmente o administrador do sistema assume esta condição para poder realizar tarefas de sua competência. O comando id lista os identificadores de usuário e grupo de sua sessão. Ex. $id uid=5001(aluno1) gid=3333(curso)

Slide21: 

FORMATO DE UM COMANDO UNIX Os comandos Unix seguem um padrão,composto basicamente por três campos: nome do comando, opções e argumentos. Comando -opções argumentos O nome do comando corresponde ao nome do arquivo que contém o programa. As opções são modificadores do comportamento do comando. Os argumentos são os objetos sobre os quais o comando irá atuar.

Slide22: 

FORMATO DE UM COMANDO UNIX Cada um destes campos deve ser separado por um ou mais caracteres em branco (espaços). Normalmente as opções são letras, que devem ser precedidas pelo caractere -, podendo ser em qualquer ordem, cada letra tem um significado. Para comandos que recebem mais de um argumento, estes devem estar separados por um ou mais espaços. Em caso de dúvida, ou retorno de erro no comando, consultar o comando man referente ao comando.

Slide23: 

FORMATO DE UM COMANDO UNIX Comando ls - Lista nomes de arquivos do diretório. a) comando sem opções ou argumentos. Usa opções e agumentos default. $ ls arq1 arq2

Slide24: 

FORMATO DE UM COMANDO UNIX Exemplos: b) comando com uma opção, sem argumentos. (argumentos default). $ ls -l -rw-r--r-- 1 aluno1 curso 221 May 15 11:20 arq1 -rwxr-xr-x 1 aluno1 curso 32544 Apr 11 08:00 arq2 Com esta opção é apresentada todas as informações do arquivo

Slide25: 

FORMATO DE UM COMANDO UNIX Exemplos: c) comando com opções e argumentos. (opções: a,l,s,i; argumentos: /tmp e /var/adm): $ ls -alsi /tmp /var/adm /tmp: total 14 315 2 ... 12342 2 os-data 316 2 ... 24357 10 license-log /var/adm total 1240 12334 2 ... 38 messages .........

Slide26: 

FORMATO DE UM COMANDO UNIX Exemplos: 2. Comando uname a) Lista o nome do Kernel do Unix (opção default): $ uname SunOs b) Lista o nome da máquina: $ uname -n cobra c) Lista todas informações: $ uname -a SunOs cobra 5.5.1 Generic sun4u sparc SUNW,Ultra-1

Slide27: 

PROCESSOS Ao abrir uma sessão, o usuário ganha acesso à máquina. O sistema, executa uma Shell que envia um prompt para a tela e passa a ler comandos. Cada programa em execução corresponde a um processo. Um processo tem ciclo de vida que consiste em nascer (ser criado - sempre filho de outro processo, que é quem o criou), viver (executar) e morrer (terminar sua execução).

Slide28: 

PROCESSOS Como funciona a Shell: lê um comando da linha de comandos e cria um novo processo associado ao comando. Este novo processo, depende de seu funcionamento, pode ou não criar novos. Cada sessão aberta corresponde, a pelo menos um processo ativo, associado a shell, podendo ter outros processos associados às suas aplicações ou comandos. Todo o processo possui um número que o identifica, PID (Process IDentifier). Este número é gerado pelo sistema no momento da criação do processo, desaparecendo ao seu fim. No Unix o processo que é a origem de todos os processos e o INIT, correspondendo ao PID 1.

Slide29: 

PROCESSOS Comando ps - É o comando usado para listar o estado dos processos gerados por uma determinada sessão ou de todos os processos, listando apenas os identificadores ou informações completas. Nos exemplos a seguir foi usado o comando sh. Este comando corresponde à Shell, e sua função é ler comandos do teclado e executá-los. Executar este comando várias vezes é equivalente a se abrir uma sessão dentro da outra.

Slide30: 

PROCESSOS Comando ps - Exemplos: 1. Listar os processos em execução, associados ao usuário atual $ sh $ sh $ ps PID TTY TIME CMD 657 pts/5 0:01 ksh 670 pts/5 0:00 sh 669 pts/5 0:00 sh

Slide31: 

PROCESSOS Comando ps - Exemplos: 2. Listar informações completas dos processos do exemplo 1. $ ps -f UID PID PPID C STIME TTY TIME CMD aluno1 657 655 0 09:15:19 pts/5 0:01 ksh aluno1 670 657 0 09:15:37 pts/5 0:00 sh aluno1 669 670 0 09:15:36 pts/5 0:00 sh

Slide32: 

PROCESSOS 3. Listar todas as informações, de todos os processos $ ps -ef UID PID PPID C STIME TTY TIME CMD root 0 0 0 08:11:27 ? 0:00 sched root 1 0 0 08:11:30 ? 0:00 /etc/init root 2 0 0 08:11:30 ? 0:00 pageout root 238 1 0 08:12:10 ? 0:00 /sbin/vold ................................... aluno1 657 655 0 09:15:19 pts/5 0:01 ksh aluno1 670 657 0 09:15:37 pts/5 0:00 sh aluno1 669 670 0 09:15:36 pts/5 0:00 sh root 770 670 1 09:24:28 pts/5 0:00 ps -ef

Slide33: 

PROCESSOS 3. Listar todas as informações, de todos os processos $ ps -ef UID PID PPID C STIME TTY TIME CMD UID - nome da sessão (identificação de usuário); PID - identificador de processo; PPID - identificador de processo pai; C - parâmetro associado à prioridade (não mais usado); STIME - hora de início do processo; TTY - nome do terminal; TIME - tempo de execução acumulado do processo; COMMAND - nome do comando que está sendo executado.

Slide34: 

SINAIS Sinais (signal, em inglês) é uma de comunicação entre processos; É possível enviar um sinal a um processo, para alterar sua execução ou informar a ocorrência de algum evento; Os sinais correspondem a números (1,2,3,4,...); Que sinais são usados e o que significam, depende da implementação do programa ou aplicação; Existe um sinal especial, o de número 9 (chamado SIGKILL), que causa o cancelamento do processo que o receber; O comando Kill gera o envio do sinal especificado ao processo indicado.

Slide35: 

SINAIS O Comando kill pode ser usado por qualquer usuário, porém somente é permitido o envio de sinais a processos que tenham sido gerados pela mesma sessão de quem está enviando o sinal, no caso de superusuário é permitido o envio a qualquer processo. Exemplo: Cancelar o processo de PID=657 $ kill -9 657 Existe um outro sinal (chamado SIGINTR), que pode ser gerado pelo teclado e causa, para a maioria dos comandos, o seu cancelamento. Para ser gerado deve ser digitado o caractere c, estando pressionando a tecla crtl (representado por ^c)

Slide36: 

COMUNICAÇÃO ENTRE USUÁRIOS Neste item serão discutidos três comandos de comunicação entre usuários: mail, write e talk. mail - Comando usado para ler ou enviar correio eletrônico para outros usuários ou grupo de usuários. Use o comando mail, sem parâmetros, para ler as mensagens recebidas. Uma vez executado, o comando lista a última mensagem recebida e envia um prompt(?), passando a aceitar comandos.

Slide37: 

COMUNICAÇÃO ENTRE USUÁRIOS mail Comandos válidos: d - remove mensagem corrente; h - lista cabeçalhos das mensagens recebidas; num - lista a mensagem de número num; q - termina o comando.

Slide38: 

COMUNICAÇÃO ENTRE USUÁRIOS Exemplos: 1. Ler mensagens recebidas: $ mail From root Wed Jun 25 09:12:04 1997 Return-Path: <root> Received: by dolly. (SMI-8.6/SMI-SVR4) id JAA00638; Wed, 25 Jun 1997 09:12:03 - 0300 Date: Wed, 25 Jun 1997 09:12:03 -0300 Message-Id:<199706251212.JAA00638@dolly.> Subject: Boa tarde Content- Type: text Apparently-To:aluno@dolly Content-Length: 35 Isto e so para desejar boa tarde.

Slide39: 

COMUNICAÇÃO ENTRE USUÁRIOS Exemplos: ? 2 From guga@sardinha Wed Jun 25 09:11:20 1997 Return-Path: <guga@sardinha> Received: from sardinha by dolly. (SMI-8.6/SMI-SVR4) id JAA00632; Wed, 25 Jun 1997 09:11:20 -0300 Date: Wed, 25 Jun 1997 09:11:20 -0300 Recebido: por sardinha (5.0/SMI-SVR4) id AA00388; Tue, 25 May 1993 09:12:03 +0300 Data: Tue, 25 May 1993 09:12:03 + 0300 De: guga@sardinha Message-Id: <9305251212.AAA00388@sardinha> Content-Type: text Apparently-To: aluno1@dolly Content-Length: 21 Isto é outro teste.

Slide40: 

COMUNICAÇÃO ENTRE USUÁRIOS Exemplos: ? h 3 letters found in /var/mail/aluno1, 0 scheduled for deletion, 0 newly arrived 3 369 root Wed Jun 25 09:12:04 1997 > 2 514 guga@sardinha Wed Jun 25 09:11:20 1997 1 362 root Wed Jun 25 09:07:19 1997 ? q

Slide41: 

COMUNICAÇÃO ENTRE USUÁRIOS Para enviar mensagens para um ou mais usuários, use a seguinte sintax: mail usuário1 usuário2 A seguir digite o corpo da mensagem, e termine digitando uma linha apenas com o caractere . (ponto), ou a seqüência de caracteres ^d (control-d). Se desejar que apareça o assunto da mensagem no cabeçalho, escreva na primeira linha a palavra. Subject: seguida do texto indicando o assunto. Para enviar mensagem para usuários de oura máquina, use a sintaxe: nome_do_usuário@nome_da_máquina

Slide42: 

COMUNICAÇÃO ENTRE USUÁRIOS Exemplo: Para enviar uma mensagem para o usuário aluno2 da máquina local e guga da máquina sardinha: $ mail aluno2 guga@sardinha Subject: Confirmação de reuinão A reunião está marcada para as 16hs. Será realizada na sala 12. . Obs. O domínio tem que ser o mesmo para se usar o mail

Slide43: 

COMUNICAÇÃO ENTRE USUÁRIOS write - comando usado para estabelecer entre dois usuários locais. Quando algum usuário, este recebe uma mensagem informando a origem, em seguida recebe as linhas, à medida em que são digitadas pelo remetente. Para terminar uma conexão digitar ^d(control d). O usuário destino pode também executar o write inverso. De modo que os dois podem se comunicar ao mesmo tempo.

Slide44: 

COMUNICAÇÃO ENTRE USUÁRIOS Exemplo: write 1. O usuário aluno1 deseja se comunicar com o aluno2: aluno1: $write aluno2 Bom dia, Vamos almoçar? ^d Na tela do aluno2, aparece a mensagem: $ Message from aluno1 on cobra (pts/5) [Tue May 25 10:57:45] Bom dia. Vamos almoçar? <EOT>

Slide45: 

COMUNICAÇÃO ENTRE USUÁRIOS Exemplo: write 1. Se o aluno2 desejar responder, deve usar $write aluno1 Vamos! ^d $

Slide46: 

COMUNICAÇÃO ENTRE USUÁRIOS talk Comando que abre um canal de comunicação entre dois usuários. O usuário que inicia a conversa executa o comando, passando a esperar que o interlocutor receba uma mensagem do sistema, informando a solicitação de estabelecimento de conexão e execute o mesmo comando para estabelecer a conexão. Uma vez estabelecida a conexão, os dois podem digitar ao mesmo tempo, sendo que a tela do terminal de cada um deles será dividida em duas sessões, aparecendo o que for digitado pelos dois. Para encerrar a conversa, deve ser digitado ^d. Este comando pode ser executado entre máquinas remotas.

Slide47: 

COMUNICAÇÃO ENTRE USUÁRIOS Comando talk Exemplo: 1. Usuário aluno1deseja se comunicar com aluno2: $talk aluno2 (waiting for your party to respond) 2. Na tela do usuário aluno2 aparecerá: $ Message from Talk_Deamon@sardinha at 11:38 ... talk: connection requested by aluno1@sardinha. talk: respond with: talk aluno1@sardinha. 3. O usuário aluno2, para estabelecer a conexão, deve executar: $talk aluno1@sardinha

Slide48: 

COMUNICAÇÃO ENTRE USUÁRIOS mesg O comando permite o usuário receber ou não mensagens Se o usuário destino com recebimento inibido, o comando indicará erro. Exemplos: 1. Para listar o estado de recebimento de mensagens (mensagens habilitadas): $mesg is y

Slide49: 

COMUNICAÇÃO ENTRE USUÁRIOS mesg Exemplos: 2. Para inibir, e depois habilitar o recebimento de mensagens: $mesg -n $mesg -y $ 3. Com o recebimento inibido em aluno1, write de aluno2: $ write aluno1 permission denied $

Slide50: 

SISTEMA DE ARQUIVAMENTO Arquivos são dados armazenados em um dispositivo de armazenamento como disco, CDROM ou disquete. O sistema de arquivamento do Unix organiza os arquivos na forma de uma árvore hierárquica, permitindo que os arquivos sejam agrupados em determinadas áreas da árvore, podendo conter quantos subgrupos forem necessários.

Slide51: 

SISTEMA DE ARQUIVAMENTO O Unix é um sistema multiusuário, em que muitos usuários estão autorizados a usá-lo. É implementado um mecanismo de permissões de acesso a arquivos, para que um usuário, e principalmente o próprio sistema, possa se proteger contra outros usuários. O mecanismo é baseado no identificador de usuário (UID) e grupo de usuário (GID). Todo arquivo do Unix possui um nome e um tipo. O nome pode ser qualquer um, com qualquer número de caracteres, podendo conter caracteres, maiúsculos e minúsculos (são considerados diferentes). Em um mesmo grupo, os nomes não podem ser repetidos. O tipo do arquivo corresponde a uma característica interna (não podendo ser repetido), que indica a espécie de dados que o arquivo contém.

Slide52: 

SISTEMA DE ARQUIVAMENTO Existem dois tipos de arquivos, mas os mais importantes são dois: Arquivo tipo Diretório Arquivo tipo Regular

Slide53: 

SISTEMA DE ARQUIVAMENTO Arquivo Diretório Sua função é implementar a estrutura hierárquica da árvore de arquivamento. Corresponde aos nós intermediários da árvore. Um arquivo do tipo diretório, ou simplesmente diretório, contém nomes de outros arquivos, de qualquer tipo, que são aqueles imediatamente abaixo na árvore hierárquica.

Slide54: 

SISTEMA DE ARQUIVAMENTO Arquivo Regular É usado para armazenar informações genéricas. Para o sistema, o conteúdo e formato de um arquivo deste tipo é diferente. O conteúdo é de responsabilidade de quem o criou, por exemplo texto de um editor criado por um usuário, ou um banco de dados criado por uma aplicação. SISTEMA DE ARQUIVAMENTO Exemplo de arquivos Regular Um texto de um documento; Registros dos empregados de uma empresa; Um arquivos de comando Shell; Um programa a ser executado; Um desenho ou um relatório a ser impresso; Um arquivo de som.

Slide55: 

O caminho de uma arquivo é a forma de se referenciar um arquivo na árvore de arquivamento Contém os nomes de todos os diretórios que se deve passar para alcançar o arquivo. Cada nome é separado pelo caracter / (barra), sem espaços intermediários CAMINHO DE ARQUIVO Existem duas formas de se especificar o caminho de um arquivo: Caminho absoluto; Caminho relativo. Os arquivos podem ter o mesmo nome, mas com caminhos diferentes

Slide56: 

É quando se fornece o caminho do arquivo a partir da raiz da árvore A raiz do sistema de arquivamento é única, e é indistintamente chamada de / (barra), raiz, ou root CAMINHO ABSOLUTO Um caminho absoluto representa apenas um arquivo da árvore Sempre que o caminho do arquivo começar pelo caractere / (barra), será considerado absoluto Exemplos: /export/home/aluno1/textos/teste /export/home/aluno1 /etc/passwd /usr/openwin/bin/openwin /openwin/bin/openwin

Slide57: 

O caminho relativo representa a localização do arquivo a partir de um ponto da árvore, ou seja, é relativo a uma determinada posição. Esta posição é dada pelo que é chamado diretório-corrente O diretório-corrente especifica o diretório onde o usuário está posicionado. CAMINHO RELATIVO - DIRETÓRIO-CORRENTE Todo caminho relativo começa com um nome de arquivo imediatamente abaixo do diretório-corrente Exemplos: teste textos textos/teste export/home/aluno1 usr/openwin/bin/openwin

Slide58: 

Todo usuário tem um diretório de trabalho. Este diretório representa a localização preferencial do usuário dentro da árvore de arquivamento tabém conhecido como diretório HOME. Nesta região da árvore os usuários normalmente possuem poderes totais, podendo criar arquivos regulares ou diretórios, remover, alterar permissões liberando para outros, etc. DIRETÓRIO DE TRABALHO Este diretório é onde se encontram seus arquivos de trabalho. Ao abrir sua sessão, o usuário é automaticamente posicionado neste diretório. Posteriormente, se necessário, ele pode se posicionar em outros pontos da árvore, desde que tenha permissão para tal.

Slide59: 

O diretório de trabalho de um usuário é atribuído pelo Administrador ao cadastrar o usuário. Exemplos: /export/home/aluno1 /export/home/aluno2 DIRETÓRIO DE TRABALHO Normalmente corresponde ao diretório com o nome da sessão, localizado no diretório /export/home

Slide60: 

ls Lista nomes e informações de arquivos. É o comando básico de arquivos 1. Para listar os nomes dos arquivos contidos no diretório-corrente: $ ls a b c d texto COMANDOS Exemplos 2. Para listar os arquivos de diretório: $ ls /var /export/home/aluno1 /export/home/aluno1: a b c d texto /var: adm sadm uucp saf spool

Slide61: 

ls Lista nomes e informações de arquivos. É o comando básico de arquivos 3. Para listar informações sobre de um diretório (opção l, argumento, o nome): $ ls –l /export/home/aluno1 -rwxr--r-- 1 aluno1 curso 235 May 16 10:34 a -rwxr--r-- 1 aluno1 curso 425 May 16 10:34 b -rwxr--r-- 1 aluno1 curso 2134 May 16 10:34 c drwxr-xr-x 2 aluno1 curso 512 May 16 10:34 texto COMANDOS Exemplos

Slide62: 

ls Lista nomes e informações de arquivos. É o comando básico de arquivos 4. Listar informações de um diretório, Não dos arquivos contidos no diretório (opções ld): $ ls -ld /usr/patches drwxr-xr-x 3 root other 512 set 10 07:19 /usr/patches COMANDOS Exemplos 5. Para listar um diretório recursivamente (seus diretóriose arquivos, e assim por diante): $ ls -lR

Slide63: 

ls Informações geradas pelo comando ls, opção l: COMANDOS drwxr-xr-x 3 aluno1 curso 512 May 16 10:34 aluno1

Slide64: 

Tipo do arquivo - Contém um caractere indicando o tipo do arquivo: - : indica arquivo tipo regular; d : indica arquivo tipo diretório. COMANDOS Permissões do arquivo: Será visto em outro capítulo deste curso. Número de links do arquivo: Será visto em outro capítulo deste curso. Dono e Grupo: Identificador de usuário e de grupo do processo que criou o arquivo. Tamanho do arquivo: Tamanho em bytes do arquivo. Data: Data e hora da última modificação do arquivo. Nome: Nome do arquivo - relativo ao absoluto, dependendo de como foi fornecido o nome no argumento do comando

Slide65: 

pwd Mostra o diretório-corrente, onde o processo do usuário está posicionado no momento.(print working directory) COMANDOS cd Altera Mostra o diretório-corrente, onde o processo do usuário está posicionado no momento.(change directory)

Slide66: 

pwd e cd 1. Listar e alterar o diretório-corrente: $ pwd /export/home/aluno1 $ cd textos $ pwd /export/home/aluno1/textos $ cd /etc $ pwd /etc COMANDOS Exemplos

Slide67: 

pwd e cd 1. Para se posicionar novamente no diretório de trabalho, use cd sem argumentos: $ cd $ pwd /export/home/aluno1 COMANDOS Exemplos

Slide68: 

mkdir e rmdir Estes comandos são usados para criar ou remover diretórios. Um diretório, para ser removido, deve estar vazio. COMANDOS 1. Para criar três diretórios, no diretório- corrente: $ mkdir dir1 dir2 dir3 $ ls -l “lista os arquivos e diretórios do diretório corrente” Exemplos 2. Para remover um diretório: $ rmdir dir2 $ ls -l “lista os arquivos e diretórios do diretório corrente”

Slide69: 

mkdir e rmdir Estes comandos são usados para criar ou remover diretórios. Um diretório, para ser removido, deve estar vazio. COMANDOS 1. Para criar diretórios, criando também os diretórios intermediários, se estes não existirem (opção p): $ mkdir -p dir1/dir/dir dir3/dir /export/home/aluno1/dir4/dir $ ls -lR “lista os arquivos e diretórios recurssivamente” Exemplos

Slide70: 

Diretórios “.” e “..” Todo diretório, mesmo vazio, possui duas entradas chamadas “.” (ponto) e “..”(ponto-ponto). A entrada . é um ponteiro para o próprio diretório e .. (ponto-ponto) um ponteiro para o diretório-pai. O diretório “.” representa o diretório-corrente COMANDOS Obs. O default do comando ls é o ponto. Portanto, os dois comandos a seguir são equivalentes: $ls $ls . Para o diretório-raiz (/), a entrada “..” aponta para ele mesmo (não tem pai)

Slide71: 

COMANDOS Exemplos: 1. Usando as entradas . e .. : $cd /usr/curso/aluno1/dir1 $pwd. /usr/curso/aluno1/dir1 $cd .. pwd /curso/home/aluno1 $cd ./././. pwd /usr/curso/aluno1 $cd ../.. pwd /usr

Slide72: 

COMANDOS Exemplos: 2. Um erro comum de uso (está sendo usado caminho absoluto) $ cd /.. $ pwd / 3. Listar características do diretório-corrente $ ls -ld drwzr-xr-x 3 aluno1 curso 512 May 4. Listar todos os arquivos,inclusive os começados por .: $ ls -a . .. a b c texto

Slide73: 

COMANDOS DE CRIAÇÃO E REMOÇÃO DE ARQUIVOS OS comandos Unix que geram saída de arquivo funcionam normalmente de forma que, se o arquivo de saida do comando existir, ele é esvaziado e regerado; se não existir, ele é criado. Não existe um comando específico de criação de arquivos, tipo mkdir. Para se criar um arquivo, deve-se executar um comando que gera uma saída, sendo fornecido o nome do arquivo como argumento. Cuidado, pois se o arquivo já existir, este será regerado. Para remover um arquivo, use o comando rm. Cuidado, não existe “undelete” no Unix.

Slide74: 

COMANDOS DE CRIAÇÃO E REMOÇÃO DE ARQUIVOS Comando cp. Este comando copia um arquivo para outro arquivo, mantendo o arquivo original inalterado. Pode ser usado de duas formas: Copiar um arquivo origem para um destino; Copiar um ou mais arquivos para um diretório. Neste caso, para cada arquivo origem será criado um arquivo destino, com o mesmo nome.

Slide75: 

COMANDOS DE CRIAÇÃO E REMOÇÃO DE ARQUIVOS Comando cp Exemplos: 1. Para copiar um arquivo para um novo arquivo arq1: $ cp /etc/passwd arq1 $ ls ….. arq1 ….. 2. Para copiar 3 arquivos para o diretório dir1: $ cp /etc/host arq1 /var/adm/utmp dir1 $ ls ….. arq1 hosts utmp …..

Slide76: 

COMANDOS DE CRIAÇÃO E REMOÇÃO DE ARQUIVOS Comando cp Exemplos: 3. Para se fazer uma copia recursiva, copiar todos os arquivos e subdiretórios para outro diretório (opção r). $ cp -r /var/adm dir 2 $ ls –R dir2 …..

Slide77: 

COMANDOS DE CRIAÇÃO E REMOÇÃO DE ARQUIVOS Comando touch Este comando simplesmente acessa o arquivo, alterando sua data sem realmente alterá-lo. Se o arquivo não existir, ele será criado. Exemplos: $ touch a ab abc

Slide78: 

COMANDOS DE CRIAÇÃO E REMOÇÃO DE ARQUIVOS Comando mv mv troca o nome do arquivo. O origem e destino podem estar em qualquer diretório. Exemplos: Trocar nome de um arquivo. O origem e destino podem estar em qualquer diretório. $ mv arq1 outro-arquivo $ls ….. arq1 …..

Slide79: 

COMANDOS DE CRIAÇÃO E REMOÇÃO DE ARQUIVOS Comando mv Exemplos: 2. Trocar nome para outro diretório: $ mv outro-arquivo dir3/arq1 $ ls dir3 ….. arq1 ….. 3. Para remover três arquivos: $ rm /export/home/aluno1/dir3/arq1 arq3 ../dir1/arq1

Slide80: 

OUTROS COMANDOS Comando more Lista na tela o contéudo de um arquivo, tela a tela ou linha a linha. Ao fim de cada tela, o comando pára e espera pela digitação de um caractere. Se for espaço em branco, passará para a próxima tela, se for enter, lista a próxima linha. O comando pode ser interrompido digitando-se a letra q (quit). Comando tail Lista na tela as ultimas linhas de um arquivo. Por default, lista as ultimas 10 linhas mas pode ser usado com opções especificando outro número de linhas.

Slide81: 

OUTROS COMANDOS Comando more e tail Exemplos: $ more /var/adm/messages $ tail /var/adm//messages $ tail -50 /var/adm/messages

Slide82: 

Comando cat Lista na tela o contéudo de um ou mais arquivos. Este comando só deve ser usado para arquivos cujo conteúdo seja texto. Se usá-lo em arquivos de dados, a tela será desformatada, podendo travar o terminal. Exemplos: root@modulus-sun-1-> cat /etc/passwd root:x:0:1:Super-User:/:/sbin/sh daemon:x:1:1::/: bin:x:2:2::/usr/bin: sys:x:3:3::/: adm:x:4:4:Admin:/var/adm: lp:x:71:8:Line Printer Admin:/usr/spool/lp smtp:x:0:0:Mail Daemon User:/: …. OUTROS COMANDOS

Slide83: 

Comando file Determina qual o tipo de conteúdo possui um arquivo. Muito usado para diferenciar arquivos de texto de arquivos binários (arquivos binários ou de dados não podem ser exibidos na tela). Exemplos: 1. root@modulus-sun-1-> file /etc/passwd /etc/passwd: ascii text 2. root@modulus-sun-1-> file /var/adm/utmp /var/adm/utmp: data OUTROS COMANDOS

Slide84: 

Comando find Localiza um arquivo que tenha uma determinada característica, a partir de um diretório (subárvore). Exemplos: A forma mais usada do comando, é procurar um arquivo pelo nome. Use as opções name, para fornecer o nome print, para imprimir o caminho encontrado: 1. root@modulus-sun-1-> find /usr -name openwin -print /usr/openwin /usr/openwin/bin/openwin OUTROS COMANDOS

Slide85: 

Comando wc - Conta linhas, palavras, ou caracteres de um arquivo. Exemplos: Para contar número de linhas de um arquivo (opção l), número de palavras (opção w) ou número de caracteres (opção c): root@modulus-sun-1-> wc -l passwd 13 passwd root@modulus-sun-1-> wc -w passwd 24 passwd root@modulus-sun-1-> wc -c passwd 445 passwd root@modulus-sun-1-> OUTROS COMANDOS

Slide86: 

Comando diff – Compara dois arquivos texto, exibindo suas diferenças. Exemplos: Compara dois arquivos root@modulus-sun-1-> diff passwd /etc/passwd OUTROS COMANDOS Comando grep – Pesquisa a ocorrência de uma cadeia e um arquivo. Exemplos: Compara dois arquivos root@modulus-sun-1-> grep uucp /etc/passwd uucp:x:5:5:uucp Admin:/usr/lib/uucp: nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico

Slide87: 

O Unix permite a existência de arquivos que são linques para outros. Qualquer referência a um deles, está sendo referenciado o outro também. Existem dois tipos de linques. Hard link Chamado simplesmente de linque. Corresponde a um arquivo, sendo que existem dois caminhos para alcançar o arquivo. Se um dos linques for removido, o que é removido é apenas a entrada no diretório, continuando a existir o arquivo com o outro (ou outros) nomes. O arquivo só é removido quando o último linque o for. ARQUIVOS LINQUES

Slide88: 

O número de linques aparece listado no comando ls, opção l. Os nomes dos dois ou mais linques do arquivo são listados como arquivo regular, com o mesmo tamanho, mesmas permissões, etc (é o mesmo arquivo, portanto tudo é igual, menos o nome). Para se cirar um linque, deve-se usar o comando ln, fornecendo o nome de um arquivo que existe e o novo nome, que será criado correspondendo ao mesmo arquivo. A partir deste momento, os dois arquivos são iguais, não sendo possível distinguir qual deles foi criado primeiro. ARQUIVOS LINQUES

Slide89: 

ARQUIVOS LINQUES Exemplos: Para crir dois linques par um arquivo: root@modulus-sun-1-> ln passwd pas root@modulus-sun-1-> ln pas hard1 root@modulus-sun-1-> ls -l pas hard1 -rw-r--r-- 3 root other 445 nov 29 15:47 hard1 -rw-r--r-- 3 root other 445 nov 29 15:47 pas

Slide90: 

Symbolic link Chamado de linque simbólico, este arquivo corresponde a um arquivo distinto, contendo um caminho, relativo ou absoluto, para outro arquivo.O arquivo é do linque simbólico. O arquivo para o qual o linque aponta não tem nenhuma referência reversa, ou seja, dado um arquivo qualquer, não se sabe se existe algum linque simbólico para ele. O número de linques associado ao arquivo e listado pelo comando ls, não é afetado pela existência de linques simbólicos. Um link simbólico pode ser para arquivos de qualquer tipo, inclusive não existente. O único comando que se referência ao arquivo linque em si (e não ao apontado) é o de remoção (rm) e o ls (sem a opção L, com esta opção será listado o arquivo apontado). ARQUIVOS LINQUES

Slide91: 

ARQUIVOS LINQUES Symbolic link Exemplos: Para um linque simbólico para um arquivo: root@modulus-sun-1-> ln -s pas simb1 root@modulus-sun-1-> ln -s arquivo simb2 root@modulus-sun-1-> ls -l pas arquivo simb1 simb2 -rw-r--r-- 1 root other 0 nov 29 21:16 arquivo -rw-r--r-- 3 root other 445 nov 29 15:47 pas lrwxrwxrwx 1 root other 3 nov 29 21:12 simb1 -> pas lrwxrwxrwx 1 root other 7 nov 29 21:12 simb2 -> arquivo

Slide92: 

ARQUIVOS DO TIPO ESPECIAL Estes arquivos possuem um nome como outro qualquer, mas não contêm dados. São usados para representarem os dispositivos de hardware. Por exemplo, fita, discos,disquetes, teclado, etc. Um operação em um arquivo especial (leitura ou gravação), na verdade, é realizada no dispositivo de hardware que o arquivo representa. Este esquema permite que um programa não precise saber detalhes do mecanismo de I/O.

Slide93: 

ARQUIVOS DO TIPO ESPECIAL Subtipos: Caractere- Representam periféricos acessados caractere a caractere, como terminais ou impressoras. Bloco- Representam periféricos de acesso a blocos, como disco. Estes periféricos, numa extensão do conceito de bloco e caractere, também podem ser acessados como se fossem caracteres. O comando ls, com a opção l, lista estes arquivos, apresentando como tipo, os caracteres c, para especial e b, para especial bloco.

Slide94: 

ARQUIVOS DO TIPO ESPECIAL Os nomes dos dispositivos físiscos estão sempre, no diretório /dev, para qualquer sistema Unix. A estrutura interna deste diretório e os nomes dependem dos sistema. No caso do Solaris, estes arquivos correspondem a um link simbólico para outro diretório, /devices, que representa a estrutura real de hardware da máquina. Os nomes neste diretório são muito complicados, por isso só se usa os nomes do /dev.

Slide95: 

ARQUIVOS DO TIPO ESPECIAL Os nomes dos dispositivos que mais se usam são: /dev/rmt/0 -Fita magnética; /dev/console -Console do sistema; /dev/term/a -Terminal local, linha a; /dev/pts/5 -Pseudo Terminal 5; /dev/diskette -Disco Flexível; /dev/dsk/c0t3d0s2 -Disco rígido.

Slide96: 

ARQUIVOS DO TIPO ESPECIAL Exemplos: Listar arquivos especiais. Serão listados os linques simbólicos e não os arquivos: root@modulus-sun-1-> ls -la /dev/dsk/c0t0d0s0 /dev/term/a lrwxrwxrwx 1 root root 51 nov 8 13:14 /dev/dsk/c0t0d0s0 -> ../../devices/sbus@1f,0/SUNW,fas@e,8800000/sd@0,0:a lrwxrwxrwx 1 root root 38 nov 8 13:14 /dev/term/a -> ../../devices/sbus@1f,0/zs@f,1100000:a

Slide97: 

CONCEITOS BÁSICOS DE SHELL SHELL PRINCIPAL COMANDO

Slide98: 

GERAÇÃO DE NOMES E ARQUIVOS Diretório corrente a b dir a. a.c a abc .abc ac .a ad

Slide99: 

GERAÇÃO DE NOMES E ARQUIVOS A Shell permite a utilização dos seguintes meta-caracteres: *(asterisco): O “*” substitui qualquer cadeia de caracteres, incluindo a cadeia nula. Exemplos: Listar todos os arquivos: root@modulus-sun-1-> ls -d * a a. a.c abc ac ad aluno1 dir Listar os arquivos que comecem por a: root@modulus-sun-1-> ls -d a* a a. a.c abc ac ad aluno1

Slide100: 

GERAÇÃO DE NOMES E ARQUIVOS *(asterisco): Exemplos: Listar os arquivos que terminem por a: root@modulus-sun-1-> ls -d *a a Listar os arquivos que tenham a no nome: root@modulus-sun-1-> ls -d *a* a a. a.c abc ac ad aluno1

Slide101: 

*(asterisco): Exemplos: Listar os arquivos que comecem por .: root@modulus-sun-1-> ls -d .* . .. Listar os arquivos que comecem por a e terminem por c: root@modulus-sun-1-> ls -d a*c a.c abc ac101 Listar todos os arquivos de subdiretórios: root@modulus-sun-1-> ls -d */* aluno1/arquivo aluno1/hard1 aluno1/passwd aluno1/simb2 dir/b aluno1/dir1 aluno1/pas aluno1/simb1 dir/a

Slide102: 

? (interrogação): O “?” substitui um, e somente um, caractere qualquer. Exemplos: Listar todos arquivos que tenham dois caracteres: root@modulus-sun-1-> ls -d ?? ac ad Listar os arquivos que comecem por .s e tenham dois caracteres: root@modulus-sun-1-> ls -d .? .a

Slide103: 

? (interrogação): O “?” substitui um, e somente um, caractere qualquer. Exemplos: Listar os arquivos que tenham três caracteres: root@modulus-sun-1-> ls -d ??? a.c abc dir Listar os arquivos de um caractere, do diretório dir: root@modulus-sun-1-> ls -d dir/? dir/a dir/b

Slide104: 

[ ] (colchetes): Um conjunto de caracteres entre colchetes representa um, e apenas um caractere, sendo este qualquer um dos contidos no conjunto ([cadeia]). Um par de caracteres separados por “-”dentro de colchetes representa um, e apenas um caractere qualquer entre eles, sob o ponto de visa léxico. Se o primeiro caractere depois do “[“ for “!” (negação), então é válido qualquer caractere diferente dos explícitos. Exemplos: Listar os arquivos que comecem por a tenham dois caracteres, e terminem por a, b ou c: root@modulus-sun-1-> ls -d a[abc] ac

Slide105: 

Exemplos de composição de metacaracteres: Listar todos os arquivos que terminem por a, e c: root@modulus-sun-1-> ls -d *[a-c] a a.c abc ac Listar arquivos que comecem por “.” e terminem por a, e c: root@modulus-sun-1-> ls -d .*[a-c] .*[a-b]: No such file or directory Listar arquivos que comecem por a ou d, terminem por c ou r, e tenham três caracteres: root@modulus-sun-1-> ls -d [ad]?[cr] a.c abc dir

Slide106: 

ENTRADA E SAÍDA PADRÃO Entrada Padrão Descritor de arquivo 0 Default: Teclado Saída Padrão Descritor de arquivo 1 Default: Vídeo Saída de erro padrão Descritor de arquivo 2 Default: Vídeo

Slide107: 

ENTRADA E SAÍDA PADRÃO Exemplos: O exemplo típico pode ser visto pelo comando cat. Ao ser executado sem parâmetros, irá ler os dados da entrada default, que é o teclado. Os dados digitados serão lidos (e serão listados na tela, por causa do eco automático do teclado). Ao se encerrar uma linha, o comando grava na saída padrão, que corresponde à tela, por default. Com isto o que foi digitado será listado novamente. root@modulus-sun-1-> cat hehehehehe' hehehehehe' HAHAHAHAHA HAHAHAHAHA root@modulus-sun-1->

Slide108: 

ENTRADA E SAÍDA PADRÃO Exemplos: Comando que gera saída: root@modulus-sun-1-> ls a a. a.c abc ac ad aluno1 dir Comando que gera erro: root@modulus-sun-1-> rm / rm: / is a directory

Slide109: 

REDIRECIONAMENTO A Shell permite que a entrada, saída e saída de erro sejam redirecionadas de/para arquivos. Os operadores usados pela Shell para efetuar o redirecionamento são os seguintes: <arq – O arquivo arq será usado como entrada. >arq – O arquivo arq será usado como saída padrão. Se não existir, será criado. Se existir, seu conteúdo anterior é perdido. >>arq – A saída do comando será acrescentada após o fim do arquivo arq. Se o arquivo não existir, será criado. 2 > arq – O arquivo arq será usado como saída de erro padrão. Se não existir, será criado. Se existir, seu conteúdo anterior é perdido. 2 > arq – A saída de erro do comando será acrescentada após o fim do arquivo arq. Se o arquivo não existir, será criado.

Slide110: 

REDIRECIONAMENTO Exemplos: Salvar a data em um arquivo root@modulus-sun-1-> date > data root@modulus-sun-1-> cat data domingo 16 janeiro 2006, 01:37:39 EDT Criar um arquivo e mandá-lo pelo correio para aluno2 root@modulus-sun-1-> cat < /etc/passwd > arq root@modulus-sun-1-> mail aluno2 <arq

Slide111: 

REDIRECIONAMENTO Exemplos: Gravar em um arquivo a data e o conteúdo de seu diretório-corrente, e enviar para a tela de aluno2; $ date > arq $ cd $ Is >> arq $ write aluno2 < arq Salvar em um arquivo a saída do Is recursivo, e listar os erros em outro arquivo: $ Is –R > saída_Is 2> erro

Slide112: 

REDIRECIONAMENTO Exemplos: Contar o número de processos associados a aluno 1: $ ps –ef > arqtmp $ grep aluno 1 arqtmp > arqtmp 1 $ wc –1 arqtmp 1 2 arqtmp 1 $ rm arqtmp arqtmp 1 Salvar em um arquivo as linhas de /etc/passwd que possuem os caractreres u e b, em qualquer ordem: $ grep b /etc/passwd > lixo $ grep u lixo > arq-ub

Slide113: 

CANAL (PIPE) O UNIX fornece um mecanismo, chamado canal (pipe em inglês), em que são executados vários comandos, sendo que a saída de um comando é redirecionada implicitamente para a entrada do seguinte, e assim por diante. Este mecanismo permite a construção de complexos procedimentos, com a composição dos comandos básicos do UNIX, que são muito simples. A construção de um canal se dá através do símbolo “| “ (barra vertical, chamado simplesmente de pipe), como a seguir:   Comando 1 | comando 2 | ... | comando

authorStream Live Help