想要删除我从手机 SD 卡复制的文件夹“。”和“..”吗?

想要删除我从手机 SD 卡复制的文件夹“。”和“..”吗?

这是我的终端代码:

   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

现在谁能告诉我如何删除名为 . 和 .. 的文件夹,这两个文件夹是从我的 SD 卡中复制的。

答案1

这些是当前目录 ( .) 和父目录 ( ..) 的标准 Linux 符号。它们与 Android 或 SD 卡无关。这只是标准文件系统行为,它们存在于文件系统上的每个目录中。

$ 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

重要的例外是,对于/根目录,..将指向其自身,因为没有更高的目录可以去。

您也无法对它们执行删除操作(这没有意义,因为您正试图摆脱当前的工作目录或其父目录):

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

那么你应该怎么做呢?没什么可做的。可以说,它们是 Linux 软件包的一部分。这并没有损坏,所以不要试图修复它。


经常使用.是通过./符号表示的。这可以在您运行当前工作目录中的脚本或可执行文件(如./myscript.sh或 作为命令的参数)的情况下使用,表示当前目录中的文件,如ls ./myfile.txt。最后一种方法通常与 globstar 一起使用,以扩展为当前目录中的多个文件名,例如ls ./*。这种方法对于可能包含前导的文件名特别有用-,因此这些文件名可能会被命令误解为参数,而 则./-myfile.txt避免了这个问题。

还需要注意的是,由于包含前导点的文件名在 Linux 上被视为隐藏,如果您明确指定用于处理隐藏文件名的命令,则可以看到这两个“指针”目录(除非您的命令默认这样find做)。

也可以看看:https://unix.stackexchange.com/a/63087/85039

答案2

这些是 Linux 本身管理的“硬链接”。

让我们创建一个目录,并查看它的详细信息:

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

注意数字“2”,这是指向此目录的链接数(dir1),其中一个是目录名称本身,另一个是.目录内部。

让我们在里面创建一个新目录dir1

$ mkdir dir1/new-dir

现在查看 dir1 的详细信息:

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

链接数变成了“3”,这是因为..其中new-dir的 指向dir


这两个链接有不同的用途,例如..您可以相对地移动到目录。

的一个最重要的用途.是在目录内运行 shell 脚本,当你for.sh通过输入名称来运行名为 的脚本时会发生什么?shell 会认为你正在尝试运行名为 的命令foo.sh,它会搜索它,如果找不到它并输出错误,./script你需要告诉 shell 你想要运行哪个文件。

相关内容