O que deve ser entregue:
Um arquivo em formato PDF, seguindo o modelo do template disponibilizado para o desenvolvimento do projeto. No arquivo, para cada item de cada prática realizada (por exemplo, prática 1 | item b), deverão ser elaborados quatro artefatos, sendo esses:
* capturas de tela (screenshots) com o resultado dos comandos executados no ambiente linux;
* interpretação e análise do(s) resultado(s) encontrado(s) (no mínimo um parágrafo com 3 linhas de texto tamanho 12);
* relacionamento(s) com o conteúdo de aula (no mínimo um parágrafo com 2 linhas de texto tamanho 12);
analise também a função das variáveis e arquivos que o comando manipula.
Exemplos:
* O que são $user e $home? o que elas contem?
* q que contém o arquivo /etc/passwd,?
* para que serve o /ect/mtab? e o comando uname?)
tenha cuidado com aspas e espaços extras ao executar os comandos.
Confira as práticas que devem ser desenvolvidas:
| prática 1: a primeira prática envolve utilizar os comandos ls, echo e cat.
A) Execute o comando abaixo e explique o que ele faz:
● cd /usr/bin
b) Realize a listagem do diretório corrente utilizando o comando ls. Compare a saída com o comando ls –la e com o comando ls -lha, apresentando as diferenças entre os três comandos.
C) Execute a sequência de comandos abaixo. Após, explique o comportamento resultante da execução de cada um dos comandos.
● Cd ~
● pwd
● echo “Eu sou $user e meu diretorio home eh $home” > simple (não deixe de explicar o que $user e $home significam e contém)
● cat simple
● cat simple > new
● cat << pucrs
● hello
● hello pucrs
● pucrs
d) execute a sequência de comandos abaixo. Após, explique o comportamento resultante da execução de cada um dos comandos, incluindo cada um dos argumentos adicionados aos comandos.
● Echo –e “Flor\nFruto\nFruta\nSemente” > echo_linhas
● cat –n echo_linhas
● echo –e “Pedro\nMaria\nGustavo\nCarlos\Nsimone” >> echo_linhas
● cat –n echo_linhas
| prática 2: a segunda prática envolve utilizar os comandos tr, head, tail, cat, e tac juntamente com pipes. Utilize o manual disponível no sistema (comando man seguido do comando a ser consultado, por exemplo man tail) para analisar a sua atividade de acordo com o que for solicitado.
A) Execute a sequência de comandos abaixo. Após, explique o comportamento resultante da execução de cada um dos comandos.
● Echo –e “Goleiro\nAtacante\nZagueiro\nJuiz\nBandeirinha” > palavras (não esqueça do espaço ao lado do –e)
● cat palavras
● cat palavras | tr [a-z] [A-Z]
● tac palavras | tr [A-Z] [a-z]
● cat palavras | tr –d ‘\n’
b) Execute a sequência de comandos abaixo. Após, explique o comportamento resultante da execução de cada um dos comandos.
● Echo –e “1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12” > numeros
● tail numeros
● tail –3 numeros
● head numeros
● head –5 numeros
● tac numeros
| prática 3: a terceira prática envolve utilizar os comandos cut, uniq e sort juntamente com pipes. Utilize o manual disponível no sistema (comando man seguido do comando a ser consultado, por exemplo man cut) para analisar a sua atividade de acordo com o que for solicitado.
A) Execute a sequência de comandos abaixo. Após, explique o comportamento resultante da execução de cada um dos comandos. Explique ainda para que servem os arquivos que são alvos dos comandos (/etc/passwd, /etc/mtab, uname), assim como o que cada uma das saídas filtra especificamente.
● Cat /etc/passwd
● cut –d ‘:’ -f 1 /etc/passwd
● cut –d ‘:’ -f 1-4 /etc/passwd
● cut –d ‘:’ -f 1,3,5 /etc/passwd
● cut –d ‘:’ -f 1 /etc/passwd | tr [‘\n’] [‘ ‘] (observe que há um espaço entre as aspas do último argumento: [tr [‘\n’] ‘<ESPAÇO>‘])
● cut –d ‘ ‘ -f 1,2 /etc/mtab
● uname -a | cut -d ' ' -f 1,3,10,11
b) Execute a sequência de comandos abaixo (confira se digitou exatamente como está no enunciado, sem esquecer nenhuma linha ou colocar um enter a mais). Após, explique o comportamento resultante da execução de cada um dos comandos.
● Cat << fim > contagem
essa linha ocorre uma vez
essa outra, duas vezes
essa outra, duas vezes
uma linha diferente
mais uma linha diferente
essa aqui repete
essa aqui repete
fim
● uniq –c contagem
● sort contagem | uniq
● sort contagem | uniq | sort –nr
● cut -d ':' -f 1 /etc/passwd | sort
● cut -d ':' -f 1 /etc/passwd | sort -R
| prática 4: a quarta prática envolve utilizar os comandos du, df, dd, cp, rm, mv, mkdir e rmdir. Utilize o manual disponível no sistema (comando man seguido do comando a ser consultado, por exemplo man cp) para analisar a sua atividade de acordo com o que for solicitado. É Importante que os itens sejam feitos em série, sem reiniciar a estação entre um item e outro!
a) Execute a sequência de comandos abaixo. Após, explique o comportamento resultante da execução de cada um dos comandos. Caso ocorra erro de permissão, utilize o “sudo”.
● Du –h
● du –h /etc
● du –hs /etc
● df –h
● df –hT
● dd if=/dev/zero of=arquivo count=1024 bs=1k
b) Execute a sequência de comandos abaixo. Após, explique o comportamento resultante da execução de cada um dos comandos. Observe que este comando depende da realização correta do item a) e deve ser realizado logo em sequência, sem reiniciar a estação. Erros no item anterior prejudicam o atual.
● Mkdir diretorio1
● mkdir diretorio1/subdiretorio1
● mkdir diretorio2
● cp arquivo diretorio1/subdiretorio1
● cd diretorio1/subdiretorio1
● ls –h
● cd ../..
● Pwd
c) Execute a sequência de comandos abaixo. Após, explique o comportamento resultante da execução de cada um dos comandos. Observe que este comando depende da realização correta dos itens a) e b) e deve ser realizado logo em sequência, sem reiniciar a estação.. Se um deles apresentar erro, o item c) também o fará.
● Cp diretorio1/subdiretorio1/arquivo diretorio2/arquivo1
● cp diretorio1/subdiretorio1/arquivo diretorio2/arquivo2
● ls –R diretorio1 diretorio2
● rm diretorio2/*
● rmdir diretorio2
● rm –rf diretorio1
| prática 5: o sistema linux permite realizar uma série de operações relacionadas com processos. Por exemplo, é possível carregar um programa, colocá-lo em background e carregar outros processos. Posteriormente pode-se obter a lista de processos ou tarefas em background, alternar entre processos, obter informações sobre os mesmos e enviar sinais. A quinta prática dessa fase do projeto envolve utilizar os comandos e ações relacionadas com processos. Utilize o manual disponível no sistema (comando man seguido do comando a ser consultado, por exemplo man htop) para analisar a sua atividade de acordo com o que for solicitado.
A) Recarregue a VM (Ctrl F5). Execute exatamente a sequência de comandos abaixo.
Se você executar um comando e receber uma mensagem de erro, ou executá-lo mais de uma vez por engano, reinicie o ambiente Linux. Após, explique o comportamento resultante da execução de cada um dos comandos (no caso concreto. Por exemplo, há 3 execuções do comando jobs. As saídas exibidas cada vez que ele é executado são iguais? Sim, não, por quê? Deixe bem claro qual é o processo ou trabalho que cada comando modifica ou ao qual se refere em sua saída, citando seu nome).
Caso o htop não funcione, verifique se você abriu a máquina virtual correta, conforme orientação do enunciado, e reinicie a prática: algumas opções de configuração presentes no site
bellard.org não possuem o htop.
● Yes > /dev/null &
● yes > /dev/null (após executar o comando, digite Ctrl+Z)
● jobs (explique sua saída. Se houver mais que dois yes na saída, recomece a prática)
● bg
● jobs (compare com a saída do jobs anterior e explique)
● ps
● ps –ef (lembre-se de explicar o que cada um dos argumentos extras muda em relação ao comando anterior)
● htop &
● jobs (realize a captura após a saída deste comando, pois o seguinte pode ocupar toda a tela) (compare com a saída dos jobs anteriores e explique)
● fg 3
b) Para sair do htop digite ‘q’.
Execute a sequência de comandos abaixo.
Após, explique o comportamento resultante da execução de cada um dos comandos. Substitua <pid do processo yes> pelo identificador do processo (PID) ao digitar os comandos abaixo (Exemplo: “kill 1421”). Após, explique o comportamento resultante da execução de cada um dos comandos. Observe que este comando depende da realização correta do item a) e deve ser realizado logo em sequência. Erros no item anterior prejudicam o atual.
● Pstree -p
● kill <pid do processo yes>
● kill –s 9 <pid do outro processo yes>
● jobs
O template irei disponibilizar assim que o projeto for aceito.
Contexto Geral do Projeto
No momento estou com um projeto de Data Science que está me tomando muito tempo, por conta disto estou procurando um freelancer para que possa realizar esse outro projeto para mim, caso seja do seu interesse entre em contato para dialogarmos sobre os termos do projeto.
Prazo de Entrega: 17 de Agosto de 2024