Beruflich Dokumente
Kultur Dokumente
Universidade do Algarve
Sistemas Operativos
Relatório TP1
Linguagem Bash
Docentes:
Prof. Dr. Amine Berquia
Discente:
Luís Silva, nº42030, a42030@ualg.pt
Relatório TP1 – Linguagem Bash
Índice
Índice de figuras ........................................................................................................... - 3 -
Índice de termos............................................................................................................ - 3 -
Introdução ..................................................................................................................... - 4 -
Exercícios: .................................................................................................................... - 9 -
P1. Faça scripts em bash para: .................................................................................. - 9 -
P1-1. Listar os ficheiros com uma extensão definida pelo utilizador. .................. - 9 -
P1-2. Identificar os diretórios cujo tamanho seja superior a uma dada dimensão,
especificada pelo utilizador como parâmetro do script. ....................................... - 9 -
P1-3. Listar os ficheiros cuja data esteja compreendida num intervalo de tempo
definido pelo utilizador. ...................................................................................... - 10 -
P1-4. Listar o login e nome dos utilizadores do sistema. ................................... - 10 -
P1-5. Listar os ficheiros que contenham uma dada expressão como por exemplo
“Sistemas Operativos” ........................................................................................ - 10 -
P2. Faça um script que implemente o cálculo do fatorial. ...................................... - 11 -
P3. Escrever um script para alterar sistematicamente a extensão de uma série de
ficheiros. Desejamos por exemplo alterar todos os arquivos “.htm” para “.html” no
diretório atual. ......................................................................................................... - 12 -
P4. Escrever um script que adiciona dois arquivos file1 e file2 para um novo arquivo
file3 e exibe o número total de linhas. .................................................................... - 12 -
P5. Criar um script chamado "Mult-tab.sh" para a exibição de tabelas de
multiplicação. Por exemplo "Mult-tab.sh 5 4" irá resultar na apresentação:.......... - 13 -
P6. Escrever um script que recebe como parâmetro um ano, e dá o número de dias do
mês de fevereiro desse ano. .................................................................................... - 14 -
Conclusão ................................................................................................................... - 15 -
Bibliografia ................................................................................................................. - 16 -
Referências ................................................................................................................. - 16 -
-2-
Relatório TP1 – Linguagem Bash
Índice de figuras
Figura 1 - Print P1-1 Listar os ficheiros com uma extensão definida pelo utilizador .. - 9 -
Figura 2 - Print P1-2 Identificar os diretórios cujo tamanho seja superior a uma dada
dimensão ....................................................................................................................... - 9 -
Figura 3 - Print P1-3 Listar os ficheiros cuja data esteja compreendida num intervalo de
tempo definido ............................................................................................................ - 10 -
Figura 4 - Print P1-4 Listar o login e nome dos utilizadores do sistema .................... - 10 -
Figura 5 - Print P1-5 Listar os ficheiros que contenham uma dada expressão .......... - 11 -
Figura 6 - Print P2 script que implemente o cálculo do fatorial ................................. - 11 -
Figura 7 - Print P3 script para alterar sistematicamente a extensão de uma série de
ficheiros ...................................................................................................................... - 12 -
Figura 8 - Print P4 script que adiciona dois arquivos file1 e file2 para um novo arquivo
file3 e exibe o número total de linhas ......................................................................... - 12 -
Figura 9 - Print P5 script para a exibição de tabelas de multiplicação ....................... - 13 -
Figura 10 - Print P6 script que recebe como parâmetro um ano, e dá o número de dias
do mês de fevereiro desse ano .................................................................................... - 14 -
Índice de termos
Script, Sistemas Operativos, Ubuntu, Bash, Shell, Terminal, Kernel, UNIX, Windows,
Linux, macOS, VUI, multitasking, multi-user
-3-
Relatório TP1 – Linguagem Bash
Introdução
Este relatório tem como objetivo apresentar uma breve introdução à linguagem Bash e
um exemplo de soluções do guião TP1. Ao longo deste relatório são descritos os métodos
implementados para o desenvolvimento das soluções aos exercícios propostos, assim
como as possíveis soluções.
Kernel
Rede
Permite a ligação com outras máquinas, incluindo máquinas que estão ligadas à internet.
Segurança
É uma caraterística fundamental do SO, pois tem meios para proteger a informação, para
que os processos acedam a zonas de memórias permitidas, etc.
Interfaces de Uso
Os sistemas operacionais fornecem abstração de hardware para que seus recursos
possam ser usados de maneira correta e padronizada, mas para ser possível operar um
-4-
Relatório TP1 – Linguagem Bash
computador, é necessário fornecer também uma interface para que o usuário possa
desfrutar dos recursos do sistema. Atualmente as principais interfaces de uso são as
seguintes:
• Interface de terminal;
• Interface de texto;
• Interface gráfica;
• Interface de voz(VUI);
Shell [2]
Shell é um software que fornece uma interface para que os utilizadores de um sistema
operativo forneçam acesso aos serviços do kernel.
Em sistemas operativos baseados em Unix ou Linux, a shell pode ser chamada através
do comando shell na interface de linha de comando (CLI), permitindo que os
utilizadores direcionem as operações por meio de comandos, texto ou scripts.
-5-
Relatório TP1 – Linguagem Bash
É fácil pensar nas configurações de permissões como uma série de bits (que é como o
computador pensa sobre eles). Exemplo:
rwx rwx rwx = 111 111 111
rw- rw- rw- = 110 110 110
rwx --- --- = 111 000 000
e mais...
Valor Significado
-6-
Relatório TP1 – Linguagem Bash
Estruturas de controlo
Ciclo for [7]
• for (( c=1; c<=5; c++ )) do (...) done
-7-
Relatório TP1 – Linguagem Bash
-8-
Relatório TP1 – Linguagem Bash
Exercícios:
P1. Faça scripts em bash para:
P1-1. Listar os ficheiros com uma extensão definida pelo utilizador.
Figura 1 - Print P1-1 Listar os ficheiros com uma extensão definida pelo utilizador
P1-2. Identificar os diretórios cujo tamanho seja superior a uma dada dimensão,
especificada pelo utilizador como parâmetro do script.
Figura 2 - Print P1-2 Identificar os diretórios cujo tamanho seja superior a uma dada dimensão
-9-
Relatório TP1 – Linguagem Bash
P1-3. Listar os ficheiros cuja data esteja compreendida num intervalo de tempo definido
pelo utilizador.
Figura 3 - Print P1-3 Listar os ficheiros cuja data esteja compreendida num intervalo de tempo definido
P1-5. Listar os ficheiros que contenham uma dada expressão como por exemplo
“Sistemas Operativos”
- 10 -
Relatório TP1 – Linguagem Bash
Figura 5 - Print P1-5 Listar os ficheiros que contenham uma dada expressão
- 11 -
Relatório TP1 – Linguagem Bash
Figura 7 - Print P3 script para alterar sistematicamente a extensão de uma série de ficheiros
P4. Escrever um script que adiciona dois arquivos file1 e file2 para um novo
arquivo file3 e exibe o número total de linhas.
Figura 8 - Print P4 script que adiciona dois arquivos file1 e file2 para um novo arquivo file3 e exibe o número total de linhas
- 12 -
Relatório TP1 – Linguagem Bash
- 13 -
Relatório TP1 – Linguagem Bash
Figura 10 - Print P6 script que recebe como parâmetro um ano, e dá o número de dias do mês de fevereiro desse ano
- 14 -
Relatório TP1 – Linguagem Bash
Conclusão
- 15 -
Relatório TP1 – Linguagem Bash
Bibliografia
[1] A. Berquia, “Enunciado do trabalho TP1,”
https://tutoria.ualg.pt/2018/pluginfile.php/51391/mod_resource/content/1/TP1-18-19.pdf
Referências
de 2018).
- 16 -