相关疑难解决方法(0)

'rm .*' 会删除父目录吗?

该表达式.*由 bash 扩展以包括当前和父目录:

$ ls -la
total 2600
drwxrwxrwx   2 terdon terdon 2162688 Sep 10 16:22 .
drwxr-xr-x 142 terdon terdon  491520 Sep 10 15:34 ..
-rw-r--r--   1 terdon terdon       0 Sep 10 16:22 foo
$ echo .*
. ..
Run Code Online (Sandbox Code Playgroud)

如果我rm -rf .*使用 GNU bash 在我的 Debian 上运行,version 4.2.36(1)-release并且rmrm (GNU coreutils) 8.13,我会收到以下消息:

$ rm -rf .*
rm: cannot remove directory: `.'
rm: cannot remove directory: `..'
Run Code Online (Sandbox Code Playgroud)

这是 GNU 的东西还是 POSIX?是否有任何 …

shell posix wildcards rm

58
推荐指数
1
解决办法
6631
查看次数

为什么我不能删除“。” 目录?

我尝试删除“。” 目录。我以为我可以删除我的工作目录而不必进入父目录。

我的问题的重点是寻找有关 linux 系统如何工作以删除文件的一些见解。

filesystems directory rm

41
推荐指数
2
解决办法
7772
查看次数

Unix 在浏览文件系统时如何跟踪用户的工作目录?

假设我登录到 unix 系统上的 shell 并开始窃听命令。我最初从用户的主目录开始~。我可能会从那里cd到目录Documents

这里更改工作目录的命令非常简单直观地理解:父节点有一个它可以访问的子节点列表,并且大概它使用搜索的(优化的)变体来定位子节点的存在输入用户的名称,然后“更改”工作目录以匹配此名称 - 如果我错了,请纠正我。更简单的是,shell 只是“天真地”尝试完全按照用户的意愿尝试访问目录,并且当文件系统返回某种类型的错误时,shell 会相应地显示响应。

然而,我感兴趣的是,当我向上导航一个目录时,相同的过程是如何工作的,即导航到父级或父级的父级。

鉴于我未知的,大概是“盲”位置Documents,整个文件系统树中可能有许多目录之一具有该名称,Unix 如何确定我接下来应该放置的位置?它是否参考pwd并检查了它?如果是,如何pwd跟踪当前导航状态?

filesystems pwd

29
推荐指数
1
解决办法
3424
查看次数

进程退出后自动销毁的临时文件夹

我们可以使用临时文件夹之类的临时文件吗

TMP=$(mktemp ... )
exec 3<>$TMP
rm $TMP

cat <&3
Run Code Online (Sandbox Code Playgroud)

这个shell退出后哪个会自动销毁?

file-descriptors tmpfs

12
推荐指数
3
解决办法
5316
查看次数

标签 统计

filesystems ×2

rm ×2

directory ×1

file-descriptors ×1

posix ×1

pwd ×1

shell ×1

tmpfs ×1

wildcards ×1