1 of 53

Linux

Aula II

Semana de Calouros 2025

Login: linux25X (X: 1-150)

Senha: Linux25#X

2025

2 of 53

Atalhos do terminal

  • Ctrl+Alt+T → abre o terminal padrão
  • Setas (up/down) → navega pelos últimos comandos
  • Ctrl+Shift+C/V → copia/cola no terminal
  • Ctrl+U → limpa o que está escrito antes do cursor
  • Ctrl+L → limpa a tela (parecido com o comando clear)
  • Tab → autocomplete para comandos/argumentos/arquivos quando possível
  • Tab Tab → mostra as opções de autocomplete
  • Ctrl+Z → coloca o processo que está sendo executado em background, liberando o prompt
  • Ctrl+C → mata o processo

3 of 53

Contas no DInf

1.

4 of 53

DInf Departamento de Informática

  • Utiliza o Linux Mint como sistema operacional nos computadores de seus laboratórios
  • Usuário: siglas do nome + ano de ingresso
  • Ex: Guilherme Nunes Uzias → gnu24
  • Solicitar login e senha de seu usuário na secretaria
  • Página web pessoal → ~/public_html
  • Quota de armazenamento
    • /home → 8 GB
    • /nobackup → 8 GB

5 of 53

DInf Departamento de Informática

  • Você não pode usar sudo (se tentar, um root receberá um e-mail rs)
  • Lembre-se, NÃO FAÇA NADA ILEGAL!
  • Você deve alterar a senha do seu usuário, utilize o comando passwd
  • Não se esqueça da sua senha e não a passe para ninguém!

6 of 53

E-mail do DInf

  • Além do e-mail da UFPR (@ufpr.br), você terá um e-mail do departamento
  • O e-mail será: login + @inf.ufpr.br
    • Ex: gnu24@inf.ufpr.br
  • Para acessar o e-mail, entre em webmail.inf.ufpr.br
  • A cache do e-mail contará na sua quota
  • Você pode utilizar o e-mail por algum cliente de e-mails, como o Thunderbird e K9
    • https://suporte.inf.ufpr.br

7 of 53

Wi-fi e site pessoal

  • No DInf está disponível o Wi-fi do C3SL, com 20Gb/s via Backbone da RNP (Um cabão mágico de internet)
  • Para acessar, siga os passos em:
    • suporte.inf.ufpr.br
  • Também, você tem acesso a um site pessoal: www.inf.ufpr.br/<login>
    • Ex: www.inf.ufpr.br/gnu24
  • Para editá-lo, utilize o diretório ~/public_html
    • Por exemplo, crie um arquivo chamado index.html
    • Acesse-o com www.inf.ufpr.br/<login>/index.html

8 of 53

Sistema de Arquivos

2.

9 of 53

Sistema de arquivos

  • Algumas características de um Sistema de Arquivos são:
  • Realiza o gerenciamento do espaço de armazenamento do disco
  • Organização do armazenamento (disco) em arquivos contidos em diretórios (pastas)
  • Cada diretório pode conter arquivos e outros diretórios
  • Diretórios e arquivos possuem nome (case-sensitive)
  • Links simbólicos (atalhos)
  • Navega entre diretórios

10 of 53

Sistema de arquivos

11 of 53

Sistema de arquivos não precisa decorar!

  • / → diretório raiz (root), todos diretórios e arquivos do SO estão contidos nele
  • /bin → arquivos binários executáveis (os programas), como comandos da shell
  • /dev → arquivos virtuais especiais, como aqueles que representam dispositivos físicos
  • /etc → arquivos de configuração do sistema
  • /usr → arquivos executáveis dos usuários, bibliotecas, códigos-fonte e documentação
  • /home → diretórios pessoais de cada usuário
  • /lib → as bibliotecas necessárias para os executáveis de /bin e /sbin
  • /tmp → arquivos temporários, conteúdo excluído ao reiniciar o computador
  • /var → arquivos de dados variáveis, programas armazenam dados de tempo de execução
  • /boot → arquivos do kernel e de boot
  • /proc → arquivos sobre processos
  • /opt → arquivos de aplicações opcionais (não disponíveis pela distribuição)
  • /root → diretório pessoal do usuário root
  • /media → diretórios montados para mídias removíveis (USB, DVD, etc.)
  • /sbin → binários do sistemas, só podem ser executados pelo root

12 of 53

Working directory

  • Ao iniciar um shell, por padrão ele abrirá dentro do diretório pessoal do usuário ativo (ex: /home/pet)
  • É possível navegar pelos diretórios do sistema de arquivos a partir de comandos
  • Assim, o diretório que o usuário se encontra no terminal em um determinado momento é chamado de working directory (diretório de trabalho)
  • O diretório atual também é representado através de um ponto “.”

Abra o terminal com o atalho Ctrl+Alt+T

13 of 53

Path ou caminho

  • Nos comandos interpretados pelo shell, usamos caminhos para representar uma localização do sistema de arquivos
  • Um path é um texto que representa a localização de um arquivo ou diretório
  • Os caminhos podem ser absolutos ou relativos
  • O caminho absoluto aponta para o mesmo local, independentemente do diretório de trabalho atual
  • Assim, para representar uma localização com o caminho absoluto deve-se utilizar o diretório raiz (o barra “/”)
  • Ex.: /home/pet/Pictures/Wallpapers/wallpaper.png
  • No caminho relativo, representa-se uma localização relativa ao working directory
  • Ou seja, a localização de um caminho relativo pode mudar, a depender do working directory
  • ./Pictures/Wallpapers/wallpaper.png

(assumindo que o diretório atual é /home/pet)

14 of 53

Comandos básicos

3.

15 of 53

Estrutura de comandos

  • Geralmente, um comando segue uma estrutura básica, sendo:

[comando] [opções] [argumentos]

  • Exemplo:

cp -r dir1 dir2

ffmpeg -y -i hypr.mp4 -i palette.png -filter_complex -r 10 -s 640x360 hypr.gif

*Não precisa se assustar

16 of 53

Estrutura de comandos

  • Existem 2 tipos de flags: flags que necessitam de parâmetros e flags que não necessitam de parâmetros
  • O primeiro tipo costuma ter um range de opções variáveis. Um exemplo é a flag “--sort” que indica como a saída do comando “ls” deve ser ordenado (última modificação, tamanho, ordem alfabética e etc.)
  • O segundo tipo altera a saída ou o funcionamento de um comando apenas por estar presente. É o caso da flag “-l” do comando “ls” que faz com que a saída seja feita em um formato mais longo e detalhado
  • Opções ou “flags” são modificadores de um comando na shell
  • Veremos diversos exemplos em comandos diferentes da shell
  • Convenientemente, essas opções costumam seguir o padrão que acabamos de ver
  • Com a prática ficará intuitivo pesquisar e descobrir quais são e o que as flags de um comando qualquer fazem

17 of 53

whoami

  • Imprime na tela o usuário atual

18 of 53

pwd print working directory

  • Imprime na tela o diretório atual (working directory)

19 of 53

hostname

  • Imprime na tela o nome do sistema
  • Encontra-se em /etc/hostname (“no Linux tudo é um arquivo”)

20 of 53

tty

  • Imprime na tela o arquivo do terminal em questão (identificação)

21 of 53

who

  • Imprime na tela os usuários conectados ao sistema

22 of 53

Histórico

  • Utilize as teclas up e down para navegar pelo histórico de comandos
  • Evita digitar novamente os últimos comandos caso erre

23 of 53

Buscando ajuda

4.

24 of 53

help

  • A maioria dos comandos disponibilizam a opção --help
  • Imprime uma breve documentação sobre o comando
  • Também há outras possíveis opções, como --version

25 of 53

man manual

  • O comando man é usado para ler a documentação completa de algum comando
  • Não necessita conexão à internet
  • $ man [comando]
  • Para sair da interface do man, digite q
  • Teste o comando com:
    • $ man man
    • $ man ls
    • $ man cd

26 of 53

Navegação

5.

27 of 53

Atalhos da shell

  • Como o working directory varia bastante ao navegar pelo sistema de arquivos, utiliza-se atalhos (caracteres coringas) em paths
  • Esses caracteres permitem utilizar o caminho relativo sem precisar alterar o diretório atual
  • Caracteres coringas:
    • / → diretório raiz e separação de diretórios
    • ~ → diretório pessoal (home) do usuário atual (ex: /home/pet)
    • . → diretório atual
    • .. → diretório pai do atual
  • Assim, ao utilizar os caracteres coringas em um comando, a shell substitui o caractere para o caminho que o representa

28 of 53

ls list

  • Imprime na tela o conteúdo (diretórios e arquivos) do diretório passado como argumento
  • Caso não receba um argumento, utilizará o diretório atual

29 of 53

ls list

  • Opções comuns:
    • -a → imprime arquivos e diretórios ocultos
    • -l → imprime informações do conteúdo
    • -1 → imprime um item por linha
    • -m → separa os itens por vírgula
    • -t → ordena os arquivos em ordem decrescente de data

30 of 53

cd change directory

  • Muda o diretório atual
  • Recebe como argumento o caminho para o qual será navegado
  • Lembre-se que é possível utilizar os caracteres coringas

31 of 53

Gerenciando arquivos e diretórios

6.

32 of 53

touch

  • Atualiza a data de última modificação e de último acesso do arquivo (sem modificar seu conteúdo)
  • Caso não exista o arquivo especificado, cria um arquivo com o nome passado como argumento

33 of 53

Exercício surpresa!!

  • O que estes comandos fazem?
    • man htop
    • rsync -h
    • wget --help
    • cd /
    • cd ~/../..

34 of 53

mkdir make directory

  • Cria um diretório usando o argumento passado como nome
  • Caso já exista um diretório com o nome, imprime mensagem de erro

35 of 53

rm & rmdir remove & remove directory

  • rm exclui arquivos a partir dos argumentos
  • rmdir exclui diretório se este estiver vazio, caso contrário imprime mensagem de erro
  • Também é possível excluir diretórios com rm, usando a opção -r

36 of 53

Nunca digite

sudo rm -rf /

37 of 53

Caractere de escape

  • Existem caracteres especiais da shell, como o / e o caractere de espaço, que separa textos
  • Assim, ao criar arquivos ou diretórios com os caracteres especiais, é preciso “escapá-los”
  • Para isso, utilize a barra invertida “\” antes do caractere

38 of 53

cp copy

  • Copia arquivos e diretórios (com -r)
  • $ cp [arquivo] [destino]
  • $ cp -r [diretório] [destino]
  • Caso o fim do destino seja um diretório, a cópia terá o mesmo nome
  • Você pode terminar o destino com um arquivo, que será o nome da cópia

39 of 53

mv move

  • Move (recorta) ou renomeia arquivos e diretórios
  • $ mv [arquivo/diretório] [destino]
  • $ mv [arquivo/diretório] [novo nome]
  • Caso o destino seja o mesmo diretório da fonte, é possível alterar o nome do item

40 of 53

A opção -i em comandos como mv, cp e rm pedem confirmação de execução caso haja necessidade de sobrescrever um item

41 of 53

Extraindo informações

7.

42 of 53

file

  • Comando para imprimir o tipo do arquivo
  • A princípio, parece um comando bobo, visto que há as extensões de arquivo
  • Contudo, no Linux, o tipo do arquivo não se dá pela extensão, mas sim por metadados

43 of 53

du disk usage

  • Imprime o tamanho em bytes de arquivo/diretório
  • $ du -shc *

44 of 53

quota

  • Quando logado na sua conta em um PC do DInf ou na macalan, utilize este comando para saber o consumo de sua quota
  • $ quota -s

45 of 53

Editores de texto

8.

46 of 53

Visual Studio Code

  • Criado pela Microsoft com o Electron, amplamente utilizado para desenvolvimento
  • Disponibiliza inúmeros plugins feitos pela comunidade
  • Há versões livres open-source, como o vscodium

47 of 53

gedit

  • Editor de texto com GUI do GNOME
  • Simples, mas disponibiliza alguns plugins

48 of 53

nano

  • Editor de texto do GNU para terminais
  • Interface simples, fácil aprendizado

49 of 53

vi, vim e neovim

  • vi é um editor de texto para terminal criado para sistemas Unix
  • vim foi lançado como uma versão extendida do vi, adicionando novas funcionalidades
  • Posteriormente, neovim foi criado a partir do vim, melhorando a implementação de plugins

50 of 53

vi, vim e neovim

  • 💡 Pesquise sobre o vim:
    • vimschool.netlify.app
    • openvim.com
    • tutorialspoint.com/vim/index.htm

51 of 53

Exercício

$ wget https://www.inf.ufpr.br/dlpg21/linux/aula2.tar.gz

$ tar -xvf aula2.tar.gz

52 of 53

Avalie a aula

forms.gle/MJDzaj36pN7KvQpw7

Conta como presença!

53 of 53

Obrigado!

Obrigado!

pet.inf.ufpr.br

pet@inf.ufpr.br

@petcompufpr