A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Nosso relacionamento com computadores é baseado em símbolos.

Apresentações semelhantes


Apresentação em tema: "Nosso relacionamento com computadores é baseado em símbolos."— Transcrição da apresentação:

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...


Carregar ppt "Nosso relacionamento com computadores é baseado em símbolos."

Apresentações semelhantes


Anúncios Google