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
Download

Prática Unix