Atualizado: 24/10/2024

Trabalhando com Arquivos - Linux

Criando Arquivos

Para criar um arquivo, utilizamos o comando touch. Por exemplo, para criar um arquivo chamado hello.txt na pasta Documents:

programicio@Programicio:~$ touch ~/Documents/hello.txt

Removendo Arquivos

Para remover arquivos (e também diretórios), usamos o comando rm. Por exemplo, para remover o arquivo hello.txt criado anteriormente na pasta Documents:

programicio@Programicio:~$ rm ~/Documents/hello.txt

O comando rm também pode ser usado para remover diretórios. Nesse caso, é necessário usar a opção -r. Por exemplo, para remover a pasta test:

programicio@Programicio:~$ rm -r ~/Documents/test

Copiando Arquivos e Diretórios

Para copiar arquivos ou diretórios, utilizamos o comando cp. Ele tem a seguinte forma:

cp source destination

O primeiro argumento do comando, source, representa o nome do diretório, arquivos ou padrão de arquivos que devem ser copiados. O segundo argumento, destination, representa o caminho para onde devem ser copiados. Por exemplo, para copiar o arquivo Documents/test/hello.txt para a pasta Documents:

programicio@Programicio:~$ cp ~/Documents/test/hello.txt ~/Documents/hello.txt

Outro exemplo seria copiar o arquivo Documents/test/hello.txt para a pasta Documents/test2:

programicio@Programicio:~$ mkdir ~/Documents/test2
programicio@Programicio:~$ cp ~/Documents/test/hello.txt ~/Documents/test2

Neste caso, é importante que a pasta test2 já exista antes da cópia. Caso contrário, será criado um arquivo de texto chamado test2 com o conteúdo do arquivo hello.txt.

Para copiar diretórios, usamos a opção -r. Por exemplo, para copiar o conteúdo da pasta Documents/test para a pasta Documents/test4:

programicio@Programicio:~$ cp -r ~/Documents/test/ ~/Documents/test4

Nesse caso, a pasta test4 será criada automaticamente.

O padrão de arquivo pode utilizar o símbolo asterisco * para indicar todos os arquivos. Por exemplo, o comando cp ~/* /tmp copia todos os arquivos do diretório home para o diretório /tmp.

Para copiar arquivos ocultos, usamos o símbolo asterisco seguido por um ponto. Por exemplo, o comando:

programicio@Programicio:~$ mkdir ~/Documents/test5
programicio@Programicio:~$ cp .* ~/Documents/test5

copiará todos os arquivos ocultos do diretório atual para a pasta Documents/test5, já que o primeiro argumento se refere a todos os arquivos cujo nome começa com um ponto (a pasta test5 deve ser criada previamente).

Se for necessário copiar também os diretórios ocultos e seu conteúdo, utilizamos a opção -r:

cp -r .* ~/Documents/test5

Opções

O comando cp aceita várias opções. Aqui estão algumas delas:

  • -a: preserva os atributos dos arquivos copiados, como permissões e timestamps.

  • -b: realiza backup. Se o comando cp substituir um arquivo de destino existente, essa opção garante que um backup do arquivo de destino seja criado primeiro.

  • -f: força a cópia, mesmo que o arquivo de destino proíba a cópia. Isso significa que o arquivo de destino será sobrescrito.

  • -i: solicita confirmação antes de sobrescrever arquivos de destino existentes.

  • -p: preserva atributos do arquivo, como proprietários e permissões.

  • -r: copia diretórios de forma recursiva.

  • -u: copia apenas se o arquivo de destino for mais antigo que o arquivo de origem ou se o arquivo de destino não existir.

Movendo Arquivos e Diretórios

O comando mv move arquivos e diretórios para um novo local. A sua forma é:

mv source destination

O primeiro argumento, source, representa os diretórios ou arquivos que devem ser movidos. O segundo argumento, destination, representa o caminho para onde devem ser movidos. Por exemplo, para mover o arquivo Documents/test/hello.txt para a pasta Documents/test6:

programicio@Programicio:~$ mkdir ~/Documents/test6
programicio@Programicio:~$ mv ~/Documents/test/hello.txt ~/Documents/test6

Neste exemplo, a pasta test6 é criada antes de mover o arquivo. No entanto, se a pasta test6 não existir, será criado um arquivo test6 com o conteúdo do arquivo Documents/test/hello.txt.

Da mesma forma, podemos mover diretórios. Por exemplo:

programicio@Programicio:~$ mkdir ~/Documents/test7
programicio@Programicio:~$ touch ~/Documents/test7/helworld.txt
programicio@Programicio:~$ mv ~/Documents/test7 ~/Documents/test8

Aqui, criamos a pasta test7 e nela um arquivo helworld.txt. Depois movemos a pasta Documents/test7 para Documents/test8. O que ocorre depende da existência do diretório test8. Se test8 existir, ele conterá um subdiretório test7 com todo o conteúdo de Documents/test7. Se test8 não existir, será criado um diretório test8 com todo o conteúdo de Documents/test7.

Esse último caso mostra que podemos usar o comando mv para renomear. Por exemplo:

programicio@Programicio:~$ mv ~/Documents/test8 ~/Documents/test9

Se test9 não existir, test8 será renomeado para test9.

Contando Palavras em um Arquivo

O comando wc permite contar o número de palavras em um arquivo:

programicio@Programicio:~$ wc ~/Documents/test/hello.txt
32  274 1572 /home/programicio/Documents/test/hello.txt

Este comando exibe, respectivamente, o número de linhas, palavras e caracteres.

Links

No Linux, um link é um ponteiro para um arquivo. Um link facilita a localização de arquivos desejados. Um link simbólico refere-se ao nome de um arquivo e pode ser usado para referenciar um arquivo localizado em qualquer lugar. No entanto, um link simbólico depende do arquivo original. Por exemplo, se o arquivo original for excluído, o link simbólico deixará de funcionar.

Para criar um link simbólico, utilizamos o comando ln com a opção -s. Por exemplo, para criar um link chamado myhost no diretório pessoal que aponta para o arquivo /etc/hosts, usamos o seguinte comando:

ln -s /etc/hosts ~/myhost

Como resultado, um atalho chamado myhost será criado no diretório pessoal, referindo-se ao arquivo /etc/hosts. Cada vez que o arquivo myhost for aberto, o arquivo /etc/hosts será acessado.

Para visualizar informações sobre o link, podemos usar o comando ls -l:

programicio@Programicio:~$ ls -l ~/myhost
lrwxrwxrwx 1 programicio programicio 10 Mar 11 20:15 /home/programicio/myhost -> /etc/hosts

A primeira letra l indica que se trata de um link. Além disso, a expressão /home/programicio/myhost -> /etc/hosts mostra para qual arquivo o link aponta.

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com