Linux系统解压一般是用tar命令的哈,和Linux的许多命令一样,tar也有一个-v参数,但是执行tar命令时即使不用-v参数,解压的文件名依然会显示在屏幕上。如果不想让解压过程显示出来,就需要使用Linux的数据重定向功能,用英文>符号将标准输出数据重定向到/dev/null或者是一个文本文件中,如果重定向到/dev/null中表示丢弃输出的解压过程数据,而如果重定向到一个文本文件,以后可以来查看解压过程的数据。示例:
tar -zxv -f /home/user/123.tar.gz -C /tmp > /dev/null

亲测命令

tar -zcvf archive_name.tar.gz www.houdecn.com/ > /dev/null&

&代表切换后台
但是如果使用putty等工具需要在关闭putty的情况下,后台继续执行任务,需要加上以下代码

使用bg命令通过将暂停的指令作为后台作业运行

bg

jobs 命令显示了当前 shell 环境中已启动的作业状态。

jobs

通过disown命令就可以把后台作业(“%1”代表作业号)的进程从我们的会话中分离出来而交给系统,这样我们即使退出登录压缩指令也在继续执行,直到完成压缩。

disown -h %1

通过disown命令就可以把后台作业(“%1”代表作业号)的进程从我们的会话中分离出来而交给系统,这样我们即使退出登录压缩指令也在继续执行,直到完成压缩。

例如:

  1. 比如我们压缩一个很大的文件

[root@vpn tmp]# gzip hyjwt_ROOT_bak_20100910.tar

  1. 这时候画面会停止,直到压缩完成。按组合键“Ctrl + Z”暂停指令并退出运行状态,显示结果如下:

[root@vpn tmp]# gzip hyjwt_ROOT_bak_20100910.tar

  1. 使用bg命令通过将暂停的指令作为后台作业运行

[root@vpn tmp]# bg

[1]+ gzip hyjwt_ROOT_bak_20100910.tar &

说明:控制台打印的“[1]”代表作业的编号

  1. jobs 命令显示了当前 shell 环境中已启动的作业状态。

[root@vpn tmp]# jobs

[1] + Running gzip hyjwt_ROOT_bak_20100910.tar

说明:控制台打印出作业编号为1的作业已经处于运行状态,压缩指令又再次继续工作了。

  1. disown 命令将进程与shell分离

[root@vpn tmp]# disown -h %1

通过disown命令就可以把后台作业(“%1”代表作业号)的进程从我们的会话中分离出来而交给系统,这样我们即使退出登录压缩指令也在继续执行,直到完成压缩。

我们通过查看进程

[root@vpn ~]# ps -ef|grep gzip

oracle 2409 1 0 Jun22 ? 00:00:00 gzip hyjwt_ROOT_bak_20100910.tar

可以看出压缩指令的父进程号已经变成1。

Logo

更多推荐