Trabalhando com Arquivos - Linux
Criando Arquivos
Para criar um arquivo, utilizamos o comando touch
hello.txt
programicio@Programicio:~$ touch ~/Documents/hello.txt
Removendo Arquivos
Para remover arquivos (e também diretórios), usamos o comando rm
hello.txt
Documents
programicio@Programicio:~$ rm ~/Documents/hello.txt
O comando rm
-r
test
programicio@Programicio:~$ rm -r ~/Documents/test
Copiando Arquivos e Diretórios
Para copiar arquivos ou diretórios, utilizamos o comando cp
cp source destination
O primeiro argumento do comando, source
destination
Documents/test/hello.txt
Documents
programicio@Programicio:~$ cp ~/Documents/test/hello.txt ~/Documents/hello.txt
Outro exemplo seria copiar o arquivo Documents/test/hello.txt
Documents/test2
programicio@Programicio:~$ mkdir ~/Documents/test2 programicio@Programicio:~$ cp ~/Documents/test/hello.txt ~/Documents/test2
Neste caso, é importante que a pasta test2
test2
hello.txt
Para copiar diretórios, usamos a opção -r
Documents/test
Documents/test4
programicio@Programicio:~$ cp -r ~/Documents/test/ ~/Documents/test4
Nesse caso, a pasta test4
O padrão de arquivo pode utilizar o símbolo asterisco *
cp ~/* /tmp
home
/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
test5
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
: preserva os atributos dos arquivos copiados, como permissões e timestamps.-a
: 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.-b
: 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.-f
: solicita confirmação antes de sobrescrever arquivos de destino existentes.-i
: preserva atributos do arquivo, como proprietários e permissões.-p
: copia diretórios de forma recursiva.-r
: copia apenas se o arquivo de destino for mais antigo que o arquivo de origem ou se o arquivo de destino não existir.-u
Movendo Arquivos e Diretórios
O comando mv
mv source destination
O primeiro argumento, source
destination
Documents/test/hello.txt
Documents/test6
programicio@Programicio:~$ mkdir ~/Documents/test6 programicio@Programicio:~$ mv ~/Documents/test/hello.txt ~/Documents/test6
Neste exemplo, a pasta test6
test6
test6
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
helworld.txt
Documents/test7
Documents/test8
test8
test8
test7
Documents/test7
test8
test8
Documents/test7
Esse último caso mostra que podemos usar o comando mv
programicio@Programicio:~$ mv ~/Documents/test8 ~/Documents/test9
Se test9
test8
test9
Contando Palavras em um Arquivo
O comando wc
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
-s
myhost
/etc/hosts
ln -s /etc/hosts ~/myhost
Como resultado, um atalho chamado myhost
/etc/hosts
myhost
/etc/hosts
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
/home/programicio/myhost -> /etc/hosts