Sistemas Operacionais Abertos
  • TEC.1023
  • Apresentação
    • ▶️Slides
    • 📖Programa da Disciplina
  • 1. Bimestre
    • ✔️1. Histórico e Evolução do Sistema Operacional Linux
      • ▶️Slides
      • 📽️Videos Complementares
        • Revolution OS :: A História do Linux
        • The Code :: A História do Linux
    • ✔️2. Fundamentos sobre o Linux
      • ▶️Slides
      • 📽️Videoaulas
        • 2.1. Arquitetura do Sistema
        • 2.2. Versões e Distribuições
        • 2.3. Sistemas de Arquivos
        • 2.4. Gerenciamento de Pacotes
    • ✔️3. Instalação, Atualização e Configuração Básica
      • ▶️Slides
      • ✍️Roteiro: Atividade Prática: VPS (Debian Linux) no Microsoft Azure
      • 📽️Videoaulas
        • Instalação do Linux Debian no VirtualBox
        • Linux Debian: Configurando e Utilizando o APT
    • ✔️4. Comandos Básicos
      • ▶️Slides
      • ✍️Lista de Exercícios: Comandos Básicos no Linux
      • ✍️Lista de Exercícios: Comandos Básicos no Linux (2)
      • 📔Apostila: Linux - Comandos Básicos
      • 📽️Videoaulas
        • Comandos Básicos (Exercícios)
    • ✔️5. Fundamentos sobre a Gerência de Sistemas Operacionais Linux
      • ▶️Slides
      • 📽️Videoaulas
        • 5. Unidades de Disco / Interfaces de Rede/ Criação de Usuários
    • ✔️6. Gerenciamento de Arquivos, Pastas e Contas de Usuários
      • ▶️Slides
      • ✍️Roteiro: Atividade Prática: Linux: Gerenciamento de Permissões de Arquivos
      • 📽️Videoaulas
        • 6. Controle de Acesso / Backup e Restauração
  • 2. Bimestre
    • ✔️7. Fundamentos sobre Scripts Shell
      • 📔Gitbook
      • ▶️Slides
      • 📽️Videoaulas
        • Fundamentos sobre Shell Scripts
        • Lista de Exercícios: Questão 01
        • Lista de Exercícios: Questão 02
        • Lista de Exercícios: Questão 03
        • Lista de Exercícios: Questão 04
        • Lista de Exercícios: Questão 05
      • 📑Listas de Exercícios
        • ✍️Lista de Exercícios 01
        • ✍️Lista de Exercícios 02
    • ✔️8. Introdução, Instalação e Configuração Básica de Serviços
      • ▶️Slides
      • 📽️Videoaulas
        • Serviços no Linux: Preparação do Ambiente Cliente/Servidor
        • Serviços no Linux: Instalação do Servidor Web Apache + PHP
        • Serviços no Linux: Instalação do Servidor de Banco de Dados MariaDB
      • 📖Roteiros
        • ✍️Instalação e Configuração de Acesso Remoto (SSH)
        • ✍️Instalação e Configuração de Servidor Web (Apache) + PHP
        • ✍️Instalação e Configuração de Servidor de Transferência de Arquivos (FTP)
        • ✍️Instalação e Configuração de Servidor de Banco de Dados (MariaDB/Mysql)
        • ✍️Gerenciando o Servidor de Banco de Dados (MariaDB/Mysql) via Interface Web
        • ✍️Instalando um Sistema de Gerenciamento de Conteúdo (CMS) para gerenciar páginas Web
Fornecido por GitBook

© 2025 - Ricardo Kléber

Nesta página
  1. 2. Bimestre
  2. 7. Fundamentos sobre Scripts Shell
  3. Listas de Exercícios

Lista de Exercícios 01

Atualizado há 4 meses

Lista de Exercícios :: Shell Scripts (básico)

  1. Escreva um script shell para pegar o conteúdo do arquivo /etc/passwd e exibir somente os nomes dos usuários e em ordem alfabética (dica: use o comando/filtro ‘cut’)

Resposta
#!/bin/bash
cat /etc/passwd | cut -d":" -f1 | sort
  1. Escreva um script shell que receba o nome de um arquivo (caminho absoluto) e exiba o número desse linhas do arquivo.

Resposta
#!/bin/bash
echo "Digite o nome do arquivo (caminho absoluto)"
read ARQUIVO
echo $(cat $ARQUIVO | wc -l)
  1. Escreva um script shell que receba o nome de um arquivo (caminho absoluto) e uma letra e exiba todas as linhas desse arquivo que contém essa letra informada.

Resposta
#!/bin/bash
echo $(cat $1 | grep $2)
  1. Escreva um arquivo com uma lista contendo duas colunas: nome e telefone. Em seguida, faça um script shell que receba um nome e exiba o telefone equivalente.

Resposta (arquivo: lista)
joao:1111
maria:2222
jose:3333
ana:4444
Resposta (script)
#!/bin/bash
echo $(cat ./lista | grep $1 | cut -d":" -f2)
  1. Escreva um script shell que receba o nome de um arquivo (caminho absoluto) e informe quantas linhas, quantas palavras e quantos caracteres tem esse arquivo, no formato: “Este arquivo tem X linhas, Y palavras e Z caracteres”

Resposta
#!/bin/bash
LINHAS=$(cat $1 | wc -l)
PALAVRAS=$(cat $1| wc -w)
CARACTERES=$(cat $1| wc -m)
echo "Este arquivo tem $LINHAS linhas, $PALAVRAS palavras e $CARACTERES caracteres" 
  1. Escreva um script shell que receba o nome de um diretório (caminho absoluto) e liste todos os arquivos desse diretório em ordem alfabética.

Resposta
#!/bin/sh
echo "$(ls $1 | sort)"
  1. Escreva um script shell que pergunte: “Qual arquivo deseja procurar” e ao ser executado apresente como resposta: “O caminho para o arquivo é ‘caminho’” (dica: utilize o comando ‘find’).

Resposta
#!/bin/bash
echo "Qual arquivo deseja procurar?"
read ARQUIVO
echo "O caminho para o arquivo é $(find / -name $ARQUIVO)"
  1. Escreva um script shell que receba o nome de um arquivo (caminho absoluto) e ao ser executado apresente como resposta o conteúdo da linha 5 desse arquivo.

Resposta
#!/bin/sh
echo "$(cat $1 | head -5 | tail -1)"
  1. Escreva um script shell para pegar o conteúdo do arquivo /etc/group e exibir somente os nomes dos grupos (primeira coluna) e em ordem alfabética e em caracteres maiúsculos (dica: use os comandos/filtros ‘cut’ e ‘tr’).

Resposta
#!/bin/bash
echo "$(cat /etc/group | cut -d":" -f1 | sort | tr a-z A-Z)"
  1. Escreva um script shell que receba o nome de um arquivo (caminho absoluto), uma letra para procurar e um número para trocar essa letra todas as vezes que a encontrar. Na execução, exibir o conteúdo com as trocas efetuadas.

Resposta
#!/bin/bash
echo "$(cat $1 | grep $2 | tr $2 $3)"
✔️
📑
✍️