小编Sin*_*osh的帖子

gzip 接受标准输入吗?

当我管道到gzip它不能接受 stdin 我应该使用xargs将 stdin 转换为参数

$ls
1.txt
$ls |xargs gzip && ls 
1.txt.gz
Run Code Online (Sandbox Code Playgroud)

一切都好 。但是当我想压缩 cpio 存档文件时

$ls | cpio -ov | gzip > archive.cpio.gz
Run Code Online (Sandbox Code Playgroud)

也没关系,这ls | cpio -ov | xargs gzip 不起作用。为什么在第二种情况下gzip接受标准输入而不能接受参数?

command-line bash gzip xargs

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

“出口”仅对临时影响有用吗?

我知道,Shell 变量不可用于父壳或子壳,而壳环境可用于子壳。

当我想将当前目录永久添加到 PATH 时,我可以通过两种方式进行:

1-正常方式:

 [sinoosh@localhost ~]$ vi ~/.bash_profile 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

2-不带导出命令

在此处输入图片说明

然后注销我看到与正常方式相同的结果

在此处输入图片说明

"1"&"2" 之间没有区别。我们可以说该export命令在我们不想永久添加到环境变量的时候有用吗?

这里发生了什么事?

command-line bash environment-variables

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

find 命令中通配符的奇怪行为

globbing 是 shell 的一个特性吗?

我学会了如何在 find 命令中使用通配符,但今天我看到了一个奇怪的行为。

当我在搜索位置以外的任何地方时,我不需要单引号或双引号进行通配

$ pwd
/home
$ find / -name *c
...
it is ok
Run Code Online (Sandbox Code Playgroud)

$ pwd
/
$ find / -name *c
find: paths must precede expression: proc
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
Run Code Online (Sandbox Code Playgroud)

发生什么事?

command-line bash find

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

为什么`sort`、`sort k 1`、`sort k 1,1`的输出相等?

我有一个文件:

$ cat file
1 c
8 a
1 b
5 f
Run Code Online (Sandbox Code Playgroud)

我认为sort开头的命令比较所有行的第一个字段并对它们进行排序,然后对于这些行具有相同的第一个字段,然后再次开始对第二个字段进行排序,如下所示:

$sort file
1 b
1 c
5 f
8 a
Run Code Online (Sandbox Code Playgroud)

我读到了选项k 1k 1,1:之间的区别:k 1排序键可能会继续到行尾,但k 1,1它应该只对第一个字段进行排序而不考虑其他字段,但是:

$sort -k 1 file
1 b
1 c
5 f
8 a

$sort -k 1,1 file
1 b
1 c
5 f
8 a
Run Code Online (Sandbox Code Playgroud)

为什么的输出sort= sort k 1=sort k 1,1等于?

我认为输出sort k 1,1 file应该是

1 …
Run Code Online (Sandbox Code Playgroud)

command-line sort

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

标签 统计

command-line ×4

bash ×3

environment-variables ×1

find ×1

gzip ×1

sort ×1

xargs ×1