Na matéria de S.O, desenvolvi chamadas de sistema, e para concluir o aprendizado, desenvolvi uma shell para executar as chamadas de sistema
Para executar a shell, se utiliza no prompt ./shell
para o arquivo executável rodar, assim iniciando a shell.
Após a execução a shell terá uma aparência normal, com $>
como início de cada chamada para ser executada.
EXIT - O comando exit
simplesmente finaliza a execução da shell, tendo que executá-la novamente após o encerramento.
PWD - O comando pwd
printa no terminal o diretório atual onde o usuário está executando a shell.
HISTORY - O comando history
mostra o histórico de chamadas executadas naquela sessão pelo usuário, indo de 9 a 0, sendo 0 a chamada mais recente.
-c - A flag -c
limpa o histórico de chamadas.
[offset] - offset
é determinado por um número de 0 a 9, executando a chamada do histórico com este índice.
date - mostra a data e hora atual no fuso horário de Brasília (GMT - 03:00), formato hh:mm
uptime - mostra o tempo que o computador está ligado, formato dd:hh:mm:ss
ls - mostra uma lista com os arquivos de um diretório específico, que caso não seja especificado, lista os arquivos do diretório atual
cp - copia um arquivo e cola em outro com o nome especificado, criando um novo caso não exista arquivo com esse nome
rm - remove um arquivo especificado
mv - move um arquivo para outro diretório especificado, caso não haja diretório como argumento, troca o nome do arquivo para outro nome especificado
cat - mostra o conteúdo em texto de um arquivo especificado
mkdir - cria um novo diretório com o nome especificado
rmdir - remove o diretório esecificado, somente se estiver vazio
chmod - altera as permissões de um arquivo especificado
chown - altera o proprietário de um arquivo especificado