Usando um caminho relativo? Eu conheço o caminho absoluto. Usando o comando de cópia? [fechadas]

0

Eu tenho um laboratório que estou fazendo para uma classe operacional Linux. A questão em que estou perplexa é:

For the following questions, only use the cp command to copy files.

You should currently be inside your lab07 directory. Create a subdirectory inside this directory called ones and copy (working directory is lab07) all the files in the /labs/data/filenames/ that end with a 1, 2, 3, ..., 9 into this new ones directory. I.e. copy the files file.1, file.2, etc., but not the files file.11, file.21, etc. Write the full command to copy these files into this new ones directory using only relative paths.

Agora, posso fazer o problema usando um caminho absoluto, o comando é:

cp /labs/data/filenames/file.[1-9] /lab07/ones

Então, a partir disso, qual seria o caminho relativo?

Eu tenho tentado comandos diferentes por HOURS e não tenho ideia. Eu entendo o conceito por trás de caminhos relativos, é apenas quando eu realmente tento fazer isso. Eu não consigo acertar!

Estamos usando o bash / shell em um servidor. Estou usando o Xquartz11

    
por Cody Hershey 20.09.2015 / 23:58

1 resposta

2

O "caminho relativo" deve realmente ser chamado de "caminho relativo ao diretório atual", porque é o que é. Você pode pensar no caminho relativo como parte do caminho que é anexado ao seu diretório atual.

Se você estiver em /labs/data/filenames/ e quiser acessar dir.1 , poderá fazer cd /labs/data/filenames/dir.1 . Mas se você colar esses diretórios um abaixo do outro, você notará que o começo deles é o mesmo (na verdade, o primeiro é completamente incluído no segundo). Então, você poderia fazer cd dir.1 , porque o diretório de trabalho atual ( /labs/data/filenames/ ) é declarado implicitamente.

Os caminhos absolutos sempre começam na raiz da árvore de diretórios, por isso são fáceis. Caminhos relativos podem começar em qualquer lugar na árvore de diretórios, portanto, se quisermos ir a qualquer lugar, precisamos de uma maneira de ir para cima. Essa finalidade é atendida pelo diretório especial .. (dois pontos), que se refere ao pai.

Se você estiver em /labs/data/filenames/ , o comando cd .. levará você para /labs/data/ ; comando cd ../.. levaria você para /labs/ . cd../../../ levaria você para / .

Se os caminhos que você postou estiverem corretos (eles são válidos, mas é improvável que você encontre lab07 diretamente na raiz do sistema de arquivos em qualquer máquina), então, começando em /lab07/ , você deve primeiro ascender até a raiz do sistema de arquivos e, em seguida, desça ao diretório onde estão os arquivos. Você poderia fazer assim:

cd ../labs/data/filenames/

Para não fazer sua lição de casa, deixarei aqui. Agora você precisa caber acima do caminho relativo no comando cp . Observe também que você está em /lab07/ agora, portanto, cp caminho de destino pode ser reduzido. Você tem parte de seleção de arquivos, não se preocupe aqui.

A propósito, seu instrutor deve saber que file.11 termina com 1 . Ele quis dizer "todos os arquivos que terminam com um número de um dígito" ou algo assim.

    
por 21.09.2015 / 00:49

Tags