AGENDA
0 Por que Unix/Linux?
0 Estrutura do sistema Unix/Linux
0 O Shell
0 Nomes de arquivos especiais
0 Comandos
0 Estrutura dos comandos
0 Comados básicos
0 Arquivos padrão
0 Combinação de comandos
0 Permissões dos arquivos
0 Compilação de programas
2
POR QUE UNIX/LINUX PARA
HPC?
 Geralmente as aplicações Unix/Linux possuem





código fonte disponível o que permite adaptações,
melhoramentos, otimizações.
Muitas das aplicações científicas já estão escritas
para esses sistemas.
Alta compatibilidade entre as ferramentas desses
sistemas.
São seguros.
São sistemas estáveis.
São sistemas escaláveis.
3
ESTRUTURA DO SISTEMA
4
O SHELL
0 O shell é o interpretador da linha de comandos. É a
interface entre o usuário o kernel.
0 Os shells mais comuns são os seguintes
0 Bourne Again Shell (/bin/bash)
0 C Shell (/bin/csh)
0 Turbo C Shell (/bin/tcsh)
0 Korn Shell (/bin/ksh)
5
ALGUNS NOMES DE ARQUIVOS
ESPECIAIS
0 Alguns nomes de arquivos são especiais:
0 / Diretório raiz
0 . Diretório atual
0 .. Diretório pai (diretório anterior)
0 ~ Diretório home
0 Exemplos:
mesmo que a
0 ../jane/x volta um nível, depois entra no diretório jane e
em seguida no diretório x
0 ./a
6
ARQUIVOS ESPECIAIS
0 /home – Os diretórios dos usuários são
armazenados no home.
0 /bin, /usr/bin – Comandos de sistema
0 /sbin, /usr/sbin – Comandos usados pelos
administradores do sistema
0 /etc – Contém arquivos de configuração
0 /var - logs, diretórios de spool etc.
0 /dev – arquivos de dispositivos.
0 /proc – arquivos especiais de sistema
7
ESTRUTURA DOS COMANDOS EM
LINUX
0 Para executar um comando, digite seu nome e os
argumentos na linha de comando.
ls -l /etc
Comando
Opções
(flags)
Argumentos
8
COMANDOS BÁSICOS DO LINUX
0 cd
0 Mudança de Diretório
0 Ex: cd /
0 Ir para o diretório raiz
0 ls
0 Listar os arquivos e diretório do local corrente
0 Ex: ls
0 Variações
0 ls –a
0 ls –l
9
COMANDOS BÁSICOS DO LINUX
0 pwd
0 Mostra a localização atual
0 Ex: pwd
0 mkdir
0 Cria um Diretório
0 Ex: mkdir aula11
10
COMANDOS BÁSICOS DO LINUX
0 cat
0 Exibe o Conteúdo de um Arquivo
0 Ex: cat aula.txt
0 Ex: cat –n aula.txt
0 cp
0 Copia de arquivos
0 Ex: cp aula.txt aula2.txt
0 Ex: cp aula.txt /tmp
11
COMANDOS BÁSICOS DO LINUX
0 date
0 Exibe e altera a data e hora do computador
0 Ex: date
0 Ex: date +%d/%m/%Y
0 mv
0 Mover ou renomear arquivos
0 Ex: mv aula.txt aula3.txt
0 Ex: mv aula3.txt /aula/aula2
12
COMANDOS BÁSICOS DO LINUX
0 clear
0 Limpar a tela
0 Ex: clear
0 df
0 Saber a quantidade de disco ocupada
0 Ex: df –H
0 free
0 Verificar a utilização da memória RAM
0 Ex: free -m
13
COMANDOS BÁSICOS DO LINUX
0 rm ou rmdir
0 apagar arquivos e diretórios
0 Ex: rm aula2.txt
0 Ex: rm –d aula2
0 man
0 Manual on-line dos comando do linux
0 Ex: man date
0 Ex: man cp
14
ARQUIVOS PADRÃO
0 O conceito UNIX de arquivos padrão
0 standard input (stdin) onde um comando obtém seus
dados de entrada.
0 standard output (stdout) onde um comando escreve seu
resultado.
0 standard error (stderr) onde um comando escreve os
erros da sua execução.
15
REDIRECIONAMENTO DE SAÍDAS
0 É possível redirecionar as saídas de programas com >.
0 Exemplo: ao invés de mostrar os resultados na tela,
pode-se gravar o resultado em um arquivo.
0 ls –la > listaArquivos
0 Cuidado, com o >, se o arquivo existir o conteúdo será
sobrescrito. Para evitar o problema, use >> (append).
16
REDIRECIONAMENTO DE
ENTRADAS
0 É possível redirecionar as entradas de programas com
<.
0 Exemplo: suponha que queiramos contar as linhas de
um arquivo.
0 wc < arquivo
17
REDIRECIONAMENTO DE SAÍDAS
DE ERRO
0 As saídas de erro são redirecionadas com 2>.
0 Exemplo: suponha que queiramos contar as linhas de
um arquivo.
0 ls –l arquivo 2> erro.log
18
COMBINAÇÃO DE COMANDOS
0 Os comandos podem ser combinados através do pipe.
0 O pipe ‘|’ permite que a saída de um comando seja a
entrada de outro.
0 Exemplo:
0 ls –la | less
0 Nesse exemplo, a saída do comando ls serve como
entrada para o comando less.
19
PERMISSÕES DE ARQUIVOS
0 Todo arquivo
0 É de propriedade de alguém
0 Pertence a um grupo
0 Tem algumas permissões de acesso para o usuário, para
o grupo e para os outros.
20
PERMISSÕES DE ARQUIVOS
0 Todo usuário …
0 Tem um uid (id de usuário), gid (id de grupo) e uma lista
de grupos dos quais é membro:
0 O uid é quem você é (name and number)
0 O gid é seu grupo inicial
0 A lista de grupos são os grupos que você pertence.
21
PERMISSÕES DE ARQUIVOS
0 Linux/Unix proveem três tipos de permissão:
0 Read – permissão para ler o arquivo/diretório
0 Write – permissão para escrever no arquivo/diretório
0 EXecute – permissão para executar o arquivo (script ou
programa).
22
PERMISSÕES DE ARQUIVOS
0 Ao usar o comando (ls -l) será mostrada uma lista
de arquivos e suas permissões:
-rwxrwxr-x
-rw-rw-r--rw-rw-r-drwxrwxr-x
1
1
1
7
gradvohl
gradvohl
gradvohl
gradvohl
gradvohl
gradvohl
gradvohl
gradvohl
5224
221
1514
1024
Dec
Dec
Dec
Dec
30
30
30
31
03:22
03:59
03:59
14:52
hello
hello.c
hello.s
posixu
Grupo
Permissões
Dono
23
PERMISSÕES DE ARQUIVOS
-rwxrwxrwx
Permissões dos outros
Permissões do grupo
Permissões do usuário
flag de Diretório (d=diretório; l=link)
24
ALTERAR PERMISSÕES DE
ARQUIVOS
0 Use o comando chmod para mudar as permissões dos
arquivos.
0 Exemplos:
0 chmod u+x script.sh
0 chmod o-w arq.c
0 chmod a-x arquivo.q
25
COMPILAÇÃO DE PROGRAMAS
0 Em Linux/Unix , a compilação de programas é feita da
seguintes forma:
0 Programaas em C:
cc fonte.c –o fonte.o
gcc fonte.c –o fonte.o
0 Programas em Fortran
gfortran fonte.f –o fonte.o
26
Download

Grupo de Estudos em Software Livre na FT/Unicamp