Pular para o conteúdo principal

Shell Script

Shell Script

 Objetivos da aula

  1. Explicar o que é Shell e Script e para que serve.

  2. Comandos básicos de manipulação de arquivos usando Bash.

Requisitos Básicos

Linux instalado, com terminal Bash.

Definições básicas

Shell em computação é uma interface de usuário para acessar os serviços de um sistema operacional.

Script é uma linguagem de programação que executa no sistema em tempo de execução, muito utilizado para automação.

Comandos

Mudar diretório: cd é um acrônimo da expressão inglesa change directory.

cd /: abre o diretório raiz do sistema.

cd ~: Abre o diretório do usuário corrente. O usuário logado naquele instante.

cd ..: Volta diretório.

Listar conteúdo: ls é um comando para listar conteúdos.

ls -l: Lista o conteúdo em coluna detalhada.

ls -a: Lista o conteúdo até os arquivos ocultos.

ls -s: Lista o conteúdo com tamanho alocado de cada arquivo, em bloco.

Criar e atualizar o conteúdo: touch é usado para criar arquivos vazios ou alterar data e hora do arquivo.

touch arquivo1.txt arquivo2.txt arquivo2.txt: Cria múltiplos arquivos.

touch -a file_name.txt: Altera hora de acesso do arquivo.

touch -m file_name.txt: Altera hora da modificação do arquivo.

touch -c file_name.txt: Altera hora de acesso sem criar um novo arquivo.

touch -t 202012081047.30 file.txt: Definir hora específica de acesso e modificação usando touch. CCYYMMDDhhmm.ss, onde:

  • CC - Os dois primeiros dígitos do ano.
  • YY - Os dois dígitos subsequentes do ano.
  • MM - O mês.
  • DD - O dia.
  • hh - A hora.
  • mm - O minuto.
  • ss - O segundo.

Visualizar conteúdo do arquivo: cat concatenate(concatenar) é utilizado para concatenar (criar, unir e exibir arquivos). Colocar o resultado em um outro arquivo com o comando cat arq1 > arq_final. Redirecionador de saída é o símbolo de maior que ">". Para parar a rolagem da tela e permitir a navegação use o pipe "|" seguido do comando more ou do comando less.

Exercícios

1) cd é um acrônimo de:

  1. (x)change directory
  2. ( )change diractory
  3. ( )directory change
  4. ( )directory command
  5. ( )command directory

2) Sobre o comando ls -s, podemos afirmar:

  1. (x) Lista o conteúdo com tamanho alocado de cada arquivo, em bloco.
  2. ( ) Lista o conteúdo com tamanho alocado de daca arquivo.

3) Qual comando está certo para alterar hora da modificação?

  1. ( ) touch -u file.txt
  2. ( ) touch -s file.txt
  3. (x) touch -m file.txt

Comandos com Shell Script

Mover arquivos: mv é um comando para mover e renomear arquivos e diretórios.

mv -i: Confirme antes de substituir.

mv -n: Sem substituição.

mv -b: Substituindo pelo backup.

mv -u: Substitua se o arquivo de destino for antigo ou não existir.

Copiar arquivos: cp permite copiar arquivos ou diretórios para outro local. Sem confirmação de existência ou não, exceto se usar a flag -i (interativa). Nenhuma saída será exibida, exceto se usar o flag opção -v (verbose).

cp -l: criar hard links em vez de copiar os arquivos.

cp -s: criar links simbólicos em vez de copiar arquivos.

cp -u: copiar apenas quando o arquivo de origem for mais novo do que o arquivo de destino ou quando o arquivo de destino não existir.

Criando diretórios: mkdir é o comando utilizado para criar diretório.

mkdir digital_innovation_one: Cria uma pasta de nome digital_innovation_one.

Remover arquivos: rm é o comando utilizado para remover arquivos e diretórios.

rm file_name: Remove o arquivo.

rm -f file_name: Remove o arquivo sem fazer perguntas.

rm -r diretorio: Remove um diretório e seu conteúdo.

Procurar por arquivos: find é o comando utilizado para procurar arquivos.

find .: Procura no diretório atual em em todas as pastas e subpastas do diretório atual.

find ./ -type d -name "novo": Procura no diretório atual, por tipo diretório e nome novo.

find ./ -type d -name "novo*": Procura no diretório atual, por tipo diretório e nome que começa com a palavra novo.

find ./ -type f -name "novo": Procura no diretório atual, por tipo file (arquivo) e nome novo.

find ./ -type f -name ".*": Procura no diretório atual, por tipo file (arquivo) e qualquer arquivo, incluindo arquivos ocultos.

Comparar diferença entre arquivos: diff faz comparação entre arquivos e também entre diretórios.

dif arq1.txt arq.txt: Exibe a diferença entre os dois arquivos.

Remover diretório: rmdir remove diretório.

rmdir: Remove um diretório vazio.

rm -rf: Remove um diretorio não vazio sem perguntas.

Trabalhando com variáveis de ambiente: env

PS1: Prompt da linha de comandos.

HOME: Diretório "/home" de um usuário.

PATH: Lista de diretórios vasculhados quando um comando é executado.

mkdir frutas: Cria uma pasta de nome frutas.

limao=frutas: Cria uma variável de nome limão que na realidade é frutas.

echo $limao: Exibe o nome da variável frutas.

export limao: Cria uma variável de ambiente de nome limao.

env: Exibe todas as variáveis de ambiente.

cd $limao: Entra no diretório frutas.

Comentários

Postagens mais visitadas deste blog

DIO (Digital Innovation One)

O que é a Digital Innovation One? A Digital Innovation One é uma comunidade com mais de trezentos mil desenvolvedores de software que acelera gratuitamente a carreira de qualquer pessoa interessada em cursos, bootcamps, projetos práticos e desafios, possibilitando a conquista de melhores oportunidades profissionais em várias empresas do mercado de trabalho. Por que os cursos são gratuitos? A Digital Innovation One acredita que a democratização do ensino de tecnologia e a formação da nova geração de desenvolvedores de software impacta positivamente o desenvolvimento socioeconômico mundial. Estão revolucionando a educação online com a democratização e inclusão através do ensino online gratuito e de qualidade, juntamente com as empresas mais inovadoras do mercado que procuram pelos desenvolvedores de software mais talentosos. (DIO, 2021) Na DIO, várias empresas procuram por profissionais talentosos, no entanto, possuem muitas vagas de empregos e muitas das vezes os processos seletivos são...

Linux 4/8

  Fundamentos e comandos de redes Rede de computadores é um conjunto de equipamentos interligados de maneira a trocarem informações e compartilharem recursos, como arquivos de dados gravados, impressoras, modems, softwares e outros equipamentos. (Sousa, 1999). Rede Wan: Wide Area Network, é uma rede geograficamente distribuída. Rede Man: Metropolitan Area Network, é uma rede metropolitana que interligam várias redes locais. Rede Lan: Local Area Network, é uma rede local de uma forma geral em um único prédio ou campus. Protocolos É uma linguagem utilizadas pelos dispositivos para que eles possam se entender. IP: Protocolo de Internet - endereço IP - números que identificam seu computador em uma rede. ICMP: Internet Control Message Protocol - tem por objetivo prover mensagens de controle na comunicação entre nós. DNS: Domain Name Server - esse protocolo de aplicação tem por função identificar endereços IPs e manter uma tabela com os endereços dos caminhos de algumas redes. Interface ...

Curso Inter Java Developer

O que já aprendi no curso Inter Java Developer da DIO (Digital Innovation One? É um curso intermediário com 23 atividades e carga horária de 95 horas. Boas vindas ao Bootcamp Inter Java Developer Bem vindo à DIO Linux: A introdução ao sistema operacional Shell Script - Manipulando arquivos Introdução ao Git e ao GitHub