Este livro é dividido em cinco partes, que apresenta habilidades de programação shell, vários comandos e sintaxe UNIX em detalhes, e também envolve processamento de texto no UNIX e um pequeno número de questões de gerenciamento de sistema. Este livro é abrangente em conteúdo e conciso e suave em texto, tornando-o adequado para programadores Shell aprenderem e consultarem.
Índice Prefácio do Tradutor Parte Um Shell
Capítulo 1 Segurança e permissões de arquivos 1
1.1 Documento 1
1.2 Tipo de arquivo 2
1.3 Permissão 2
1.4 Alterar permissão bit 4
1.4.1 Modo de Símbolo 4
1.4.2 Exemplo de comando chmod 5
1.4.3 Modo absoluto 5
1.4.4 Outros exemplos do comando chmod 6
1.4.5 Você pode escolher usar o modo simbólico ou o modo absoluto 7
1.5 Conteúdo 7
1,6 suid/guid 7
1.6.1 Por que usar suid/guid 8
1.6.2 Exemplo de configuração suid/guid 8
1,7 chown e chgrp 9
1.7.1 chown exemplo 9
1.7.2 exemplo 9 do chgrp
1.7.3 Descubra a quais grupos de usuários você pertence 9
1.7.4 Descubra a quais grupos outros usuários pertencem10
1.8uma máscara 10
1.8.1 Como calcular o valor umask 10
1.8.2 Valor umask comumente usado 11
1.9 Links simbólicos 12
1.9.1 Usando links virtuais para salvar múltiplas imagens de um arquivo 12
1.9.2 Exemplo de link simbólico 12
1.10 Resumo 13
Capítulo 2 Usando find e xargs 14
2.1 encontrar opções de comando 14
2.1.1 Usando a opção de nome 15
2.1.2 Usando a opção de permissão 16
2.1.3 Ignorar um diretório 16
2.1.4 Usando as opções user e nouser 16
2.1.5 Usando as opções group e nogroup 16
2.1.6 Localizar arquivos com base no horário de alteração 17
2.1.7 Encontrar arquivos mais recentes ou mais antigos que um determinado arquivo 17
2.1.8 Usando a opção de tipo 17
2.1.9 Usando a opção de tamanho 18
2.1.10 Usando a opção de profundidade 18
2.1.11 Usando a opção de montagem 18
2.1.12 Usando a opção 18 do cpio
2.1.13 Use exec ou ok para executar comandos shell 19
2.1.14 Exemplo 20 do comando find
2,2 xargs 20
2.3 Resumo 21
Capítulo 3 Executando comandos em segundo plano 22
3.1 cron e crontab 22
3.1.1 domínio crontab 22
3.1.2 Exemplos de entradas do crontab 23
3.1.3 opção de comando crontab 23
3.1.4 Criar um novo arquivo crontab 24
3.1.5 Listar arquivos crontab 24
3.1.6 Editar arquivo crontab 24
3.1.7 Excluir arquivo crontab 25
3.1.8 Recuperar arquivos crontab perdidos 25
3.2 no comando 25
3.2.1 Use o comando at para enviar comandos ou scripts 26
3.2.2 Listar tarefas enviadas 27
3.2.3 Limpar um trabalho 27
3.3 e Comando 27
3.3.1 Enviar comando para segundo plano 28
3.3.2 Use o comando ps para visualizar o processo 28
3.3.3 Eliminar processos em segundo plano 28
3.4 comando nohup 29
3.4.1 Use o comando nohup para enviar trabalhos 29
3.4.2 Enviar vários trabalhos de uma vez 29
3.5 Resumo 30
Capítulo 4 Substituição de nome de arquivo 31
4.1 Uso* 31
4.2 Usar? 32
4.3 Usando [...] e [!...] 32
4.4 Resumo 33
Capítulo 5 Entrada e Saída do Shell 34
5,1 eco 34
5,2 leia 35
5,3 gato 37
5.4 Pipeline 38
5,5 tee 39
5.6 Entrada, saída e erros padrão 40
5.6.1 Entrada padrão 40
5.6.2 Saída padrão 40
5.6.3 Erro padrão 40
5.7 Redirecionamento de Arquivo 40
5.7.1 Redirecionando a saída padrão 41
5.7.2 Redirecionando entrada padrão 42
5.7.3 Redirecionando erro padrão 42
5.8 Usando saída padrão e erro padrão juntos 43
5.9 Mesclando saída padrão e erro padrão 43
5.10 exec 44
5.11 Usando descritores de arquivo 44
5.12 Resumo 45
Capítulo 6 Sequência de Execução de Comandos 46
6.1 Usando && 46
6.2 Uso || 46
6.3 Use () e { } para combinar comandos 47
6.4 Resumo 48
Parte 2 Filtragem de Texto Capítulo 7 Introdução às Expressões Regulares 49
7.1 Usando pontos para corresponder caracteres únicos 50
7.2 Combine uma string ou sequência de caracteres com ^ no início da linha 50
7.3 Combine a string ou caractere 51 com $ no final da linha
7.4 Use * para corresponder a um único caractere ou sua sequência repetida em uma string 51
7.5 Use para mascarar o significado de um caractere especial 52
7.6 Use [] para corresponder a um intervalo ou conjunto 52
7.7 Use {} para corresponder ao número de vezes que o resultado do padrão aparece 53
7.8 Resumo 55
Capítulo 8 família grep 56
8.1 grep 57
8.1.1 Aspas duplas 57
8.1.2 opção grep 57
8.1.3 Consultar vários arquivos 57
8.1.4 Correspondência de Linha 57
8.1.5 Número de linhas 58
8.1.6 Exibindo linhas não correspondentes 58
8.1.7 Correspondência exata 58
8.1.8 Sensibilidade a maiúsculas e minúsculas 58
8.2 grep e expressões regulares 58
8.2.1 Faixa de modo 59
8.2.2 Não corresponde ao início da linha 59
8.2.3 Definir caso 59
8.2.4 Combine qualquer caractere 59
8.2.5 Consulta de data 59
8.2.6 Combinação de faixa 60
8.2.7 Probabilidade de aparecimento de padrão 60
8.2.8 Use grep para corresponder aos padrões “AND” ou “OR” 61
8.2.9 Linha em branco 61
8.2.10 Corresponder caracteres especiais 61
8.2.11 Consultar nome do arquivo formatado 61
8.2.12 Consultar endereço IP 61
8.3 Nome da classe 62
8.4 Comando grep do sistema 62
8.4.1 Índice 63
8.4.2 arquivo de senha 63
8.4.3 Usando o comando ps 63
8.4.4 Usando grep 64 em uma string
8,5 egrep 64
8.6 Resumo 65
Capítulo 9 Introdução ao AWK 66
9.1 Chamando awk 66
9.2 script awk 67
9.2.1 Padrões e Ações 67
9.2.2 Domínios e registros 67
9.2.3 Expressões regulares e suas operações no awk 70
9.2.4 Metacaracteres 70
9.2.5 Operadores condicionais 70
9.2.6 variáveis integradas do awk 73
9.2.7 NF, NR e NOME DO ARQUIVO 74
9.2.8 operador awk 75
9.2.9 Funções de string integradas 78
9.2.10 Sequência de mascaramento de string 80
9.2.11 função de saída awk printf 81
9.2.12 modificador printf 81
9.2.13 matriz awk 86
9.3 Resumo 88
Capítulo 10 Introdução ao uso do sed 89
10.1 Como ler dados com sed 89
10.2 Chamando sed 89
10.2.1 Salvando a saída sed 90
10.2.2 Como usar sed para consultar texto em um arquivo 90
10.2.3 Comandos básicos de edição do sed 90
10.3 sed e expressões regulares 91
10.4 Exemplos básicos de programação sed 91
10.4.1 Usando p(rint) para exibir a linha 91
10.4.2 Faixa de impressão 91
10.4.3 Modo de impressão 92
10.4.4 Consultando usando padrões e números de linha 92
10.4.5 Metacaracteres correspondentes 92
10.4.6 Exibindo o arquivo inteiro 92
10.4.7 Qualquer caractere 92
10.4.8 Primeira linha 92
10.4.9 Última linha 93
10.4.10 Imprimir número da linha 93
10.4.11 Texto adicional 93
10.4.12 Criar arquivo de script sed 94
10.4.13 Inserindo texto 94
10.4.14 Modificar texto 95
10.4.15 Excluir texto 96
10.4.16 Texto de substituição 96
10.5 Modificando strings usando substituição 97
10.6 Grave os resultados do sed no comando de arquivo 97
10.7 Lendo texto de um arquivo 98
10.8 Saída 98 após correspondência
10.9 Exibindo caracteres de controle em arquivos 99
10.10 Usando o sistema sed 99
10.10.1 Manipulando caracteres de controle 99
10.10.2 Processando saída de mensagem 101
10.10.3 Remova o número 101 no início da linha
10.10.4 Texto adicional 102
10.10.5 Passando o valor 102 do shell para o sed
10.10.6 Configurando variáveis de shell da saída sed 102
10.11 Comandos rápidos de uma linha 102
10.12 Resumo 103
Capítulo 11 Fusão e Cisão 104
11.1 classificação de uso 104
11.1.1 Visão Geral 104
11.1.2 opções de classificação 104
11.1.3 Salvando saída 105
11.1.4 método de inicialização de classificação 105
11.1.5 Como a classificação se refere aos domínios 105
11.1.6 Se o arquivo foi classificado 105
11.1.7 Classificação básica 106
11.1.8 inversão de classificação de classificação 106
11.1.9 Classificação por domínio designado 106
11.1.10 Classificação de campos numéricos 106
11.1.11 Classificação de exclusividade 107
11.1.12 Outros métodos de classificação usando k 108
11.1.13 Usando k para classificação de chave de classificação 108
11.1.14 Especifique a sequência de classificação 108
11.1.15 pos uso 108
11.1.16 Classificar saída usando head e tail 109
11.1.17 awk usa classificação para gerar resultados 109
11.1.18 Mesclar dois arquivos de classificação 110
11.2 Classificação do sistema 110
11.3 uso exclusivo 111
11.4 uso de junção 112
11,5 corte de uso 114
11.5.1 Usando separadores de domínio 115
11.5.2 Corte o campo especificado 115
11.6 uso de pasta 116
11.6.1 Especificando colunas 116
11.6.2 Usando diferentes delimitadores de campo 116
11.6.3 colar a entrada do pipeline de comando 117
11,7 uso dividido 117
11.8 Resumo 118
Capítulo 12 tr Uso 119
12.1 Sobre tr 119
12.1.1 Faixa de caracteres 119
12.1.2 Salvando saída 120
12.1.3 Removendo caracteres repetidos 120
12.1.4 Excluir linhas vazias 120
12.1.5 Maiúsculas para minúsculas 121
12.1.6 Minúsculas para maiúsculas 121
12.1.7 Excluir caracteres especificados 121
12.1.8 Convertendo caracteres de controle 122
12.1.9 Conversão rápida 122
12.1.10 Correspondendo mais de um caractere 123
12.2 Resumo 123
Parte 3 Ambiente de Login Capítulo 13 Ambiente de Login 125
13.1 /etc/perfil 125
13.2 $HOME.profile do usuário 128
13,3 uso padrão 129
13.4 Criar arquivo .logout 131
13.5 Resumo 131
Capítulo 14 Variáveis de Ambiente e Shell 132
14.1 O que são variáveis de shell 132
14.2 Variáveis locais 132
14.2.1 Variáveis de exibição 133
14.2.2 Limpar variáveis 133
14.2.3 Exibir todas as variáveis locais do shell 133
14.2.4 Combinando valores de variáveis 134
14.2.5 Testando se uma variável foi definida 134
14.2.6 Use variáveis para salvar parâmetros de comando do sistema 135
14.2.7 Configurando variáveis somente leitura 135
14.3 Variáveis ambientais 136
14.3.1 Configurando variáveis de ambiente 136
14.3.2 Exibir variáveis de ambiente 136
14.3.3 Limpar variáveis de ambiente 137
14.3.4 Incorporando variáveis de shell 137
14.3.5 Outras variáveis de ambiente 139
14.3.6 definir comando 140
14.3.7 Exportando variáveis para processos filhos 140
14.4 Parâmetros variáveis posicionais 141
14.4.1 Usando parâmetros posicionais em scripts 142
14.4.2 Passando parâmetros para comandos do sistema 142
14.4.3 Parâmetros variáveis específicos 143
14.4.4 Status de saída final 144
14.5 Resumo 145
Capítulo 15 Citações 146
15.1 Necessidade de citação 146
15.2 Aspas duplas 146
15.3 Aspas simples 147
15.4 Crases 147
15.5 Barra invertida 148
15.6 Resumo 149
Parte 4 Programação Básica de Shell Capítulo 16 Introdução aos Shell Scripts 151
16.1 Razões para usar scripts de shell 151
16.2 Conteúdo do roteiro 151
16.3 Executando um script 152
16.4 Resumo 153
Capítulo 17 Teste Condicional 154
17.1 Status do arquivo de teste 154
17.2 Usando operadores lógicos ao testar 155
17.3 Teste de cordas 155
17.4 Valor de teste 156
17,5 uso expresso 157
17.5.1 Contagem incremental 158
17.5.2 Teste numérico 158
17.5.3 Correspondência de padrões 158
17.6 Resumo 159
Capítulo 18 Estruturas de Fluxo de Controle 160
18.1 Status de saída 160
18.2 Estrutura de Controle 160
18.2.1 Controle de fluxo 161
18.2.2 Laços 161
18.3 declaração if then else 161
18.3.1 Instrução if simples 162
18.3.2 Teste de valor variável 162
18.3.3 inspeção de saída grep 163
18.3.4 Testando a saída do grep com variáveis 163
18.3.5 Verificação de saída de cópia de arquivo 164
18.3.6 Teste do diretório atual 164
18.3.7 Teste de permissão de arquivo 165
18.3.8 Parâmetros de teste passados para scripts 165
18.3.9 Determinando se o script está no modo interativo 165
18.3.10 Instrução if else simples 166
18.3.11 Teste de ajuste de variável 166
18.3.12 Detectando o usuário executando o script 166
18.3.13 Passar parâmetros de script para comandos do sistema 167
18.3.14 nulo: uso do comando 167
18.3.15 Resultados de criação de diretório de teste 168
18.3.16 Outra instância de cópia 169
18.3.17 Múltiplas instruções if 169
18.3.18 Testando e configurando variáveis de ambiente 169
18.3.19 Detectando o status do último comando 170
18.3.20 Adicionando e verificando valores inteiros 171
18.3.21 Script de login seguro simples 172
18.3.22 uso de elif 173
18.3.23 Usando elif para detecção de múltiplas condições 173
18.3.24 Detecção de localização de vários arquivos 174
18.4 declaração de caso 175
18.4.1 Declaração de caso simples 175
18.4.2 Usando padrões de correspondência 176 |
18.4.3 Solicitação para digitar y ou n 177
18.4.4 caso e parâmetro de comando passando 177
18.4.5 Capturando entrada e executando um comando vazio 178
18.4.6 Valores de variáveis padrão 179
18,5 para ciclo 180
18.5.1 Loop for simples 181
18.5.2 Imprimindo uma lista de strings 181
18.5.3 Usando o comando ls com um loop for 181
18.5.4 Usando parâmetros com loops for 182
18.5.5 Usando loop for para conectar ao servidor 183
18.5.6 Usando loop for para fazer backup de arquivos 183
18.5.7 Conversão de vários arquivos 183
18.5.8 Operações múltiplas de exclusão de sed 184
18.5.9 Contagem de Loops 184
18.5.10 para loops e documentos locais 184
18.5.11 para incorporação de loop 185
18,6 até o loop 186
18.6.1 Simples até o loop 186
18.6.2 Monitorando arquivos 187
18.6.3 Monitorando o espaço em disco 187
18,7 enquanto loop 188
18.7.1 Loop while simples 188
18.7.2 Use o loop while para ler a entrada do teclado 188
18.7.3 Lendo dados de um arquivo usando um loop while 189
18.7.4 Lendo arquivos usando IFS 189
18.7.5 Processamento de arquivos com condições de teste 190
18.7.6 Verificando linhas de arquivo para contagem 191
18.7.7 Lendo um par de registros por vez 193
18.7.8 Ignore o caractere # 193
18.7.9 Processando relatórios formatados 194
18.7.10 loops while e descritores de arquivo 196
18.8 Usando break e continue para controlar loops 197
18.8.1 pausa 197
18.8.2 Declaração de salto para fora do caso 197
18.8.3 continuar 197
18.8.4 Navegando nas linhas do arquivo 198
18.9 Cardápio 199
18.10 Resumo 201
Capítulo 19 Funções Shell 202
19.1 Definindo funções em scripts 203
19.2 Usando funções em scripts 203
19.3 Passando parâmetros para funções 203
19.4 Retornando 203 da função de chamada
19.5 Teste do valor de retorno da função 204
19.6 Usando funções no shell 204
19.7 Criando arquivos de função 204
19.8 Localizando arquivos 205
19.9 Verificando Funções de Carregamento 205
19.10 Executando funções shell 205
19.10.1 Excluir função shell 206
19.10.2 Editando funções shell 206
19.10.3 Exemplos de funções 207
19.10.4 Agrupando funções 219
19.11 Chamadas de função 219
19.11.1 Chamando funções em scripts 219
19.11.2 Chamando funções de arquivos de função 220
19.12 Localizar arquivos não é apenas para funções 222
19.13 Resumo 223
Capítulo 20 Passando Parâmetros para Scripts 224
20.1 comando de mudança 225
20.1.1 Uso simples do comando shift 225
20.1.2 O último parâmetro inserido na linha de comando 225
20.1.3 Usando shift para processar conversão de arquivo 226
20,2 obtém opções 229
20.2.1 exemplo de script getopts 229
20.2.2 Como usar getopts 231
20.2.3 Use getopts para especificar valores de variáveis 231
20.2.4 Método de valor de acesso 232
20.2.5 Usando getopts para lidar com a conversão de arquivos 233
20.3 Resumo 235
Capítulo 21 Criando saída de tela 236
21,1 uso de tput 236
21.1.1 Saída de string 236
21.1.2 Saída digital 237
21.1.3 Saída booleana 237
21,2 tput de uso 237
21.2.1 Configurando o comando tput 237
21.2.2 Usando saída booleana 237
21.2.3 Usando tput em scripts 237
21.2.4 Gerando sequências de escape 238
21.2.5 Posição do cursor 239
21.2.6 Exibindo texto no centro da tela 240
21.2.7 Encontrando atributos de terminal 240
21.2.8 Usando teclas de função em scripts 241
21.2.9 Usando a Cor 242
21.2.10 Gerando Cor 243
21.2.11 Criar menu requintado 246
21.3 Resumo 251
Capítulo 22 Criando entrada de tela 252
22.1 Adicionar registros 252
22.2 Excluir registros 262
22.3 Registros de modificação 266
22.4 Ver registros 270
22.5 Resumo 273
Capítulo 23 Scripts de depuração 274
23.1 Erros Gerais 274
23.1.1 Erro de loop 274
23.1.2 Aspas ausentes típicas 274
23.1.3 Erro de teste 274
23.1.4 Caixa de caracteres 275
23.1.5 para circuito 275
23.1.6 eco 275
23.2 definir comando 275
23.3 Resumo 276
Capítulo 24 Comandos de incorporação de shell 277
24.1 Lista completa de comandos incorporados no shell 277
24.1.1 senha 277
24.1.2 conjunto 278
24,1,3 vezes 278
24.1.4 tipo 278
24.1.5 limite 279
24.1.6 espere 279
24.2 Resumo 279
Parte 5 Técnicas avançadas de programação Shell Capítulo 25 Discussão aprofundada
Expandir