小编use*_*312的帖子

可以通过其 inode 检索文件吗?

我按照指定的顺序运行了以下命令:

$ln a b
$ls -i a b
523669 a 523669 b
$rm -f a
$ls -i b
523669 b
Run Code Online (Sandbox Code Playgroud)

我从这个测试中得出结论,该命令rm实际上只删除了文件名(a在这个测试中)而不是文件,因为 inode 仍然存在并且可以通过另一个文件名 ( b)检索。

我的问题是,如果一个文件只硬链接到一个文件名,那么当rm对文件执行时,真正的文件(即inode)是否被完全删除?如果没有,是否可以在没有文件名的情况下仅通过 inode 检索文件 inode?

hard-link inode rm

38
推荐指数
4
解决办法
2万
查看次数

`kill -p` 真的有效吗?

在它的手册页中kill是这样写的

概要

  kill [ -s signal | -p ] [ -a ] [ -- ] pid ...
  kill -l [ signal ]

  -p     Specify  that kill should only print the process id (pid) of the
          named processes, and not send any signals.
Run Code Online (Sandbox Code Playgroud)

但是由于我在 RH 和 RHEL 中都尝试了很多次,像这样的命令kill -s SIGHUP |-p 123从未奏效并且总是报告错误

bash: -p: 命令未找到

我犯了什么错误吗?

shell man kill documentation

11
推荐指数
2
解决办法
3351
查看次数

为什么不支持大括号扩展?

我必须做任何配置才能开始大括号扩展吗?当我运行时mkdir {1..10},它只是创建一个目录命名{1..10}

shell brace-expansion

10
推荐指数
1
解决办法
5300
查看次数

为什么 .sh 文件的第一行注释是必需的?

有人告诉我#!/bin/bash,shell 脚本文件中的第一行 shebang ( ) 是必需的,如果没有这一行,文件将无法准确运行。但是我测试了一些脚本。没有那条线,他们工作得很好。

那行只是一条评论吗?bash 是否像其他注释一样省略了这一行?还是 bash 解释它?

那条线是强制采用那种格式吗?或者只是一个有用的可读笔记?如果我换一种方式,比如说,没有!?

scripting bash shebang

5
推荐指数
2
解决办法
1万
查看次数

/etc/inputrc 属于什么类型的文件?

似乎该/etc/inputrc文件符合 shell 脚本语法。但文件名不以.sh. 文件中的第一行也没有#!

它是另一种文件吗?

这种文件是否与.sh?

它像shell脚本一样运行吗?

它是否有像.sh后缀这样的命名约定?

bash configuration etc readline

4
推荐指数
1
解决办法
2992
查看次数

两个扩展之间的差异

如果您输入命令ls *and echo *,您会注意到结果之间的显着差异。前者递归包含,而后者完全排除子目录中的文件。对于路径名扩展,它们的行为是否相同?

shell bash wildcards

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

echo * 和 echo .* 的结果

因此,命令的结果echo *应该是“当前目录中的任何文件”。它应该包括点文件吗?

同样,结果是否应该ls *包含点文件?

ls shell wildcards

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

Linux 中的任何用户帐户都可以调用命令 chmod 吗?

由于权限是敏感的,明确是否允许特定用户运行命令很重要chmod吗?

security permissions

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