小编AJJ*_*AJJ的帖子

& 在输出重定向中究竟是什么意思?

我看到类似command 1> out或 with2>&1来重定向 stderr 的东西,但有时我也看到&>自己,等等。

最好的理解&方式是什么?它究竟意味着什么?

command-line redirect io

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

如何理解输出重定向的顺序?

所以我正在努力学习如何将标准输出和标准错误传递到各个领域。

假设我有一个here.txt单独的文件夹。

所以如果我这样做

ls here.txt not-here.txt  1>out  2>&1
Run Code Online (Sandbox Code Playgroud)

由于here.txt存在,我将有一些输出指向文件,out但由于not-here.txt不存在,错误将通过标准错误发送,我将其重定向到标准输出2>&1

但是,为什么这不起作用:

ls here.txt not-here.txt 2>&1 1>out
Run Code Online (Sandbox Code Playgroud)

如果我在标准输出指令之后进行重定向,它似乎才有效?为什么?

command-line bash output input redirect

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

为什么printenv 中没有像$PS1 这样的变量?

据我所知printenv显示环境变量,但为什么我看不到其他变量,例如PS1自定义 shell 提示?

究竟是什么printenv输出,为什么不回升PS1?是否有更全面的输出命令比printenv?

command-line bash environment-variables ps1

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

rm -r 与 rm -d?

我看到很多资源,rm -r但几乎没有,rm -d即使d标志显然是关于删除目录。

两者之间究竟有什么区别?是rm -d一样的rmdir吗?它比“更安全”rm -r吗?

command-line bash rm

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

可执行权限模式S有什么用途吗?

如果您为具有执行权限的文件权限添加 setuid 位,它会将 更改为 an xs这意味着如果您执行该文件,它将作为该文件的所有者而不是实际执行该文件的人执行。

但我还注意到,如果您添加s权限但删除权限,它会在权限列表中x更改为。S不知何故,这意味着它无法执行,但如果可以执行,它会同时作为所有者执行?是对的吗?

我是否误解了这个权限?它是干什么用的?这是什么意思?

permissions command-line bash execute-command

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

使用通配符进行批量重命名?

我意识到我已经以一种方式命名了一堆文件,所以我想将任何以“1”开头的文件重命名为相同的东西,除了以 2 开头。

例如mv 1.4.5.txt 2.4.5.txtmv 1-chart.jpg 2-chart.jpg等。

我试过了,mv 1* 2*但这不被接受,因为它解释2*为一个目录。

bash scripts rename mv

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

如何使用 grep 匹配第一个字符落在范围内的行?

我正在尝试 grep 第一个字符是 A、B 或 C 的行。

我正在尝试这个:

grep -i "^[a-c]*" data.txt

我希望它只关心第一个字符,我不关心的其余部分。

command-line bash regex grep

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

如何知道何时使用 ./ 或不使用?

我正在看一些关于如何导航文件系统的教程,但无论我看哪个教程,都有一件事似乎没有人回答。

我知道这.是当前目录。我知道这/要么是根目录,要么只是表示当前目录的结尾。

那么如果我想在当前目录中运行一个程序我必须怎么做./ProgramName呢?这仅仅是因为ProgramName可能在$PATH,我必须指定我想在当前目录中运行该版本吗?如果 中没有等效项,为什么Ubuntu 不会自动运行当前目录的版本$PATH

如果是这样,为什么./我在遍历目录时允许省略?例如,我可以cd DropBox从我的主目录中进行。我也可以做cd ./DropBox,它似乎可以工作,但为什么不是./必需的?

command-line directory

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