Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouKevin Cano Alterado mais de 10 anos atrás
1
Nosso relacionamento com computadores é baseado em símbolos.
2
XVI CPF 2+3 190 242-4242
3
A representação da informação dentro de um computador digital é feita na forma de números.
4
6566671049505110686910979810 Representação interna do conteúdo de um arquivo
5
No LINUX ou no Windows, arquivos são concebidos e tratados como STREAMS (minhocas) de BYTES.
6
O que é um BYTE? Um BYTE é um número entre 0 e 255 (*). (*) NOTA: Um BYTE é um conjunto de 8 bits (dígitos binários)
7
A : 65 B : 66... Z : 90 a : 97 b : 98... z : 122 0 : 48 1 : 49... 9 : 57 Caracteres especiais : 0 : NULO 8 : BACKSPACE 9 : TAB 10 : mudança de linha 12 : mudança de página
8
6566671049505110686910979810
9
ABC 123 DE ab Convertendo a representação interna de um arquivo que eu considero como um arquivo texto: mudança de linha mudança de linha mudança de linha mudança de linha
10
Visualizando o arquivo no meu Terminal de Vídeo: $ cat arquivo ABC 123 DE ab $ ABC10123 DE ab
11
É claro que você já ouviu falar que os comandos no LINUX tem o seguinte formato: $ comando opções argumentos... PAUSA
12
entrada saída erro (saída de erro) opçõesargumentos retorno comando
13
Comandos no LINUX são aplicações (pequenos programas). OS LM dispositivos aplicação
14
entrada saída erro (saída de erro) retorno opçõesargumentos comando KERNEL (OS)
15
saída retorno arquivo cat KERNEL opções entrada erro (saída de erro)
16
saída retorno arquivo KERNEL opções entrada erro (saída de erro) cat
17
retorno arquivo KERNEL opções entrada erro (saída de erro) 6566671049505110686910979810 cat
18
retorno arquivo KERNEL opções entrada erro (saída de erro) 6566671049505110686910979810 cat
19
saída 0 (ZERO quer dizer OK) arquivo KERNEL opções entrada erro (saída de erro) cat
20
- Pô mas o cat não serve para eu ver o conteúdo de um arquivo? Tudo o que o cat cuspiu foram os tais numerinhos... 6566671049505110686910979810 - Tá certo isso ?
21
Por default, a saída padrão de um comando no SHELL é o terminal. O cat não sabe para onde vai a sua saída, ele simplesmente manda a minhoca para a saída que ele conhece. E a gente já viu o que o device driver do terminal faz com a minhoca de BYTES...
22
device driver (terminal) $ cat arquivo ABC 123 DE ab $ 6566671049505110686910979810
23
device driver (printer) ABC 123 DE ab $ cat arquivo > /dev/lp $ Impressora Personal TABAJet 6566671049505110686910979810
24
File System (disco) $ cat arquivo > arquivo2 $ (conteúdo de arquivo2) 65666710495051106869109798106566671049505110686910979810
25
O UNIX introduz o conceito de que tanto arquivos quanto dispositivos manipulam STREAMS de BYTES.
26
O UNIX revolucionou ao propor que as interfaces com os dispositivos físicos aparentassem ser arquivos no File System. exemplos: /dev/mouse, /dev/modem, /dev/lp
27
Modelo geral de um device driver no UNIX: controle entradasaída device driver
28
saída retorno pau cat KERNEL opções entrada erro (saída de erro)
29
saída retorno pau KERNEL opções entrada erro (saída de erro) cat
30
retorno pau KERNEL opções entrada erro (saída de erro) cat saída não existe!
31
retorno pau KERNEL opções entrada cat saída erro (saída de erro)
32
retorno pau KERNEL opções entrada cat: pau not found cat saída
33
1 (UM quer dizer ERRO) arquivo KERNEL opções entrada erro (saída de erro) cat
34
A saída padrão e a saída de erro padrão no UNIX são dois canais de minhocas independentes. Tudo o que vale para a saída padrão vale para a saída de erro padrão.
35
Já que entradas e saídas para arquivos e dispositivos são STREAMS de BYTES, é possível ligar a saída de um comando na entrada de outro comando. Comandos, em princípio, não quebram esse padrão.
36
(out = in) retorno arquivo cat KERNEL opções erro wc -l argumentos retorno erro 4 6566671049505110686910979810
37
PIPES são estruturas de processamento em que a saída padrão de um comando é conectada à entrada padrão do comando seguinte.
38
Um DIRETÓRIO é um conjunto de informações sobre arquivos e/ou outros diretórios.
39
babaoto $ dir1
40
Todo o processo no UNIX tem um diretório corrente ( pwd ). Nosso exercício começa, quando de alguma forma, após um cd fizemos do diretório dir1 o nosso diretório corrente. Nesse exercício, ele será o diretório corrente o tempo todo. Não revisaremos o comando cd.
41
babaoto $ pwd / qualquer coisa... /dir1 dir1
42
babaoto $ pwd / qualquer coisa... /dir1 $ dir1
43
babaoto $ pwd / qualquer coisa... /dir1 $ clear dir1
44
babaoto $ dir1
45
babaoto $ ls baba oto $ dir1
46
babaoto $ ls baba oto $ cp baba caco dir1
47
babaoto $ ls baba oto $ cp baba caco dir1 caco
48
babaoto $ ls baba oto $ cp baba caco dir1 caco
49
babaoto $ ls baba oto $ cp baba caco dir1 caco
50
babaoto $ ls baba oto $ cp baba caco $ dir1 caco
51
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco dir1 caco
52
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco dir1 caco
53
O SHELL entende o comando $ cat caco oto > caco como $ cat caco oto > caco Ele primeiro reseta o arquivo caco e depois concatena as minhocas de caco e oto. Resultado: ele apaga o conteúdo do arquivo caco e depois usa...
54
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco dir1 caco
55
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ dir1 caco
56
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ dir1 caco
57
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco dir1 caco
58
O SHELL entende o comando $ cat oto >> caco como $ cat oto >> caco Ele primeiro posiciona o arquivo caco no final deste e depois concatena a minhoca de oto.
59
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco dir1 caco
60
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco $ dir1 caco
61
Chega de cat por hoje...
62
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco $ rm caco dir1 caco
63
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco $ rm caco dir1 caco
64
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco $ rm caco $ dir1
65
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco $ rm caco $ mkdir dir12 dir1
66
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco $ rm caco $ mkdir dir12 dir1 dir12
67
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco $ rm caco $ mkdir dir12 $ dir1 dir12
68
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco $ rm caco $ mkdir dir12 $ ls dir12 $ dir1 dir12
69
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco $ rm caco $ mkdir dir12 $ ls dir12 $ cp oto dir12 dir1 dir12
70
O comando cp descobre que dir12 é um diretório: $ cp oto dir12 e então copia o arquivo oto nesse diretório. Repare que se dir12 não existisse o comando cp obviamente criaria um arquivo chamado dir12.
71
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco $ rm caco $ mkdir dir12 $ ls dir12 $ cp oto dir12 $ dir1 dir12 oto
72
babaoto $ ls baba oto $ cp baba caco $ cat caco oto > caco $ cp baba caco $ cat oto >> caco $ rm caco $ mkdir dir12 $ ls dir12 $ cp oto dir12 $ clear dir1 dir12 oto
73
babaoto $ dir1 dir12 oto
74
babaoto $ ls dir12 oto $ dir1 dir12 oto
75
babaoto $ ls dir12 oto $ mv oto ito dir1 dir12 oto
76
babaito $ ls dir12 oto $ mv oto ito dir1 dir12 oto
77
babaito $ ls dir12 oto $ mv oto ito $ dir1 dir12 oto
78
babaito $ ls dir12 oto $ mv oto ito $ rm dir12/oto dir1 dir12 oto
79
babaito $ ls dir12 oto $ mv oto ito $ rm dir12/oto dir1 dir12 oto
80
babaito $ ls dir12 oto $ mv oto ito $ rm dir12/oto $ dir1 dir12
81
babaito $ ls dir12 oto $ mv oto ito $ rm dir12/oto $ mv baba ito dir12 dir1 dir12
82
O comando mv descobre que baba e ito são arquivos e que dir12 é um diretório: $ mv baba ito dir12 assim, ele move os dois arquivos para esse diretório. Repare que se dir12 não existisse o comando mv resultaria em erro, pois ele não pode renomear dois arquivos para um terceiro.
83
babaito $ ls dir12 oto $ mv oto ito $ rm dir12/oto $ mv baba ito dir12 dir1 dir12
84
babaito $ ls dir12 oto $ mv oto ito $ rm dir12/oto $ mv baba ito dir12 $ dir1 dir12
85
babaito $ ls dir12 oto $ mv oto ito $ rm dir12/oto $ mv baba ito dir12 $ ls dir12 $ dir1 dir12
86
babaito $ ls dir12 oto $ mv oto ito $ rm dir12/oto $ mv baba ito dir12 $ ls dir12 $ ls dir12 baba ito $ dir1 dir12
87
babaito $ ls dir12 oto $ mv oto ito $ rm dir12/oto $ mv baba ito dir12 $ ls dir12 $ ls dir12 baba ito $ clear dir1 dir12
88
babaito $ dir1 dir12
89
babaito $ mv dir12/baba. dir1 dir12
90
baba ito $ mv dir12/baba. dir1 dir12
91
baba ito $ mv dir12/baba. $ dir1 dir12
92
baba ito $ mv dir12/baba. $ rm -r dir12 dir1 dir12
93
baba ito $ mv dir12/baba. $ rm -r dir12 dir1 dir12
94
baba $ mv dir12/baba. $ rm -r dir12 $ dir1
95
baba $ mv dir12/baba. $ rm -r dir12 $ ln baba oto dir1
96
baba $ mv dir12/baba. $ rm -r dir12 $ ln baba oto dir1 oto
97
baba $ mv dir12/baba. $ rm -r dir12 $ ln baba oto dir1 oto
98
baba $ mv dir12/baba. $ rm -r dir12 $ ln baba oto $ dir1 oto
99
baba $ mv dir12/baba. $ rm -r dir12 $ ln baba oto $ ln oto caco dir1 oto
100
baba $ mv dir12/baba. $ rm -r dir12 $ ln baba oto $ ln oto caco dir1 otocaco
101
baba $ mv dir12/baba. $ rm -r dir12 $ ln baba oto $ ln oto caco $ dir1 otocaco
102
baba $ mv dir12/baba. $ rm -r dir12 $ ln baba oto $ ln oto caco $ rm oto dir1 otocaco
103
baba $ mv dir12/baba. $ rm -r dir12 $ ln baba oto $ ln oto caco $ rm oto dir1 caco
104
$ mv dir12/baba. $ rm -r dir12 $ ln baba oto $ ln oto caco $ dir1 otocaco NOTA: Se eu tivesse feito: $ rm baba O resultado seria o indicado.
105
Vimos os comandos: cp COPY mv MOVE ln LINK rm REMOVE IMPORTANTE: Todos eles tem em comum o fato de alterarem as informações dos arquivos nos diretórios em que esses arquivos se localizam.
106
No LINUX ou no Windows, arquivos são concebidos e tratados como STREAMS (minhocas) de BYTES. 6566671049505110686910979810 exemplo: representação interna do conteúdo de um arquivo
107
Comandos no UNIX são aplicações. OS LM dispositivos aplicação entradasaída
108
entrada saída erro (saída de erro) retorno opçõesargumentos comando KERNEL
109
A saída padrão e a saída de erro padrão no UNIX são dois canais de minhocas independentes.
110
PIPES são estruturas de processamento em que a saída padrão de um comando é conectada à entrada padrão do comando seguinte.
111
O UNIX introduz o conceito de que tanto arquivos quanto dispositivos manipulam STREAMS de BYTES.
112
Para o UNIX, as interfaces com os dispositivos físicos aparentam ser arquivos no File System. exemplos: /dev/mouse, /dev/modem, /dev/lp
113
Modelo geral de um device driver no UNIX: controle entradasaída device driver
114
CPU Process Management RAM Memory Management disco File Systems dispositivos Device Drivers X NOTA: Isto aqui é como um campeonato: Todo mundo joga contra todo mundo...
115
PAPAI NOEL não existe.
116
O cat não sabe para onde vai a sua saída, ele simplesmente manda a minhoca para a saída que ele conhece. E a gente já viu o que o device driver do terminal faz com a minhoca de BYTES...
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.