淘先锋技术网

首页 1 2 3 4 5 6 7

如何让 linux 命令 不输出结果

unzip xx.zip /dev/null 21

一楼的回答也对,但用的时候一般不用加最前面的1

unzip xx.zip /dev/null

前半部分是将标准输出重定向到空设备,

后面的21就将标准错误输出重定向到标准输出,这样最终也是到空设备。

nohup不输出nohup.out日志信息

最近项目中使用的springboot打的jar包,放到服务器上跑,为了防止关闭终端窗口导致程序挂掉,采用nohup和组合命令来操作

命令如下 :

但是这种方式启动项目会默认生成一个nohup.out的文件来记录日志,而且这个文件太占磁盘内存了,几天下来发现这个文件大小有好几个G,所以为了减少磁盘被大量消耗,决定启动项目时不输出nohup.out文件。

解决方案如下:

下面是几个注解:

使用后台运行程序:

使用nohup运行程序:

文件描述符

当执行shell命令时,会默认打开3个文件,每个文件有对应的文件描述符来方便我们使用:

所以我们平时在执行shell命令中,都默认是从键盘获得输入,并且将结果输出到控制台上。但是我们可以通过更改文件描述符默认的指向,从而实现输入输出的重定向。比如我们将1指向文件,那么标准的输出就会输出到文件中。

输出重定向

输出重定向的使用方式很简单,基本的一些命令如下:

这条命令的作用是将标准输出1重定向到/dev/null中。 /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。那么执行了/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。

这条命令用到了重定向绑定,采用可以将两个输出绑定在一起。这条命令的作用是错误输出将和标准输出同用一个文件描述符,说人话就是错误输出将会和标准输出输出到同一个地方。

linux在执行shell命令之前,就会确定好所有的输入输出位置,并且从左到右依次执行重定向的命令,所以/dev/null 21的作用就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。执行了这条命令之后,该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到文件中。

小白问一道linux基础问题:运行wc命令,如果电脑没有输出任何结果,没有反应,那么电脑是在做什么呢?

wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。

语法:wc [选项] 文件…

说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。

该命令各选项含义如下:

- c 统计字节数。

- l 统计行数。

- w 统计字数。

这些选项可以组合使用。

输出列的顺序和数目不受选项的顺序和数目的影响。

总是按下述顺序显示并且每项最多一列。

行数、字数、字节数、文件名

如果命令行中没有文件名,则输出中不出现文件名。例如:

$ wc - lcw file1 file2

4 33 file1

7 52 file2

省略任选项-lcw,wc命令的执行结果与上面一样。

我在linux 下装JDK包后,配置了变量,测试javac test.java命令不报错也不输出,怎么回事

javac是编译命令,是将java文件编译成class文件的过程,在编译始末,如果没有异常是没有任何输出的。所以,楼主遇到这种情况不用慌,看看你的test.java同目录下有没有test.class