Vimos que a memória secundária é responsável pelo armazenamento de arquivos.
Arquivos são conjuntos de dados estruturados.
Dados sem estrutura específica não são considerados arquivos. Dados sem estrutura não remetem à informação.
Ex: bretas leite litro água R$5,00 1000 R$15,00 1 bahamas ml
São dados soltos (sem estrutura) e de difícil verificação já que não remetem à informação clara e útil.
Dados com mais estruturas:
Bahamas; leite; 1000; ml; R$ 5,00;
Bretas; água; 10; litros; R$ 15,00;
Remetem à informação clara e sem ambiguidade.
Na computação, desejamos seguir essa estrutura na qual os programas possam gerar conhecimento ou ação a partir de uma informação:
dados -> informação -> conhecimento -> consciência
Por exemplo, a ação de um robô tomar a decisão de virar para a direita após o dado de um sensor de proximidade ser coletado e analisado.
Dentro de um sistema operacional, já falamos que tudo são arquivos. Dentre os arquivos simples, os tipos mais comuns são:
.exe = arquivo executável, contém comandos em linguagem de máquina que são executados pelo processador
.txt = arquivo de texto sem formatação
.rtf, .doc= arquivos de texto com formatação
.xls = planilha
.bmp, .gif, .jpg, .tiff, .png = arquivos gráficos
.zip, .gz = arquivos compactados
.tar = coleção de arquivos unidos em apenas um
.mp3 = arquivo de áudio
.mpeg, .mp4 = arquivos de vídeos
etc...
Características de arquivos (informações estruturais que todo arquivo PRECISA para ser armazenado):
Nome
Tipo
Datas de criação, acesso e modificação
Proprietário (owner)
Permissões (escrita, leitura e execução)
Tamanho
Localização (path)
Oculto ou visível
etc.
Operações em arquivos (ações que se pode fazer em arquivos):
Criar
Remover
Abrir
Editar/Salvar
Mover (alterar path)
Renomear
Copiar
Recortar (copiar e remover)
Alterar permissões
Alterar proprietário
etc
Essas operações básicas podem ser aplicada em arquivos, seja por interface gráfica ou linha de comando. Acredito que vocês já saibam fazer essas operações por interface gráfica, então o nosso foco aqui será aprender via linha de comando:
Criar: via aplicativos ou redirecionamento (veremos isso adiante). Aqui vc pode usar a interface gráfica por hora para criar arquivos .txt por exemplo.
Editar/Salvar: mesmo caso dos comandos para criação. Veremos isso adiante.
Remover: rm (Linux) ou del (Windows)
Sintaxe:
rm arquivo.txt (apaga arquivo na pasta atual)
rm path/arquivo.txt (apaga arquivo no diretório especificado)
Abrir: via aplicativos ou cat, more, head, tail (Linux) ou type (Windows)
Sintaxe:
cat arquivo.txt (visualiza todo o conteúdo do arquivo)
more arquivo.txt (visualiza todo o arquivo com pausa na tela)
head arquivo.txt (visualiza apenas o início do arquivo)
tail arquivo.txt (visualiza apenas o fim do arquivo)
cat path/arquivo.txt (visualiza todo o arquivo no diretório especificado)
Mover: altera o path de um arquivo para outro path - mv (Linux) ou move (Windows)
Sintaxe:
mv /home/convidado/arquivo.txt /home/convidado/Documentos/arquivo.txt
(NECESSITA dos argumentos origem e destino)
Renomear: mv (Linux) ou rename (Windows)
Sintaxe:
mv /home/convidado/arquivo.txt /home/convidado/novonome.txt
(NECESSITA dos argumentos origem e destino)
Copiar: cp (Linux) ou copy (Windows)
Sintaxe:
cp /home/convidado/arquivo.txt /home/convidado/copiaarquivo.txt
Vimos no tópico anterior que Windows e Linux seguem uma estrutura hierárquica de diretórios em formato de ÁRVORE.
No Windows a raiz (root) é 'c:\'. Já no Linux a raiz é '/'.
Ações em diretórios:
Criar: mkdir (Linux ou Windows)
Sintaxe:
mkdir nomedapasta
Mover: mv (Linux) ou move (Windows)
Sintaxe:
mkdir /home/convidada/nomedapasta /home/convidada/Documentos/nomedapasta
Apagar: rm (Linux ou Windows)
Sintaxe:
rm -r /home/convidada/nomedapasta (no Linux)
rm /s /home/convidada/nomedapasta (no Windows)
Copiar: cp (Linux) ou copy (Windows)
Sintaxe:
cp -r /home/convidada/pastaoriginal /home/convidada/pastacopiada
Renomear: mv (Linux) ou rename (Windows)
Sintaxe:
mv -r /home/convidada/pastanomeantigo /home/convidada/pastanovonome
Listar arquivos: ls (Linux) ou dir (Windows)
Sintaxe:
ls /home/convidada/ (Listar arquivos do diretório que estou agora)
ls /home/convidada/ (Listar arquivos de um caminho específico)
Para ver o diretório corrente: pwd (Linux)
Sintaxe:
pwd
Para limpar a tela: clear (Linux) e cls (Windows)
Sintaxe:
clear
Diretórios especiais:
Windows
Raiz (root): c:\
Diretório corrente: .\
Diretório anterior: ..
Exemplos:
cd c:
cd temp
cd ..
Linux
Raiz (root): /
Diretório corrente: ./
Diretório anterior: ..
Diretório do usuário logado: ~
Exemplos:
cd ~
mkdir teste
cd teste
cd ..
cd /
Caracteres Coringa (Linux e Windows)
* substitui uma cadeia de caracteres
? substitui um caractere
Exemplos:
mv ~/* ~/backup
Move todos os arquivos da pasta do usuário para a sub-pasta backup
copy c:\windows\*.exe c:\temp
Copia todos os executáveis para a pasta c:\temp
ls *.txt
Lista todos os arquivos texto na pasta corrente
dir c:\textos\???.doc
Lista os arquivos .doc que possuem 3 caracteres no nome e que estejam na pasta c:\textos
VEJA COM MUITA ATENÇÃO OS VÍDEOS A SEGUIR:
1 - Digite os comandos Linux necessários para: verifique qual é a pasta corrente. Vá para a pasta raiz. Liste os arquivos. Vá para a pasta do usuário. Liste as permissões. Crie a pasta backup. Copie todos os arquivos da pasta do usuário para a pasta backup. Vá para a pasta backup. verifique se em algum arquivo desta pasta ocorre o texto "a". Compacte todos os arquivos desta pasta para bck.zip. Volte para a pasta anterior (..). Apague a pasta backup.
2 - Digite os comandos Windows necessários para: Vá para a pasta raiz. Crie a pasta c:\teste. Copie todos os executáveis de c:\windows para c:\teste. Liste os arquivos da pasta c:\teste