https://github.com/malbolgee/proto-terminal-so
Proto-terminal para a matéria de Sistemas Operacionais. O terminal aceita pipe, redirecionamento de entrada e saída, além de mistura entre esses modificadores. Para mais informações, ler a documentação.
https://github.com/malbolgee/proto-terminal-so
c file fork kernel linux linux-shell operating-systems parser pipe pipes redirection-operators shell syscall
Last synced: about 1 month ago
JSON representation
Proto-terminal para a matéria de Sistemas Operacionais. O terminal aceita pipe, redirecionamento de entrada e saída, além de mistura entre esses modificadores. Para mais informações, ler a documentação.
- Host: GitHub
- URL: https://github.com/malbolgee/proto-terminal-so
- Owner: malbolgee
- License: gpl-3.0
- Created: 2020-06-08T12:17:44.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-10-30T14:50:23.000Z (over 5 years ago)
- Last Synced: 2025-01-21T05:27:01.293Z (over 1 year ago)
- Topics: c, file, fork, kernel, linux, linux-shell, operating-systems, parser, pipe, pipes, redirection-operators, shell, syscall
- Language: C
- Homepage:
- Size: 117 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Proto-terminal para a matéria de Sistemas Operacionais - UFAM ##
---
- É possível chamar qualquer programa que esteja no PATH do Linux além de 3 programas 'built-in' que implementamos cujas funções se assemelham aos programas já existentes:
- lsd - equivale à ls (listar itens de um diretório);
- pwd - mostrar o diretório atual;
- cd - mudar o diretório atual;
---
# Uso #
---
**OBS**: Colocar './' no começo do nome do programa depende se esse programa está ou não no PATH. Com a única exceção sendo a _ls_ built-in. Se o comando _ls_ for fornecido para o shell, ele iniciará a _ls_ do Linux e não o programa feito para o trabalho, por isso, o uso correto seria **./lsd [ _OPTIONS_]**.
### Pipeline ###
- [./]command [ _OPTIONS_ ] [ [ | ] _[./]command2_ ... ]
### Redirecionamento de Saída ###
- [./]command [ _OPTIONS_ ] [ [ > ] _FILE_ ]
### Redirecionamento de Entrada ###
- [./]command [ _OPTIONS_ ] [ [ < ] _FILE_ ]
### Rodando comandos em background ###
- [./]command [ _OPTIONS_ ] [ [ | ⎪ < ⎪ > ] < _[./]command2_ ⎪ _FILE_ > ... ] [ _&_ ]
### Misturando modificadores de redirecionamento ###
- [./]command [ _OPTIONS_ ] [ [ | ⎪ < ⎪ > ] < _[./]command2_ ⎪ _FILE_ > ... ] [ _&_ ]
- Não é possível fazer a construção **_command < in > out_**, por exemplo.
- O modificador '|' (pipe) pode ser usado em cadeia, mas até 10 programas apenas.
- O modificador '>' para trunca o arquivo de saída.
---
### A ls built-in ###
- A versão da ls feita para esse trabalho tem apenas parte as funcionalidades que a ls verdadeira tem.
**Uso**
- ./lsd [ _OPTION_ ] ... [ _FILE_ ]
- -a Não ignora entradas começando com '.', exceto arquivos/diretórios ocultos.
- -l Usa o formato de lista longa.
- -t Ordena o resultado por data de última modificação, o mais recente primeiro.
- -S Ordena por tamanho de arquivo, o primeiro.
- É possível usar uma ou mais flags em conjunto.
### cd build-in ###
**Uso**
- O comando cd muda o diretório atual para o diretório fornecido.
- cd < _PATH_ >
### pwd ###
**Uso**
- O comando pwd imprime o diretório atual
- pwd [ _OPTION_ ] ...
- -L Usa o PWD do ambiente, mesmo que contenha links simbólicos.
- -P Evita todos os links simbólicos.