UNIX: Comandos Básicos INE5602 Introdução à Informática Prof. Roberto Willrich Terminologia e Conceitos Login name/Login ID – Cada usuário do UNIX tem um nome (user name) • previamente cadastrado para permitir o seu acesso ao sistema – Atributos mantidos pelo UNIX para cada usuário • Nome de login • Identificação do usuário (UID) • Senha secreta • Grupos ao qual ele pertence • Comentário livre sobre o usuário (nome completo, função, setor, ...) • Diretório Home: um lugar no sistema de arquivos que será de propriedade do usuário • Seu interpretador de comandos (tcsh) 2 Terminologia e Conceitos Superusuário – é aquele usuário com permissões irrestritas • administrador do sistema – suas funções (contacte pela [email protected]) • tem por funções o cadastramento de outros usuários, instalação dos softwares para que todos usem, configuração do sistema, avaliação e gerência da desempenho e segurança e responsável pela execução dos backups – nome de login do administrador é root • palavra “root” significa raiz, em alusão ao diretório mais importante do sistema de arquivos 3 Terminologia e Conceitos Sessão de Trabalho – Para ter acesso ao sistema • usuário precisa fazer parte de pelo menos um grupo, ter um nome de usuário (login) e uma senha – Use SSH – Securite Shell • fornece serviços seguros – Ao ligar o terminal • aparece o prompt de login “login:” • usuário entra com seu nome e sua senha e abre uma sessão de trabalho • use logout (ou exit) para encerrar a sessão de trabalho – pois ninguém poderá usar aquele terminal e danificar seus arquivos 4 Terminologia e Conceitos Prompt do shell – Ao abrir uma sessão de trabalho • um prompt é apresentado ao usuário indicando que o shell (interpretador de comandos) está pronto para executar o próximo comando. – Prompt é representado pelo símbolo $, para o usuário comum e # para o superusuário – Cada usuário pode alterar seu prompt para um de sua preferência • coloca-se o diretório corrente para indicar onde ele se encontra – set prompt="%S%m%s[%c]“ – set prompt="`hostname`:`pwd` \! % “ – set prompt="`hostname`:`whoami` \! % " 5 Prompt Prompt do shell – – – – – – – – – – – – – – – – – – – – – – – %B %b colocar em negrito %C nome do diretório corrente %d dia da semana %D dia do mes %h número do history %M nome da máquina (igual `hostname`) %n login do usuário (igual $USER) %p hora com segundos (am/pm) %P hora com segundos (24h) %S %s inversão das cores %t hora sem segundos (am/pm) %T hora sem segundos (24h) %U %u sublinhas %w mês (3 letras) %W mês (número) %y ano (2 últimos números) %Y année (4 números) %# símbolo '>' \! numéro history %/ path %% simbolo '%' %~ path a partir de ~user %. Diretório corrente 6 Prompt Exercício: definir o prompt abaixo: 7 Comandos Manual “on-line” – comando “man” dá acesso ao manual de referência on-line oferecido pelo sistema • poderemos ter um “help” mostrando descrições técnicas a respeito dos comandos – Para chamar o “man”, basta digitar: • $ man comando • Exemplos: $ man ls $ man man 8 Comandos Alterando sua password – Administrador pode definir algum tempo limite para uso da senha do usuário • depois desse tempo, a senha expira e ele é obrigado a trocá-la – Senha representa um fator enorme na busca pela segurança • é a assinatura eletrônica de cada usuário • não use palavras obvias – utilize símbolos, números, maiúsculas e minúsculas – use “passwd” para alterar sua senha 9 Comandos clear – limpa a tela who – Informa quais usuários estão ativos no sistema whoami – Informa qual o seu login name w – Lista usuários e o que eles estão fazendo finger – Lista de usuários logados rusers – Lista todos os usuários do sistema finger username[@hostname] – apresentações de usuários locais ou remotos 10 Comandos Exercício: Procurando alguém no INE – Encontrar o nome completo e email de Pedro Chaves. – Quais pessoas estão usando a máquina juno? 11 Terminologia e Conceitos Diretório HOME – Quando o sistema aceita o login • usuário é colocado em um lugar pré-definido dentro do sistema de arquivos - o diretório HOME – /home/sin/seunome • isto evita que vários usuários usem um mesmo diretório e deixa-o livre para fazer o que quiser dentro do seu “espaço” 12 Comandos ls – lista arquivos do diretório – Algumas opções do ls são muito importantes: • -l: apresenta o tipo do arquivo, suas permissões, proprietário, tamanho, data da última modificação e nome do arquivo (entre outros) • -a: mostra todos os arquivos do diretório, inclusive aqueles cujo nome começa com “.” (arquivos ocultos) • -R: lista, recursivamente, todos os subdiretórios abaixo do diretório solicitado 13 Comandos Comando para diretório – pwd • Informa o diretório corrente • exemplo: $ pwd – cd • Muda o diretório corrente • exemplo: $ cd /tmp • $ cd .. – mkdir • Cria os diretórios informados • exemplo: $ mkdir doc fontes – rmdir • Remove diretórios informados • exemplo: $ rmdir lixo doc/old – mvdir • Muda o lugar de um diretório (move) • exemplo: $ mvdir proj/cdf/doc proj/sgt/doc 14 Comandos Exercícios – – – – Crie o diretório ~/tmp/ e ~/aula/ Crie o diretório ~/tmp/lixo/ Troque o nome de ~/tmp/lixo/ por ~/tmp/teste/ Mude o diretório ~/tmp/teste para ~/aula/teste 15 Comandos Comandos de manipulação de arquivos – – – – – – Copia arquivos: cp arq1 arq2 Apaga arquivos: rm arq1 Edita arquivos: vi arq ou pico arg Cria um arquivo: cat >arquivo Concatena dois arquivos: cat arq1 arq2 > arq3 Acha texto em arquivos: grep • exemplo grep –i –n palavra arquivo – Mostra conteúdo de arquivo: cat arq1 – Mostra uma tela por vez: more arq1 – Muda nome de arquivos: mv arq1 arq2 16 Alguns arquivos especiais .project – Permite especificar um projeto na qual trabalhamos .plan – Permite escrever uma texto no finger .signature – Assinatura de email 17 Exercícios Crie um arquivo ~/aula/arq1 com o texto este eh o conteudo de arq1 Crie um arquivo ~/aula/arq2 com o texto este eh o conteudo de arq2 Concatene o conteúdo de arq1 com arq2 e coloque em arq3 Verifique se há a palavra Government no arquivo /usr/java/Licence Edite um arquivo chamado .project colocando uma mensagem para as pessoas que fizerem finger sobre você 18 Comandos Proteção de Arquivos e Diretórios – Direitos de um arquivos podem ser vistos com: • $ ls -l • -rw-rw-r-- 1 root 48 Jun 17 08:34 arp_data • drwxrwx--x 4 autor 80 Mar 28 09:40 autor – Primeiro caractere indica o tipo do arquivo: • comum (-) – Armazena textos, executáveis, programas, etc – Criados livremente pelo usuário • diretório (d) • link (l) • especial (c, b) – Associado a impressora, disco flexível, etc – Criados e mantidos pelo sistema 19 Comandos Proteção de Arquivos e Diretórios – Direitos de um arquivos podem ser vistos com: • $ ls -l • -rw-rw-r-- 1 root 48 Jun 17 08:34 arp_data • drwxrwx--x 4 autor 80 Mar 28 09:40 autor – Nove caracteres seguintes indicam as permissões para os arquivos • -rwx rwx rwx dono grupo outros • r - read (leitura); w - write (gravação); x - execute (execução) e um traço (-) significa a sua negação 20 Comandos Alterando o dono e o grupo do arquivo – é realizada pelo dono atual ou pelo superusuário – mudança de dono • chown (change owner) • Sintaxe: chown novopropriet arq1 arq2 ... arqn • Exemplo: $ chown root relatorio – Para alterar o grupo ao qual pertence um arquivo • chgrp (change group) • Sintaxe: chgrp novogrupo arq1 arq2 ... arqn • Exemplo: $ chgrp projeto relatorio 21 Comandos Alterando as permissões – mudança das permissões de acesso a um arquivo é feita através do comando chmod – Modo intuitivo de utilizá-lo é: • chmod u/g/o/a +/-/ r/w/x arq – onde: » u: proprietário; g: grupo; o: outros; a: todos » +: libera; -: bloqueia; » r: leitura; w: escrita; x: execução – Exemplos: • $ chmod ug+w relatorio • $ chmod o-rw+x arq1 22 Exercícios Crie um arquivo ~/aula/lixo – Dê permissão de escrita para o seu grupo e para outros – Apague ou altere o arquivo de seu colega Crie um arquivo ~/public_html/index.html – Conteúdo <html> <head> <title> Página de ..(seu nome)....</title> </head> <body> Página em Construção </body> </html> Execute o browser e visite sua página – Em http://www.inf.ufsc.br/~<seulogin> 23 Comandos Manipulação de Processos – Processos são numerados dinamicamente, possuindo um número único de identificação chamado process id (PID) – Comandos • ps: verifica os processos em execução – opções: » -a : lista todos os processos » -u : identifica o usuário » -x : usa um formato detalhado – exemplo: ps -aux | grep seunome • kill: interrompe a execução de um processo – kill IDdoProcesso 24 Funções de apoio aos utilitários Redirecionamento de Entrada e Saída – Entrada e saída do terminal: entrada padrão (stdin), saída padrão (stdout) e saída padrão para erro (stderr) – shell permite o desvio destas E/S para arquivos comuns ou até dispositivos • Desvio da Entrada Padrão < – exemplo: cat <arquivo • Saída Padrão > ou >> (append) – exemplo: cat >arquivo finger nome > lixo who > arqusuarios cat <arqc >>lixo ls >/dev/diskette • Saída Padrão de Erro 2> ou 2>> (append) – exemplo: rm arquivo 2>arqerro 25 Funções de apoio aos utilitários Encadeamento de Comandos – Pipelines – permite conectar a saída de um comando com a entrada de outro – sinal utilizado para um pipe é a barra vertical “|” – exemplos: • finger silva | more – mesmo que finger silva > lixo ; more lixo ; rm lixo • ls | grep pu – mesmo que: ls > lixo ; grep pu lixo ; rm lixo • finger silva | grep –i fernanda 26 Comunicação talk – Permite a comunicação interativa entre duas pessoas. Para estabelecer a conexão é necessário conhecer o host onde a outra pessoa se encontra. – Exemplo: talk nomelogin@venus write – Escreve uma mensagem no terminal de um usuário. – Exemplo: write sincero • Bla • ^C mesg – Habilita ou desabilita a recepção de mensagens • mesg n • mesg y 27 Email Pine – Aplicativo mais utilizado para ler emails no Unix – Ver aula prática Outros leitores – Ver modo de configuração em http://www.inf.ufsc.br/~admrede 28