Deseja remover a pasta “.” e “..” que copiei do meu cartão SD do telefone?

1

Aqui está o meu código de terminal:

   root@mehedi-Inspiron-1545:/home/mehedi/SD Card/sdcard/10.5.50.31:2121/PhoneStorage/Download# ls -al
total 46676
drwxrwxr-x  3 mehedi mehedi     4096 জুল    11 05:36 .
drwxrwxr-x 13 mehedi mehedi     4096 জুল    11 05:33 ..
-rw-rw-r--  1 mehedi mehedi    83277 জুল    10 10:18 17861803_1540974315927302_7704865319494415873_n.jpg
drwxrwxr-x  2 mehedi mehedi     4096 জুল    10 10:18 Adobe Reader
-rw-rw-r--  1 mehedi mehedi    18952 জুল    10 10:18 config.bin
-rw-rw-r--  1 mehedi mehedi   407930 জুল    10 10:18 download_20170115_010150.jpeg
-rw-rw-r--  1 mehedi mehedi    66275 জুল    10 10:18 DVB-T-w-Gliwicach-kierunki-2014.02.17.jpg
-rw-rw-r--  1 mehedi mehedi  3395403 জুল    10 10:19 Nasi_Lemak,_Mamak,_Sydney.jpg

Agora alguém pode me dizer como excluir a pasta chamada. e .. estes dois foram copiados do meu cartão SD.

    
por Mehedi Hasan 11.07.2017 / 01:54

2 respostas

4

Estas são as anotações padrão do Linux para o diretório atual ( . ) e o diretório pai ( .. ). Eles não têm nada a ver com o Android ou o cartão SD. Este é apenas o comportamento padrão do sistema de arquivos, e eles existem para todos os diretórios no sistema de arquivos.

$ pwd 
/home/xieerqi/testdir/parent
$ ls -a
./  ../
# going to . directory doesn't do anything, you remain in same place
$ cd .
$ pwd
/home/xieerqi/testdir/parent
# going to .. brings you up one level to parent folder
$ cd ..
$ pwd
/home/xieerqi/testdir

A exceção importante é que, com o diretório raiz / , o .. apontará para si mesmo, já que não há um diretório mais alto para ir.

Você também não pode realizar a remoção neles (o que não faria sentido, já que você está tentando se livrar do seu diretório de trabalho atual ou de seu pai):

$ pwd 
/home/xieerqi/testdir/parent
$ rm -r .
rm: refusing to remove '.' or '..' directory: skipping '.'
$ 

Então, o que você deve fazer sobre eles? Nada. Eles são parte do pacote Linux, por assim dizer. Isso não está quebrado, então não tente consertá-lo.

O uso freqüente de . é via notação ./ . Isso pode ser usado no caso de você executar um script ou executável em seu diretório de trabalho atual, como ./myscript.sh ou como argumento para comando, significando um arquivo no diretório atual, como ls ./myfile.txt . A última abordagem é frequentemente usada com globstar para expandir para vários nomes de arquivos no diretório atual, como ls ./* . Essa abordagem é particularmente útil com nomes de arquivos que podem conter - e, portanto, esses nomes de arquivos podem ser mal interpretados por comandos como argumentos, enquanto ./-myfile.txt evita esse problema.

Também é importante notar que, como os nomes de arquivos que contêm os pontos principais são considerados ocultos no Linux, esses dois diretórios "ponteiro" podem ser vistos se você especificar explicitamente o comando usado para processar nomes ocultos (a menos que seu comando, como find faz isso por padrão).

Veja também: link

    
por Sergiy Kolodyazhnyy 11.07.2017 / 02:02
0

Estes são "hard links" gerenciados pelo próprio Linux.

Vamos criar um diretório e ver seus detalhes:

$ mkdir dir1
$ ls -ld dir1
drwxrwxr-x 2 ravexina ravexina 4096 Jul 11 19:14 dir1/

preste atenção no número "2", que é o número de links para este diretório ( dir1 ) qual deles é o próprio nome do diretório e o outro é o . dentro dele.

Vamos criar um novo diretório dentro de dir1 :

$ mkdir dir1/new-dir

agora veja os detalhes do dir1:

$ ls -ld dir1
drwxrwxr-x 3 ravexina ravexina 4096 Jul 11 19:14 dir1/

O número de links se tornou "3", e isso é por causa de .. dentro de new-dir , que está apontando para o dir .

Existem usos diferentes para esses dois links, por exemplo, com .. que você pode mover relativamente para diretórios.

Um dos usos mais importantes de . é executar um script de shell dentro de um diretório, o que acontece quando você executa um script chamado for.sh apenas digitando seu nome? Bem shell vai pensar que você está tentando executar um comando chamado foo.sh , ele irá procurar por ele, não pode encontrá-lo e produz um erro, usando ./script você diz ao shell exatamente qual arquivo você deseja executar. / p>     

por Ravexina 11.07.2017 / 16:54