SlideShare uma empresa Scribd logo
1 de 20
AED II
Linux, Shell, GCC, Make
Pedro do Couto Soares
pscoutosoares@gmail.com
LINUX Shell
Bash - Linux shell
Características
- Comandos : Ações a serem executadas pelo shell
- Ex: Mover uma pasta, apagar um arquivo
- Opções/Flags: Definem como o comando ou programa será executado
- Ex: “RM(Comando) -rf”, “LS(Comando) -la”
- Argumento: Informação extra passada para a execução de um comando
- Ex: Diretório de destino, diretório que um arquivo se encontra
Conceito
.. - Indica o diretório anterior
. - Indica o diretório atual
~ - Indica o diretório home do usuário
# - Comentário
Segurança / Modo de acesso
● Modo usuário
● Modo root / super usuário(SUDO)
Usuário@Dispositivo:/ $ - Indica conexão sem privilégios de root
Usuário@Dispositivo:/ # - Indica conexão com privilégios de root
Comandos - Gerenciamento de arquivos
cd - Mudar diretório
● Para retornar ao diretório inicial não utilize argumento neste comando.
ls - Listar arquivos e diretórios
● ls -l Listar todos os arquivos e exibir o resultado na forma de uma lista
● ls-la Listar todos os arquivos, incluindo arquivos ocultos e exibir na forma de lista
cp - Copiar arquivos
mv - Mover arquivos e diretórios.
Comandos - Gerenciamento de arquivos
rm - Remover arquivos
● rm -rf Permite a exclusão de diretório
mkdir - Criar diretório
touch - Criar arquivos
pwd - Exibe o caminho do diretório atual
diff - Compara dois arquivos linha a linha
● diff -w Compara os arquivos linha a linha desconsiderando espaços em branco
Redirecionamento de entrada e saída
Operador “>” : Redirecionamento de saída
Exemplo: ls -lh > file => Executa o comando ls e salva o resultado em um arquivo chamado file
Operador “<” : Redirecionamento de entrada
Exemplo: mail < file => Executa o comando mail recebendo como entrada o arquivo file
Lista todos os arquivos na pasta /home
Cria pasta chamada de “pasta1”
Lista novamente todos os arquivos na pasta
/home
Resultado
Entra na “pasta1”
Cria arquivo
retorna para a pasta anterior
Remove a pasta “pasta1”
Não retorna nada. Pasta “home” não possui
mais arquivos
Comandos - Modo de acesso
sudo - Utilizar sudo e em seguir algum comando, possibilita a execução do mesmo em um modo de super
usuário, permitindo realizar quaisquer ações. (Cuidado!)
sudo su - Possibilita o Shell entrar em modo de super usuário e todos os comandos executados em seguir
respeitarão os privilégios de acesso. (Cuidado!)
GCC - GNU Compiler Collection
GCC
● Executar o seguinte comando: nano test.c
○ Onde nano é um editor de texto e test.c é um arquivo qualquer escrito
em C
○ (Você pode utilizar um editor de texto qualquer, seja gedit, sublime, etc).
● Para salvar no nano, pressione ctrl+ S.
● Pressione X para sair do editor.
● Podemos utilizar a flag -g no processo de compilar para incluir informações de debug
● Ex: gcc -o executavel test.c -g
Arquivo salvo em C
Compilador
Flag utilizada para
escolher o nome do
arquivo resultante
Nome do arquivo resultante
Arquivo a ser
compilado
Arquivo resultante Execute o arquivo compilado utilizando o ./
seguido do nome do arquivo resultante
Output do arquivo test.c
Makefile
Makefile
● Facilita o processo de compilar o código
● Compila apenas o necessário
● Possui estruturas bem definidas
● Apenas necessita salvar um arquivo com o nome makefile ou Makefile (sem extensão)
Makefile - Estrutura
Target: requisito-1 requisito-2 …
[tab] comando
● O Target e o requisito são separados por um sinal de dois pontos
● Logo em baixo fica o comando, que é necessário iniciar com um tab (espaçamento não funciona)
Exemplo
all: executavel Caso make seja executado sem argumento
este será executado.
executavel: test.c test.h
gcc -o executavel test.c
clean: Caso make seja executado
Com o argumento Clean, ele removerá
rm executavel o executavel.
GDB - Debugger
GDB
● Comando básico:
○ gdb [nome do arquivo compilado]
Assim que executar o comando do gdb é
necessário executar o comando run dentro da
execução do gdb, para inicializar o processo
de debug.
Caso existam erros neste processo o gdb
alerta e dependendo informa a linha de erro.
Para finalizar o gdb, utilize o comando quit.

Mais conteúdo relacionado

Semelhante a Linux Shell, GCC e Makefile em

Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1Leo Amorim
 
Shell script ii direcionadores
Shell script ii  direcionadoresShell script ii  direcionadores
Shell script ii direcionadoresCarlos Melo
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosFrederico Madeira
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de redefernandao777
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linuxguilhermeoki
 
Curso Básico/Intermediário Linux - Colmeia 2008 - Emacs
Curso Básico/Intermediário Linux -  Colmeia 2008 - EmacsCurso Básico/Intermediário Linux -  Colmeia 2008 - Emacs
Curso Básico/Intermediário Linux - Colmeia 2008 - EmacsMarco Carvalho de Oliveira
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linuxlol
 
Operadores de redirecionamento
Operadores de redirecionamentoOperadores de redirecionamento
Operadores de redirecionamentoIvani Nascimento
 
Introdução aos comandos Linux
Introdução aos comandos LinuxIntrodução aos comandos Linux
Introdução aos comandos LinuxCarlos Quadros
 
Shell script do zero aula 1 - basico do basico e primeiros comandos
Shell script do zero    aula 1 - basico do basico e primeiros comandosShell script do zero    aula 1 - basico do basico e primeiros comandos
Shell script do zero aula 1 - basico do basico e primeiros comandosIvan Ribeiro
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao LinuxTzveDyor
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bashSérgio Silva
 

Semelhante a Linux Shell, GCC e Makefile em (20)

Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Shell script ii direcionadores
Shell script ii  direcionadoresShell script ii  direcionadores
Shell script ii direcionadores
 
Comandos Linux Parte 1
Comandos Linux Parte 1Comandos Linux Parte 1
Comandos Linux Parte 1
 
Linux shell
Linux shellLinux shell
Linux shell
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Lab ect 02 pt
Lab ect 02 ptLab ect 02 pt
Lab ect 02 pt
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Comandos Shell
Comandos ShellComandos Shell
Comandos Shell
 
Linux comandos gerais e servidores de rede
Linux   comandos gerais e servidores de redeLinux   comandos gerais e servidores de rede
Linux comandos gerais e servidores de rede
 
Aprendendo linux
Aprendendo linuxAprendendo linux
Aprendendo linux
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
 
Curso Básico/Intermediário Linux - Colmeia 2008 - Emacs
Curso Básico/Intermediário Linux -  Colmeia 2008 - EmacsCurso Básico/Intermediário Linux -  Colmeia 2008 - Emacs
Curso Básico/Intermediário Linux - Colmeia 2008 - Emacs
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linux
 
Comando CMD
Comando CMDComando CMD
Comando CMD
 
Operadores de redirecionamento
Operadores de redirecionamentoOperadores de redirecionamento
Operadores de redirecionamento
 
Aula 06 comandos linux
Aula 06   comandos linuxAula 06   comandos linux
Aula 06 comandos linux
 
Introdução aos comandos Linux
Introdução aos comandos LinuxIntrodução aos comandos Linux
Introdução aos comandos Linux
 
Shell script do zero aula 1 - basico do basico e primeiros comandos
Shell script do zero    aula 1 - basico do basico e primeiros comandosShell script do zero    aula 1 - basico do basico e primeiros comandos
Shell script do zero aula 1 - basico do basico e primeiros comandos
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
 

Linux Shell, GCC e Makefile em

  • 1. AED II Linux, Shell, GCC, Make Pedro do Couto Soares pscoutosoares@gmail.com
  • 3. Bash - Linux shell
  • 4. Características - Comandos : Ações a serem executadas pelo shell - Ex: Mover uma pasta, apagar um arquivo - Opções/Flags: Definem como o comando ou programa será executado - Ex: “RM(Comando) -rf”, “LS(Comando) -la” - Argumento: Informação extra passada para a execução de um comando - Ex: Diretório de destino, diretório que um arquivo se encontra
  • 5. Conceito .. - Indica o diretório anterior . - Indica o diretório atual ~ - Indica o diretório home do usuário # - Comentário
  • 6. Segurança / Modo de acesso ● Modo usuário ● Modo root / super usuário(SUDO) Usuário@Dispositivo:/ $ - Indica conexão sem privilégios de root Usuário@Dispositivo:/ # - Indica conexão com privilégios de root
  • 7. Comandos - Gerenciamento de arquivos cd - Mudar diretório ● Para retornar ao diretório inicial não utilize argumento neste comando. ls - Listar arquivos e diretórios ● ls -l Listar todos os arquivos e exibir o resultado na forma de uma lista ● ls-la Listar todos os arquivos, incluindo arquivos ocultos e exibir na forma de lista cp - Copiar arquivos mv - Mover arquivos e diretórios.
  • 8. Comandos - Gerenciamento de arquivos rm - Remover arquivos ● rm -rf Permite a exclusão de diretório mkdir - Criar diretório touch - Criar arquivos pwd - Exibe o caminho do diretório atual diff - Compara dois arquivos linha a linha ● diff -w Compara os arquivos linha a linha desconsiderando espaços em branco
  • 9. Redirecionamento de entrada e saída Operador “>” : Redirecionamento de saída Exemplo: ls -lh > file => Executa o comando ls e salva o resultado em um arquivo chamado file Operador “<” : Redirecionamento de entrada Exemplo: mail < file => Executa o comando mail recebendo como entrada o arquivo file
  • 10. Lista todos os arquivos na pasta /home Cria pasta chamada de “pasta1” Lista novamente todos os arquivos na pasta /home Resultado Entra na “pasta1” Cria arquivo retorna para a pasta anterior Remove a pasta “pasta1” Não retorna nada. Pasta “home” não possui mais arquivos
  • 11. Comandos - Modo de acesso sudo - Utilizar sudo e em seguir algum comando, possibilita a execução do mesmo em um modo de super usuário, permitindo realizar quaisquer ações. (Cuidado!) sudo su - Possibilita o Shell entrar em modo de super usuário e todos os comandos executados em seguir respeitarão os privilégios de acesso. (Cuidado!)
  • 12. GCC - GNU Compiler Collection
  • 13. GCC ● Executar o seguinte comando: nano test.c ○ Onde nano é um editor de texto e test.c é um arquivo qualquer escrito em C ○ (Você pode utilizar um editor de texto qualquer, seja gedit, sublime, etc). ● Para salvar no nano, pressione ctrl+ S. ● Pressione X para sair do editor.
  • 14. ● Podemos utilizar a flag -g no processo de compilar para incluir informações de debug ● Ex: gcc -o executavel test.c -g Arquivo salvo em C Compilador Flag utilizada para escolher o nome do arquivo resultante Nome do arquivo resultante Arquivo a ser compilado Arquivo resultante Execute o arquivo compilado utilizando o ./ seguido do nome do arquivo resultante Output do arquivo test.c
  • 16. Makefile ● Facilita o processo de compilar o código ● Compila apenas o necessário ● Possui estruturas bem definidas ● Apenas necessita salvar um arquivo com o nome makefile ou Makefile (sem extensão)
  • 17. Makefile - Estrutura Target: requisito-1 requisito-2 … [tab] comando ● O Target e o requisito são separados por um sinal de dois pontos ● Logo em baixo fica o comando, que é necessário iniciar com um tab (espaçamento não funciona)
  • 18. Exemplo all: executavel Caso make seja executado sem argumento este será executado. executavel: test.c test.h gcc -o executavel test.c clean: Caso make seja executado Com o argumento Clean, ele removerá rm executavel o executavel.
  • 20. GDB ● Comando básico: ○ gdb [nome do arquivo compilado] Assim que executar o comando do gdb é necessário executar o comando run dentro da execução do gdb, para inicializar o processo de debug. Caso existam erros neste processo o gdb alerta e dependendo informa a linha de erro. Para finalizar o gdb, utilize o comando quit.

Notas do Editor

  1. The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages (libstdc++,...). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user's freedom.
  2. Running make without argument starts the target "all" in the makefile. More importantly, if the pre-requisite is not newer than than target, the command will not be run. In other words, the command will be run only if the target is out-dated compared with its pre-requisite. For example, if we re-run the make command: