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