Aprendendo Unix no OS X Mountain Lion Mergulhando no Terminal e no Shell Dave Taylor Novatec Authorized Portuguese translation of the English edition of titled Learning Unix for OS X Mountain Lion, ISBN 9781449332310 © 2012 Dave Taylor. This translation is published and sold by permission of O'Reilly Media, Inc., the owner of all rights to publish and sell the same. Tradução em português autorizada da edição em inglês da obra Learning Unix for OS X Mountain Lion, ISBN 9781449332310 © 2012 Dave Taylor. Esta tradução é publicada e vendida com a permissão da O'Reilly Media, Inc., detentora de todos os direitos para publicação e venda desta obra. © Novatec Editora Ltda. 2013. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Tradução: Orestes Chagas Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-359-8 Histórico de impressões: Maio/2013 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 E-mail: [email protected] Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec Dados Internacionais de Catalogação na Publicação (Câmara Brasileira do Livro, SP, Brasil) Taylor, Dave Aprendendo Unix no OS X Moutain Lion : mergulhando no Terminal e no Shell / Dave Taylor ; [tradução Orestes Chagas]. -- São Paulo : Novatec Editora, 2013. Título original: Learning Unix for OS X Moutain Lion. ISBN 978-85-7522-359-8 1. Mac OS (Computador) 2. Sistemas operacionais (Computadores) 3. UNIX (Sistema operacional de computador) I. Título. 13-05073 CDD-005.446 Índices para catálogo sistemático: 1. UNIX no OS X Moutain Lion : Sistema operacional : Computadores : Processamento de dados 005.446 MP20130506 (CIP) Sumário Sobre o autor.........................................................................................................11 Prefácio.................................................................................................................12 Capítulo 1 ■ Por que usar o Unix?............................................................................24 O poder do Unix.....................................................................................24 Renomear em grupo e compor listas de arquivos..................................28 Encontrando arquivos ocultos.............................................................29 Pastas ou diretórios?................................................................................ 31 Milhares de aplicativos gratuitos...............................................................32 Poderosas conexões à Internet.............................................................32 Comandos que fazem parte do Unix.........................................................34 Exibindo todos os comandos Unix......................................................34 Os dez comandos mais comuns do Unix.............................................35 Um passeio guiado pelo Unix...................................................................36 Capítulo 2 ■ Usando o Terminal...............................................................................39 Entrando no Terminal..............................................................................39 Sintaxe de um comando Unix.............................................................40 Exercício: digitando alguns comandos.................................................43 Tipos de comandos............................................................................ 44 Alterar as preferências do Terminal......................................................45 Recursos do Terminal..........................................................................49 Personalizando sua sessão do Terminal..................................................... 51 Definir o título do Terminal................................................................ 51 Usar AppleScript para manipular o Terminal........................................ 51 Trabalhar com arquivos .terminal........................................................53 Trabalhando com o Terminal....................................................................54 Prompt do shell..................................................................................55 Digitar um comando...........................................................................56 5 6 Aprendendo Unix no OS X Mountain Lion Lembrar comandos anteriores.............................................................58 Completar nomes de arquivos e diretórios...........................................58 Executar vários comandos na linha de comando..................................59 Corrigir um comando........................................................................ 60 Encerrar a sessão................................................................................ 61 Resolução de problemas......................................................................62 Personalizando o ambiente Shell...............................................................62 Escolher um shell de login..................................................................63 Alterar o prompt de comando.............................................................63 Personalização avançada do shell..............................................................65 Opções de configuração do shell........................................................ 66 Criação de aliases...............................................................................70 O Terminal não responde mais................................................................. 71 Capítulo 3 ■ Explorando o sistema de arquivos........................................................73 Sistema de arquivos do OS X....................................................................73 O seu diretório home.......................................................................... 74 O seu diretório de trabalho.................................................................75 Árvore de diretórios............................................................................76 Caminhos absolutos.......................................................................... 77 Caminhos relativos.............................................................................78 Mudando o diretório de trabalho........................................................ 81 Arquivos na árvore de diretórios..........................................................83 Listando arquivos e diretórios..................................................................85 O todo-poderoso comando ls..............................................................85 Experimentando o comando ls........................................................... 86 Usando a opção -l.............................................................................. 90 Permissões de arquivos.......................................................................92 Calculando tamanho de arquivo e espaço em disco...................................95 Calculando o espaço disponível em disco............................................98 Exercício: explorar o sistema de arquivos...........................................100 Protegendo e compartilhando arquivos....................................................101 Permissões de acesso para arquivos.................................................... 103 Definindo permissões com o chmod.................................................. 105 Alterar o grupo e o dono................................................................... 108 Alterando a sua senha............................................................................ 109 Privilégios de superusuário com o sudo................................................... 111 Explorando volumes externos..................................................................113 Sumário Capítulo 4 ■ Gerenciamento de arquivos................................................................116 Nomes de arquivos e diretórios...............................................................116 Curingas de arquivos e diretórios........................................................... 120 Olhando dentro de arquivos................................................................... 122 cat .................................................................................................. 123 less................................................................................................... 124 grep................................................................................................. 126 Criar e editar arquivos............................................................................ 128 Editores de texto e processadores de texto.......................................... 128 Editor de texto vi...............................................................................131 Alternativa mais simples ao vi: Pico................................................... 139 Opção mais complexa: Emacs............................................................141 Gerenciando arquivos............................................................................ 142 Criando diretórios com o mkdir........................................................ 142 Copiando arquivos........................................................................... 144 Renomear e mover arquivos com o mv................................................147 Removendo arquivos e diretórios....................................................... 148 Trabalhando com links..................................................................... 150 Compressão e arquivamento de arquivos........................................... 152 Arquivos em outros sistemas operacionais......................................... 156 Capítulo 5 ■ Encontrando arquivos e informações..................................................157 grep, o comando de nome esquisito........................................................ 157 Opções úteis do grep......................................................................... 159 Trabalhando com expressões regulares................................................161 Encontrando arquivos com o locate........................................................ 165 Criar o banco de dados do locate....................................................... 165 Usando o locate................................................................................166 Usando o find para explorar o sistema de arquivos..................................168 Pesquisar pelo tamanho do arquivo................................................... 169 Informando permissões no find..........................................................171 Use o find para encontrar arquivos modificados recentemente............ 173 xargs, o fiel escudeiro do find............................................................ 175 Mais algumas dicas de find............................................................... 178 Luzes no Spotlight................................................................................. 178 Listar metadados do Spotlight com o mdls........................................ 179 Localizando arquivos com o mdfind.................................................. 184 Tornando o Spotlight útil.................................................................. 185 7 8 Aprendendo Unix no OS X Mountain Lion Capítulo 6 ■ Redirecionamento de entrada e saída (I/O).........................................187 Entrada padrão e saída padrão............................................................... 188 Colocar texto em um arquivo............................................................ 189 Pipes e filtros......................................................................................... 195 wc .................................................................................................. 196 tr .................................................................................................. 197 grep................................................................................................. 199 head e tail.........................................................................................200 sort.................................................................................................. 201 uniq.................................................................................................203 Mandar a saída para um paginador...................................................203 Impressão..............................................................................................205 O jeito Unix.....................................................................................205 Capítulo 7 ■ Multitarefa........................................................................................209 Executando um comando em segundo plano.......................................... 210 Verificando um processo........................................................................ 212 ps ................................................................................................... 212 top ................................................................................................. 215 Outras opções para monitorar processos.............................................217 Cancelar um processo............................................................................220 kill .................................................................................................220 killall .............................................................................................. 221 Abrindo aplicativos gráficos (GUI)......................................................... 223 open................................................................................................. 223 Opções úteis para usar com o open....................................................226 Tornando o open ainda mais útil.......................................................227 Capítulo 8 ■ Unix online........................................................................................229 Logins remotos......................................................................................229 Acesso via web.................................................................................. 233 Acesso remoto e o mundo exterior..................................................... 233 Acesso remoto a outros sistemas Unix............................................... 234 Transferência de arquivos....................................................................... 237 scp e rcp........................................................................................... 237 FTP.................................................................................................. 239 Atalhos fáceis com o New Remote Connection...................................246 Sumário Capítulo 9 ■ Windows e X11..................................................................................248 X11........................................................................................................ 249 Usando o X11.....................................................................................251 Diferenças entre o OS X e o X11.........................................................254 Personalizando o X11........................................................................256 GIMP, o editor gráfico do X11.................................................................258 Capítulo 10 ■ Aonde ir a partir daqui.....................................................................260 Documentação......................................................................................260 Menu Help do Terminal....................................................................260 Comando man................................................................................. 261 Documentação na Internet................................................................264 Livros...............................................................................................266 Personalizando a sua experiência com o Unix.........................................266 Funções e aliases do shell.................................................................. 267 Programação.................................................................................... 267 Perl, Python e Ruby...........................................................................270 C e C++...........................................................................................270 9