103.3 Lição 1
Certificação: |
LPIC-1 |
---|---|
Versão: |
5.0 |
Tópico: |
103 Comandos GNU e Unix |
Objetivo: |
103.3 Gerenciamento básico de arquivos |
Lição: |
1 de 2 |
Introdução
No Linux, tudo são arquivos, então é importantíssimo saber como manipulá-los. Nesta lição, trataremos das operações básicas em arquivos.
Em geral, um usuário Linux precisa saber navegar pelo sistema de arquivos, copiar arquivos de um local para outro e excluir arquivos. Também falaremos dos comandos associados ao gerenciamento de arquivos.
Um arquivo é uma entidade que armazena dados e programas. Consiste em conteúdo e metadados (tamanho do arquivo, proprietário, data de criação, permissões). Os arquivos são organizados em diretórios. Um diretório é um arquivo que armazena outros arquivos.
Dentre os diferentes tipos de arquivos, temos:
- Arquivos regulares
-
armazenam dados e programas.
- Diretórios
-
contêm outros arquivos.
- Arquivos especiais
-
usados para entrada e saída de dados.
Claro, existem outros tipos de arquivos, mas eles estão além do escopo desta lição. Mais tarde, ensinaremos como identificar esses outros tipos.
Manipulação de arquivos
Usando ls
para listar arquivos
O comando ls
é uma das ferramentas de linha de comando mais importantes que precisamos aprender para navegar no sistema de arquivos.
Em sua forma mais básica, o ls
lista somente nomes de arquivos e diretórios:
$ ls Desktop Downloads emp_salary file1 Music Public Videos Documents emp_name examples.desktop file2 Pictures Templates
Quando usado com -l
, conhecido como formato de “listagem longa”, ele mostra as permissões de arquivo ou diretório, proprietário, tamanho, data de modificação, hora e nome:
$ ls -l total 60 drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8980 Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Music drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Public drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Videos
O primeiro caractere na saída indica o tipo de arquivo:
-
-
para um arquivo regular.
d
-
para um diretório.
c
-
para um arquivo especial.
Para mostrar o tamanho dos arquivos em um formato legível por humanos, adicione a opção -h
:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
Para listar todos os arquivos, incluindo arquivos ocultos (aqueles que começam com .
), use a opção -a
:
$ ls -a . .dbus file1 .profile .. Desktop file2 Public .bash_history .dmrc .gconf .sudo_as_admin_successful
Os arquivos de configuração como .bash_history
, que por padrão ficam ocultos, agora estão visíveis.
Em geral, a sintaxe do comando ls
é dada por:
ls OPTIONS FILE
Onde OPTIONS
é qualquer uma das opções mostradas anteriormente (para ver todas as opções possíveis execute man ls
), e FILE
é o nome do arquivo ou detalhes do diretório que você deseja listar.
Note
|
Quando |
Criar, copiar, mover e remover arquivos
Criando arquivos com touch
O comando touch
é a maneira mais fácil de criar arquivos novos e vazios. Também pode ser usado para alterar os carimbos de data/hora (ou seja, hora de modificação) dos arquivos e diretórios existentes. A sintaxe para usar touch
é:
touch OPTIONS FILE_NAME(S)
Sem nenhuma opção, touch
cria novos arquivos com os nomes de arquivo fornecidos como argumentos, desde que ainda não existam arquivos com o mesmo nome. touch
pode criar qualquer número de arquivos simultaneamente:
$ touch file1 file2 file3
Com esse comando, seriam criados três arquivos novos vazios, chamados file1
, file2
e file3
.
Diversas opções de touch
foram especificamente pensadas para permitir ao usuário alterar os carimbos de data/hora dos arquivos. Por exemplo, a opção -a
altera apenas a hora de acesso, enquanto a opção -m
altera apenas a hora de modificação. O uso de ambas as opções em conjunto altera ambas as horas de acesso e de modificação para o horário atual:
$ touch -am file3
Copiando arquivos com cp
Como usuários Linux, geralmente copiamos arquivos de um local para outro. Podemos usar o cp
para todas as tarefas de cópia, seja para mover um arquivo de música ou um arquivo de sistema de um diretório para outro:
$ cp file1 dir2
Este comando pode ser interpretado literalmente como copiar file1
para o diretório dir2
. O resultado é a presença de file1
dentro de dir2
. Para que este comando seja executado com sucesso, file1
deve existir no diretório atual do usuário. Caso contrário, o sistema exibe a mensagem de erro No such file or directory
.
$ cp dir1/file1 dir2
Neste caso, observe que o caminho para file1
é mais explícito. O caminho de origem pode ser expresso como um caminho relativo ou um caminho absoluto. Os caminhos relativos são dados em referência a um diretório específico, ao passo que os caminhos absolutos não são fornecidos com uma referência. Esclareceremos melhor essa noção mais adiante.
Por enquanto, apenas observe que este comando copia file1
para o diretório dir2
. O caminho para file1
é fornecido com mais detalhes, pois o usuário atualmente não está localizado em dir1
.
$ cp /home/frank/Documents/file2 /home/frank/Documents/Backup
Neste terceiro caso, file2
, localizado em /home/frank/Documents
, é copiado no diretório /home/frank/Documents/Backup
. O caminho fornecido aqui é absoluto. Nos dois exemplos acima, os caminhos são relativos. Quando um caminho começa com o caractere /
, trata-se de um caminho absoluto; caso contrário, ele é relativo.
A sintaxe geral de cp
é:
cp OPTIONS SOURCE DESTINATION
SOURCE
é o arquivo a ser copiado e DESTINATION
o diretório para o qual o arquivo será copiado. SOURCE
e DESTINATION
podem ser especificados como caminhos absolutos ou relativos.
Movendo arquivos com o mv
Assim como o cp
para copiar, o Linux fornece um comando para mover e renomear arquivos. Ele se chama mv
.
A operação de mover é análoga à de recortar e colar que costumamos executar por meio de uma interface gráfica de usuário (GUI).
Se quiser mover um arquivo para um novo local, use mv
da seguinte maneira:
mv FILENAME DESTINATION_DIRECTORY
Aqui está um exemplo:
$ mv myfile.txt /home/frank/Documents
O resultado é que myfile.txt
é movido para o destino /home/frank/Documents
.
Para renomear um arquivo, mv
é usado da seguinte maneira:
$ mv old_file_name new_file_name
Esse comando muda o nome do arquivo de old_file_name
para new_file_name
.
Por padrão, o mv
não pede confirmação se você quiser sobrescrever (renomear) um arquivo existente. No entanto, podemos fazer com que o sistema exiba uma mensagem, usando a opção -i
:
$ mv -i old_file_name new_file_name mv: overwrite 'new_file_name'?
Este comando solicita a permissão do usuário antes de sobrescrever old_file_name
com new_file_name
.
Inversamente, se usarmos -f
:
$ mv -f old_file_name new_file_name
o arquivo seria sobrescrito à força, sem pedir permissão.
Removendo arquivos com rm
rm
é usado para excluir arquivos. Pense nele como uma forma abreviada da palavra “remover”. Note que a ação de remover um arquivo geralmente é irreversível e, portanto, este comando deve ser usado com cautela.
$ rm file1
Este comando excluiria file1
.
$ rm -i file1 rm: remove regular file 'file1'?
Este comando solicitaria uma confirmação ao usuário antes de excluir file1
. Lembre-se, vimos a opção -i
ao usarmos mv
, acima.
$ rm -f file1
Este comando exclui file1
à força, sem pedir sua confirmação.
Podemos excluir vários arquivos ao mesmo tempo:
$ rm file1 file2 file3
Neste exemplo, file1
, file2
e file3
são excluídos simultaneamente.
A sintaxe de rm
geralmente é a seguinte:
rm OPTIONS FILE
Criando e removendo diretórios
Criando diretórios com mkdir
A criação de diretórios é essencial para organizar seus arquivos e pastas. Os arquivos podem ser agrupados de maneira lógica dentro de um diretório. Para criar um diretório, use mkdir
:
mkdir OPTIONS DIRECTORY_NAME
onde DIRECTORY_NAME
é o nome do diretório a ser criado. Podemos criar qualquer número de diretórios simultaneamente:
$ mkdir dir1
criaria o diretório dir1
no diretório atual do usuário.
$ mkdir dir1 dir2 dir3
O comando anterior criaria três diretórios, dir1
, dir2
e dir3
, ao mesmo tempo.
Para criar um diretório junto com seus subdiretórios, use a opção -p
(“parents”):
$ mkdir -p parents/children
Este comando criaria a estrutura de diretórios parents/children
, ou seja, criaria os diretórios parents
e children
. children
estaria localizado dentro de parents
.
Removendo diretórios com o rmdir
rmdir
deleta um diretório se ele estiver vazio. Sua sintaxe é dada por:
rmdir OPTIONS DIRECTORY
onde DIRECTORY
pode ser um único argumento ou uma lista de argumentos.
$ rmdir dir1
Este comando excluiria dir1
.
$ rmdir dir1 dir2
Este comando excluiria simultaneamente dir1
e dir2
.
Podemos remover um diretório junto com seu subdiretório:
$ rmdir -p parents/children
Isso removeria a estrutura de diretórios parents/children
. Note que, se algum dos diretórios não estiver vazio, ele não será excluído.
Manipulação recursiva de arquivos e diretórios
Para manipular um diretório e seu conteúdo, precisamos aplicar a recursão. Recursão significa efetuar uma ação e repetir essa ação em toda a árvore de diretórios. No Linux, as opções -r
ou -R
ou --recursive
são geralmente associadas à recursão.
O cenário a seguir ajuda a entender um pouco melhor a recursão:
Você lista o conteúdo de um diretório students
, que contém dois subdiretórios, level 1
e level 2
, e o arquivo chamado frank
. Aplicando a recursão, o comando ls
listaria o conteúdo de alunos
, ou seja, level 1
, level 2
e frank
, mas não terminaria aí. Ele também entraria nos subdiretórios level 1
e level 2
para listar seus conteúdos, e assim por diante na árvore de diretórios.
Listagem recursiva com ls -R
ls -R
é usado para listar o conteúdo de um diretório junto com seus subdiretórios e arquivos.
$ ls -R mydirectory mydirectory/: file1 newdirectory mydirectory/newdirectory:
Na listagem acima, mydirectory
, incluindo todo o seu conteúdo, está listado. Podemos observar que mydirectory
contém o subdiretório newdirectory
e o arquivo file1
. newdirectory
está vazio, por isso nenhum conteúdo é mostrado.
Em geral, para listar o conteúdo de um diretório incluindo seus subdiretórios, usamos:
ls -R DIRECTORY_NAME
A adição de uma barra a DIRECTORY_NAME
não tem efeito:
$ ls -R animal
é similar a
$ ls -R animal/
Cópia recursiva com cp -r
cp -r
(ou -R
ou --recursive
) permite copiar um diretório junto com todos os seus subdiretórios e arquivos.
$ tree mydir mydir |_file1 |_newdir |_file2 |_insidenew |_lastdir 3 directories, 2 files $ mkdir newcopy $ cp mydir newcopy cp: omitting directory 'mydir' $ cp -r mydir newcopy * tree newcopy newcopy |_mydir |_file1 |_newdir |_file2 |_insidenew |_lastdir 4 directories, 2 files
Na listagem acima, observamos que, ao tentar copiar mydir
em newcopy
, usando cp
sem -r
, o sistema exibe a mensagem cp: omitting directory 'mydir'
. No entanto, ao adicionar a opção -r
, todo o conteúdo de mydir
, incluindo ele mesmo, é copiado para newcopy
.
Para copiar diretórios e subdiretórios, use:
cp -r SOURCE DESTINATION
Remoção recursiva com rm -r
rm -r
remove um diretório e todo o seu conteúdo (subdiretórios e arquivos).
Warning
|
Tenha muito cuidado com o |
Ao tentar excluir um diretório sem usar -r
, o sistema exibe um erro:
$ rm newcopy/ rm: cannot remove 'newcopy/': Is a directory $ rm -r newcopy/
É necessário adicionar -r
, como no segundo comando, para que a exclusão tenha efeito.
Note
|
Você deve estar se perguntando por que não usamos |
Adicione a opção -i
para pedir a confirmação antes que o arquivo seja excluído:
$ rm -ri mydir/ rm: remove directory 'mydir/'?
O sistema avisa antes de tentar excluir mydir
.
Globbing de arquivos e caracteres curinga
O globbing de arquivos é um recurso fornecido pelo shell do Unix/Linux para representar múltiplos nomes de arquivo usando caracteres especiais chamados caracteres curinga.
Os curingas são, essencialmente, símbolos que podem ser usados para substituir um ou mais caracteres. Eles permitem, por exemplo, mostrar todos os arquivos que começam com a letra A
ou todos os que terminam com as letras .conf
.
Os caracteres curinga são utilíssimos, pois podem ser usados com comandos como cp
, ls
ou rm
.
Veja a seguir alguns exemplos de globbing de arquivos:
rm *
-
Remove todos os arquivos no diretório de trabalho atual.
ls l?st
-
Lista todos os arquivos cujo nome começa com
l
, seguido por qualquer caractere único e terminando comst
. rmdir [a-z]*
-
Remove todos os diretórios cujo nome começa com uma letra.
Tipos de caracteres curinga
Existem três caracteres que podem ser usados como curingas no Linux:
*
(asterisco)-
representa zero, uma ou mais ocorrências de qualquer caractere.
?
(interrogação)-
representa uma única ocorrência de qualquer caractere.
[ ]
(caracteres entre colchetes)-
representa qualquer ocorrência do(s) caractere(s) inseridos nos colchetes. É possível usar diferentes tipos de caracteres, sejam números, letras ou outros caracteres especiais. Por exemplo, a expressão
[0-9]
representa todos os dígitos.
O asterisco
Um asterisco (*
) corresponde a zero, uma ou mais ocorrências de qualquer caractere.
Por exemplo:
$ find /home -name *.png
Esse comando localizaria todos os arquivos que terminam com .png
, como photo.png
, cat.png
, frank.png
. O comando find
será explorado posteriormente em uma lição seguinte.
Da mesma maneira:
$ ls lpic-*.txt
listaria todos os arquivos de texto que começam com os caracteres lpic-
seguidos por qualquer número de caracteres e que terminam com .txt
, como lpic-1.txt
e lpic-2.txt
.
O caractere curinga asterisco pode ser usado para manipular (copiar, excluir ou mover) todo o conteúdo de um diretório:
$ cp -r animal/* forest
Neste exemplo, todo o conteúdo de animal
é copiado para forest
.
Em geral, para copiar todo o conteúdo de um diretório, usamos:
cp -r SOURCE_PATH/* DEST_PATH
onde SOURCE_PATH
pode ser omitido se já estivermos no diretório desejado.
O asterisco, assim como qualquer outro caractere curinga, pode ser usado repetidamente no mesmo comando e em qualquer posição:
$ rm *ate*
Os arquivos com nomes iniciando com zero, uma ou mais ocorrências de qualquer caractere, seguidos das letras ate
e terminando com zero, uma ou mais ocorrências de qualquer caractere serão removidos.
O ponto de interrogação
O ponto de interrogação (?
) corresponde a uma única ocorrência de um caractere.
Considere a listagem:
$ ls last.txt lest.txt list.txt third.txt past.txt
Para retornar apenas os arquivos que começam com l
seguido por qualquer caractere único e os caracteres st.txt
, usamos o caractere curinga ponto de interrogação (?
):
$ ls l?st.txt last.txt lest.txt list.txt
Apenas os arquivos last.txt
, lest.txt
e list.txt
são exibidos, pois correspondem aos critérios dados.
Da mesma maneira,
$ ls ??st.txt last.txt lest.txt list.txt past.txt
exibe os arquivos cujos nomes iniciam com quaisquer dois caracteres seguidos pelo texto st.txt
.
Caracteres entre chaves
Os curingas entre colchetes correspondem a qualquer ocorrência do(s) caractere(s) entre colchetes:
$ ls l[aef]st.txt last.txt lest.txt
Este comando listaria todos os arquivos começando com l
seguido por qualquer um dos caracteres do conjunto aef
e terminando com st.txt
.
Os colchetes também podem indicar intervalos:
$ ls l[a-z]st.txt last.txt lest.txt list.txt
Esse comando exibe todos os arquivos com nomes começando com l
seguido por qualquer letra minúscula no intervalo de a
a z
e terminando com st.txt
.
Também podemos definir múltiplos intervalos entre colchetes:
$ ls student-1A.txt student-2A.txt student-3.txt $ ls student-[0-9][A-Z].txt student-1A.text student-2A.txt
A lista mostra um diretório escolar com uma lista de alunos registrados. Para listar apenas os alunos cujos números de registro, é preciso atender aos seguintes critérios:
-
começa com
student-
-
seguido por um número e um caractere em maiúscula
-
e termina com
.txt
Combinando caracteres curinga
Os caracteres curinga podem ser combinados, como em:
$ ls last.txt lest.txt list.txt third.txt past.txt $ ls [plf]?st* last.txt lest.txt list.txt past.txt
O primeiro componente curinga ([plf]
) corresponde a qualquer um dos caracteres p
, l
ou f
. O segundo componente curinga (?
) corresponde a qualquer caractere único. O terceiro componente curinga (*
) corresponde a zero, uma ou múltiplas ocorrências de qualquer caractere.
$ ls file1.txt file.txt file23.txt fom23.txt $ ls f*[0-9].txt file1.txt file23.txt fom23.txt
O comando anterior exibe todos os arquivos que começam com a letra f
, seguido por qualquer conjunto de letras, pelo menos uma ocorrência de um dígito e termina com .txt
. Observe que file.txt
não é exibido, pois não corresponde a esses critérios.
Exercícios Guiados
-
Considere a listagem abaixo:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
-
O que o caractere
d
representa na saída? -
Por que os tamanhos são mostrados no formato legível por humanos?
-
Qual seria a diferença na saída se
ls
fosse usado sem argumento?
-
-
Considere o comando abaixo:
$ cp /home/frank/emp_name /home/frank/backup
-
O que aconteceria ao arquivo
emp_name
se esse comando fosse executado com sucesso? -
Se
emp_name
fosse um diretório, qual opção precisaria ser adicionada acp
para executar o comando? -
Se
cp
fosse alterado paramv
, quais seriam os resultados esperados?
-
-
Considere a listagem:
$ ls file1.txt file2.txt file3.txt file4.txt
Qual caractere curinga ajudaria a remover todo o conteúdo deste diretório?
-
Com base na listagem anterior, quais arquivos seriam exibidos com o comando a seguir?
$ ls file*.txt
-
Complete o comando adicionando os dígitos e caracteres entre os colchetes, de modo listar todo o conteúdo acima:
$ ls file[].txt
Exercícios Exploratórios
-
Em seu diretório inicial, crie arquivos chamados
dog
ecat
. -
Ainda no diretório inicial, crie um diretório chamado
animal
. Movadog
ecat
para dentro deanimal
. -
Vá à pasta
Documents
em seu diretório inicial e, dentro dela, crie o diretóriobackup
. -
Copie
animal
e seu conteúdo parabackup
. -
Renomeie
animal
embackup
comoanimal.bkup
. -
O diretório
/home/lpi/databases
contém muitos arquivos, dentre os quais:db-1.tar.gz
,db-2.tar.gz
edb-3.tar.gz
. Qual comando podemos usar para listar apenas os arquivos mencionados acima? -
Considere a listagem:
$ ls cne1222223.pdf cne12349.txt cne1234.pdf
Usando um único caractere de globbing, qual comando removeria apenas os arquivos pdf?
Resumo
Nesta lição, exploramos como visualizar o que está dentro de um diretório com o comando ls
, como copiar (cp
) arquivos e pastas e como movê-los (mv
). Também vimos como novos diretórios podem ser criados com o comando mkdir
. Os comandos para remover arquivos (rm
) e pastas (rmdir
) também foram abordados.
Nesta lição, você também aprendeu sobre o globbing de arquivos e caracteres curinga. O globbing de arquivo é usado para representar vários nomes de arquivo usando caracteres especiais chamados curingas. Estes são os caracteres curinga básicos e seus significados:
?
(interrogação)-
representa uma única ocorrência de qualquer caractere.
[ ]
(caracteres entre colchetes)-
representa qualquer ocorrência do(s) caractere(s) inseridos nos colchetes.
*
(asterisco)-
representa zero, uma ou mais ocorrências de qualquer caractere.
Podemos incluir qualquer combinação desses caracteres curinga na mesma instrução.
Respostas aos Exercícios Guiados
-
Considere a listagem abaixo:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
-
O que o caractere
d
representa na saída?d
é o caractere que identifica um diretório. -
Por que os tamanhos são mostrados no formato legível por humanos?
Por causa da opção
-h
. -
Qual seria a diferença na saída se
ls
fosse usado sem argumento?Seriam mostrados apenas os nomes dos diretórios e arquivos.
-
-
Considere o comando abaixo:
$ cp /home/frank/emp_name /home/frank/backup
-
O que aconteceria ao arquivo
emp_name
se esse comando fosse executado com sucesso?emp_name
seria copiado embackup
. -
Se
emp_name
fosse um diretório, qual opção precisaria ser adicionada acp
para executar o comando?-r
-
Se
cp
fosse alterado paramv
, quais seriam os resultados esperados?emp_name
seria movido parabackup
. Ele não estaria mais presente no diretório inicial do usuáriofrank
.
-
-
Considere a listagem:
$ ls file1.txt file2.txt file3.txt file4.txt
Qual caractere curinga ajudaria a remover todo o conteúdo deste diretório?
O asterisco
*
. -
Com base na listagem anterior, quais arquivos seriam exibidos com o comando a seguir?
$ ls file*.txt
Todos eles, já que o asterisco representa qualquer número de caracteres.
-
Complete o comando adicionando os dígitos e caracteres entre os colchetes, de modo listar todo o conteúdo acima:
$ ls file[].txt
file[0-9].txt
Respostas aos Exercícios Exploratórios
-
Em seu diretório inicial, crie arquivos chamados
dog
ecat
.$ touch dog cat
-
Ainda no diretório inicial, crie um diretório chamado
animal
. Movadog
ecat
para dentro deanimal
.$ mkdir animal $ mv dog cat -t animal/
-
Vá à pasta
Documents
em seu diretório inicial e, dentro dela, crie o diretóriobackup
.$ cd ~/Documents $ mkdir backup
-
Copie
animal
e seu conteúdo parabackup
.$ cp -r animal ~/Documents/backup
-
Renomeie
animal
embackup
comoanimal.bkup
.$ mv animal/ animal.bkup
-
O diretório
/home/lpi/databases
contém muitos arquivos, dentre os quais:db-1.tar.gz
,db-2.tar.gz
edb-3.tar.gz
. Qual comando podemos usar para listar apenas os arquivos mencionados acima?$ ls db-[1-3].tar.gz
-
Considere a listagem:
$ ls cne1222223.pdf cne12349.txt cne1234.pdf
Usando um único caractere de globbing, qual comando removeria apenas os arquivos pdf?
$ rm *.pdf