280 likes | 380 Views
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
E N D
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)
Terminologia e Conceitos • Superusuário • é aquele usuário com permissões irrestritas • administrador do sistema • suas funções (contacte pela admrede@inf.ufsc.br) • 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
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
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` \! % "
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
Prompt Exercício: definir o prompt abaixo:
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
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
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
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?
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”
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
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
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
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
Alguns arquivos especiais • .project • Permite especificar um projeto na qual trabalhamos • .plan • Permite escrever uma texto no finger • .signature • Assinatura de email
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ê
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
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
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
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
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>
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
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
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
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
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