• 前几天弄了个Linux服务器做网站,发现在不同终端登陆时,上下键都会出现一堆无用的命令,搜了一下解决方法,做个笔记。   在Linux中,每个用户目录下都有一个.bash_history文件用于保存历史命令,当每次注销时,...

    前几天弄了个Linux服务器做网站,发现在不同终端登陆时,上下键都会出现一堆无用的命令,搜了一下解决方法,做个笔记。

     

    在Linux中,每个用户目录下都有一个.bash_history文件用于保存历史命令,当每次注销时,本次登陆所执行的命令将被写入该文件。所以可以清空该文件,下次登陆后上次保存的命令将消失,清空效果将在下次登陆生效。命令:

    echo > .bash_history


     

    .bash_history文件可保存500条历史记录,可以通过设置HISTFILESIZE和HISTSIZE参数来减少保存的命令数。

    两个参数意义:

    HISTSIZE:定义了history命令输出的命令数

    HISTFILESIZE:定义了.bash_history文件保存的命令数

    命令:

    HISTFILESIZE=数字
    
    HISTSIZE=数字
    
    


     

    此外,命令:

    history -c
    
    


    该命令可以清空本次输出的命令,但不清空.bash_history文件,所以下次登陆后,旧命令还将出现。

     

    若想每次登陆后上次命令都消失可以在该用户目录下的.bash_logout文件下添加如下代码:

    rm -f  ~/.bash_history
    
    


    这样该每次注销将自动清空.bash_history中的记录。

     

    root用户在/etc/skel/.bash_logout中添加代码:

    rm -f $HOME/.bash_history


    将对所有用户生效。

     

    展开全文
  • 历史记录: history:查看历史记录 history -c:清除所有历史记录;linux中存放历史命令的文件是(bash_history),通过清空该文件,清除历史;(./var/lib/yum/history)

    历史记录:

    history:查看历史记录
    history -c:清除所有历史记录;linux中存放历史命令的文件是(bash_history),通过清空该文件,清除历史;(./var/lib/yum/history
    展开全文
  • Linux 后台执行命令

    2018-05-30 12:51:07
    & nohup ctrl + z jobs fg bg kill 下面的示例统一使用这个每秒打印一次时间的简单脚本: [root@VM_139_74_centos shell]# cat 10s.sh #!/bin/bash for ((i = 0; i &...正常执行命令...

    下面的示例统一使用这个每秒打印一次时间的简单脚本:

    [root@VM_139_74_centos shell]# cat 10s.sh
    #!/bin/bash
    
    for ((i = 0; i < 10; i++)); do
        echo $(date)
        sleep 1
    done

    正常执行命令时,会阻塞终端,同时将所有输出信息打印到终端:

    [root@VM_139_74_centos shell]# ./10s.sh
    Wed May 30 11:32:13 CST 2018
    Wed May 30 11:32:14 CST 2018
    Wed May 30 11:32:15 CST 2018
    Wed May 30 11:32:16 CST 2018
    Wed May 30 11:32:17 CST 2018
    Wed May 30 11:32:18 CST 2018
    Wed May 30 11:32:19 CST 2018
    Wed May 30 11:32:20 CST 2018
    Wed May 30 11:32:21 CST 2018
    Wed May 30 11:32:22 CST 2018
    [root@VM_139_74_centos shell]#

    注意,Linux 终端中执行的命令的输出是可以有缓存的。有时候命令执行完了,但是输出的信息并不完整,这时候再需要敲其他命令(例如 Ctrl + c)清空缓存。

    &

    命令后面有 & 时,这个命令将会在后台运行。但是输出信息仍会打印到终端,但是此时可以接受其他命令:

    [root@VM_139_74_centos shell]# ./10s.sh &
    [1] 17257
    [root@VM_139_74_centos shell]# Wed May 30 11:32:30 CST 2018
    Wed May 30 11:32:31 CST 2018
    Wed May 30 11:32:32 CST 2018
    Wed May 30 11:32:33 CST 2018
    Wed May 30 11:32:34 CST 2018
    Wed May 30 11:32:35 CST 2018
    Wed May 30 11:32:36 CST 2018
    Wed May 30 11:32:37 CST 2018
    Wed May 30 11:32:38 CST 2018
    Wed May 30 11:32:39 CST 2018
    nohup ./10s.sh &
    [2] 17290
    [1]   Done                    ./10s.sh
    [root@VM_139_74_centos shell]# nohup: ignoring input and appending output to ‘nohup.out’

    & 特点如下:

    • 终端关闭或退出账户时,后台运行的命令会终止
    • 后台运行的作业一样会将结果输出到屏幕上

    对于第一个问题,可以在命令前添加 nohup(no hang up)解决:

    nohup your-command &

    第二个问题可以使用输出重定向将输出重定向到文件:

    your-command > out.file 2>&1  & 
    

    其中,your-command > out.file 将命令的标准输出流 STDOUT 重定向到 out.file 文件,不再打印到屏幕上。2>&1 将标准错误流 STDERR 重定向到标准输出流(2 与 > 结合表示重定向标准错误流 STDERR,&1 表示标准输出流 STDOUT),而标准输出流已经重定向到了 out.file 文件,所以标准错误流也会输出到这个文件中。最后的 & 表示该命令在后台执行。

    nohup

    使用 nohup 命令时,如果没有指定输出文件,此时命令的所有输出都被重定向到一个名为 nohup.out 的文件中。

    [root@VM_139_74_centos shell]# nohup ./10s.sh &
    [1] 17816
    [root@VM_139_74_centos shell]# nohup: ignoring input and appending output to ‘nohup.out’
    nohup ./60s.sh^C
    [1]+  Done                    nohup ./10s.sh

    也可以自己指定输出重定向到的文件:

    [root@VM_139_74_centos shell]# nohup ./10s.sh > myout.file 2>&1 &
    [1] 17944
    [root@VM_139_74_centos shell]#
    [root@VM_139_74_centos shell]# cat myout.file 
    nohup: ignoring input
    Wed May 30 11:38:36 CST 2018
    Wed May 30 11:38:37 CST 2018
    Wed May 30 11:38:38 CST 2018
    Wed May 30 11:38:39 CST 2018
    Wed May 30 11:38:40 CST 2018
    Wed May 30 11:38:41 CST 2018
    Wed May 30 11:38:42 CST 2018

    注意,使用 nohup 后台运行命令时,需要使用 exit 正常退出当前账户,这样才能保证命令一直在后台运行。

    ctrl + z

    挂起前台进程。将正在前台执行的命令放到后台,并且处于暂停状态。

    [root@VM_139_74_centos shell]# ./10s.sh 
    Wed May 30 11:44:52 CST 2018
    Wed May 30 11:44:53 CST 2018
    ^Z
    [1]+  Stopped                 ./10s.sh
    [root@VM_139_74_centos shell]# jobs
    [1]+  Stopped                 ./10s.sh

    jobs

    查看所有后台运行的命令。

    [root@VM_139_74_centos shell]# nohup ./10s.sh > myout.file 2>&1 &
    [2] 18573
    [1]   Done                    nohup ./10s.sh > myout.file 2>&1
    [root@VM_139_74_centos shell]# jobs
    [2]+  Running                 nohup ./10s.sh > myout.file 2>&1 &

    fg

    将后台命令调至前台,并恢复运行。

    如果后台中有多个命令,可以用 fg %jobnumber 将选中的命令调出,%jobnumber 是通过 jobs 命令查到的后台正在执行的命令的序号(不是 pid)。

    [root@VM_139_74_centos shell]# ./10s.sh 
    Wed May 30 11:44:52 CST 2018
    Wed May 30 11:44:53 CST 2018
    ^Z
    [1]+  Stopped                 ./10s.sh
    [root@VM_139_74_centos shell]# jobs
    [1]+  Stopped                 ./10s.sh
    [root@VM_139_74_centos shell]# fg 1
    ./10s.sh
    Wed May 30 11:51:31 CST 2018
    Wed May 30 11:51:32 CST 2018
    ^Z
    [1]+  Stopped                 ./10s.sh
    [root@VM_139_74_centos shell]#

    bg

    恢复执行后台暂停的命令。

    如果后台中有多个命令,可以用 bg %jobnumber 将选中的命令调出,%jobnumber 是通过 jobs 命令查到的后台正在执行的命令的序号(不是 pid)。

    [root@VM_139_74_centos shell]# jobs
    [1]+  Stopped                 ./10s.sh
    [root@VM_139_74_centos shell]# bg
    [1]+ ./10s.sh &
    [root@VM_139_74_centos shell]# Wed May 30 11:53:39 CST 2018
    Wed May 30 11:53:40 CST 2018
    jobs
    [1]+  Running                 ./10s.sh &
    [root@VM_139_74_centos shell]# Wed May 30 11:53:41 CST 2018
    Wed May 30 11:53:42 CST 2018
    Wed May 30 11:53:43 CST 2018
    Wed May 30 11:53:44 CST 2018
    ^C
    [1]+  Done                    ./10s.sh
    [root@VM_139_74_centos shell]# 

    kill

    杀死进程。需要使用通过 ps 命令看到的进程 PID。

    [root@VM_139_74_centos shell]# nohup ./10s.sh &
    [1] 20062
    [root@VM_139_74_centos shell]# nohup: ignoring input and appending output to ‘nohup.out’
    ps
      PID TTY          TIME CMD
    17113 pts/0    00:00:00 bash
    20062 pts/0    00:00:00 10s.sh
    20064 pts/0    00:00:00 sleep
    20074 pts/0    00:00:00 ps
    [root@VM_139_74_centos shell]# kill 20062
    [root@VM_139_74_centos shell]# ps
      PID TTY          TIME CMD
    17113 pts/0    00:00:00 bash
    20087 pts/0    00:00:00 ps
    [1]+  Terminated              nohup ./10s.sh
    展开全文
  • Linux 清空终端屏命令

    2019-05-14 16:26:10
    root@ubuntu:/home/song# reset ...linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B LInux 查看redis port运行情况 ps -ef|grep redis ...

    root@ubuntu:/home/song# reset

    Linux 重命名文件

    linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.

    例子:将目录A重命名为B

    mv A B

    LInux 查看redis port运行情况

     ps -ef|grep redis
     

    展开全文
  • 文章目录nohup 命令说明1、只使用 `nohup`2、只使用 `&`3、使用 `nohup 和 &` (推荐使用)4、输出重定向(推荐使用)5、知识扩展5.1、清空 nohup.out5.2、解决 nohup.out 文件过大 nohup 命令说明 nohup ...

    一、nohup 命令

    nohup 是 no hungup 的缩写,意思是不挂断 。

    我们在使用 Xshell 等工具,远程执行 Linux 脚本时,有时候会由于网络问题,导致客户端失去连接,终端断开,程序运行一半就意外结束了。这种时候,就可以用nohup 指令来运行指令,使程序可以忽略挂起信号继续运行。

    语法格式:

    nohup  command  [arg...] [&]
    

    1.1、只使用 nohup

    只使用 nohup ,即 nohup command [arg...]

    无法标准输入(即控制台无法输入),标准输出 和 错误信息保存到 nohup.out文件里面,关闭客户端后,命令仍然会运行。

    例如:

    执行 nohup sh test.sh 脚本命令后,终端不能接收任何输入,标准输出 和 标准错误 会输入到当前目录的nohup.out 文件。即使关闭xshell 退出后,当前session依然继续运行。

    1.2、只使用 &

    只使用 &,即 command [arg...] [&]

    可以标准输入(控制台可以输入内容,可以交互),但无法将 标准输出 和 错误信息 输入到文件中。关闭客户端后,命令会就马上停止

    例如:

    执行 sh test.sh & 脚本命令后 ,关闭 xshell,对应的任务也立刻停止。

    1.3、nohup& 一块使用(推荐使用)

    nohup 和 & 一块使用 ,即 nohup command [arg...] &

    可以标准输入(即控制台能输入文本进行交互),也能将 标准输出 和 错误信息 输出信息保存到 nohup.out 中,关闭客户端后命令仍然会运行。

    例子1:
    执行 nohup sh test.sh & 命令后,既能标准输入,就是终端能够接收任何输入,也能将 标准输出 和 错误信息 的日志输入到 nohup.out 文件,即使关闭xshell,退出当前session依然继续运行。

    例子2:
    nohup ./startWeblogic.sh & ,即使退出ssh界面,命令仍然在后台执行,并且将日志打印到 nohup.out 文件中。

    1.4、总结

    nohup  command  [arg...] [&]
    
    1. 运行 nohup command [arg...] 命令,忽略所有挂断信号;
    2. 如果想在 后台运行命令 ,则需要在后面加上& ,即 nohup command [arg...] &
    3. nohup 命令默认输入日志到当前目录的 nohup.out 文件中,也可以使用 >file.log 重定义日志文件。
      如果当前目录的 nohup.out 文件不可写,则重定向到 $HOME/nohup.out 文件中。

    二、nohup&>(推荐使用)

    上面提到的日志文件是 nohup.out ,如果将日志输入到其他文件中时,这时用到了 重定向 ,语法格式是 > 日志文件名

    nohup&> 三者一块使用的 语法格式

    nohup  command  >file  2>&1  &
    

    上面命令可以拆分成三部分 nohup command &>file2>&1

    1. nohup command & :上面已经说过,就是后台运行命令;

    2. >file :将日志(即 标准输出(1)) 输出到 file 文件中 。
      参数说明:
      1) > :重定向的符号,
      2) file :日志文件名称。
      3) >file : 将日志 重定向 写入到 file 文件中。

    3. 2>&1 是将 错误信息(2) 重定向到 标准输出(1)
      标准输出(1) 是输入到 file 文件中,所以 错误信息(2)标准输出(1) 都 写入到 file 文件中。

      相关的参数说明:
      /dev/null 表示空设备文件。不输出任何的日志时,使用此参数。
      0 表示 stdin (standard input) 标准输入,
      1 表示 stdout (standard output) 标准输出,
      2 表示 stderr (standard error) 标准错误信息;

      2>error :将 错误信息(2) 重定向 到 error 文件中 ;
      2>&1 : 将 错误信息(2) 重定向 到 标准输出(1)
      2>&1 >file错误信息(2) 重定向 到 标准输出(1) ,而 标准输出(1) 输入到 file 中,也就是 错误信息(2)标准输出(1) 都输入到file 中,等于 1>file 2>&1

    例子:

    nohup  starMailWeb.sh >mail.log  2>&1   &
    

    后台运行 starMailWeb.sh ,并且将 标准输出(1)标准错误(2) 等日志 写入到 mail.log 文件中。

    三、知识扩展

    3.1、清空 nohup.out

    如果命令一直运行下去,nohup.out会一直自己增长下去,如果你的服务器硬盘不给力的话,很容易把应用也挂掉(硬盘没空间 ,啥都玩不转),但是又不能一味的直接删。因为直接删除,可能会造成应用无法打印后续的错误日志,该问题常见于weblogic服务器,jboss服务器等这些大型中间件,这个在生产环境上要尤为注意。

    因此就有了我们不停止服务直接,清空nohup.out文件的方法。
    下面是两个种不用停止WEB服务就可以清空nohup.out的命令。

    第一种:cp /dev/null nohup.out
    第二种:cat /dev/null > nohup.out
    

    3.2、解决 nohup.out 文件过大

    nohup 的重定向,一劳永逸解决 nohup.out 文件过大的问题
    以下是定义日志打印级别,除了高于级别2的告警信息记录到log文件外,其余直接不记录

    //只输出错误信息到日志文件
    nohup ./program >/dev/null 2>log &
    
    //什么信息也不要
    nohup ./program >/dev/null 2>&1 &
    
    展开全文
  • Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table)。要实现两个不同的子网之间的通信,需要一连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统...
  • 如何将你的Linux服务器清空? 人们常常在谈论托管服务器或云服务器所带来的便利,但如果这些设备已经该寿终正寝,大家会如何处理?当然,我们可以联系设备商,让他们负责报废工作,但这实际上很难保证其中的数据...
  • 一、查看进程:ps或 ps -a 二、命令后台运行: sudo ./runmyled.o& 命令后边跟个&,返回进程id号 三、查看当前的进程: 四、删除进程:sudo kill id1 id2 id3 ...
  • kali Linux命令大全

    2019-10-15 17:37:12
    Kali Linux 命令集 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘...
  • 一、Linux清空DNS缓存 Linux下DNS缓存实现通常有两种方式: 一种是用DNS缓存程序NSCD(name service cache daemon)负责管理DNS缓存。 一种实现DNS缓存则是用Bind来架设Caching Name Server来实现。 如果是...
  • 一、认识Linux系统及基础命令 1 构成 2 重要的二级目录 3 基础命令 二、文件管理命令Linux中没有后缀之分 1 增:mkdir touch 2 删、清空 3 改:vim 3.1 命令模式:刚刚打开时进入命令模式 3.2 插入...
  • 当初如易我也是初学者,随便从网上搜了一下,就转过来了,不过为了避免搜索结果同质化,为大家提供更翔实的参考,我将nohup.out相关知识整理汇总如下:1.nohup.out的由来及作用用途:LINUX命令用法,不挂断地运行...
  • 一些好用的Linux命令工具 刚好看到一个系列的博文,讲的就是那些平时很少被人用到但是很实用的命令,选一些觉得自己应该比较常用到的出来写个笔记。 这些命令有些不是系统命令,需要自行下载安装。Debian下安装:...
  • Linux日常维护命令

    2016-05-19 21:23:00
    对于程序员来说,掌握一些基本的Linux命令是必不可少的,即使现在用不到,在不久的将来也应该会用到。由于Linux有很多命令,每个命令基本可以用一篇文章介绍,所以本文仅总结一些常用命令的常用用法,如有明显的遗漏...
  • 虽然linux下不会有windows下的那么多垃圾和磁盘碎片!但还是会留下一些用不着的临时文件或是多次升级后的N个旧的内核!1,非常有用的清理命令:sudo apt-get autocleansudo apt-get cleansudo apt-get autoremove这三...
  • hadoop和linux命令大全

    2019-09-27 10:22:08
    Linux命令 source /etc/profile 文件生效命令 -->jsp(java)的检测 bin/hadoop checknative //查看hadoop的支持状态 echo $HADOOP_HOME //查看hadoop的安装的目录 mysql service start //启动MySQL的服务 ...
  • linux服务器常用命令

    2016-09-20 16:53:02
    Linux常用命令
  • 清空linux的DNS缓存

    2013-07-25 12:07:21
    一、Linux清空DNS缓存 Linux下DNS缓存实现通常有两种方式: 一种是用DNS缓存程序NSCD(name service cache daemon)负责管理DNS缓存。 一种实现DNS缓存则是用Bind来架设Caching Name Server来实现。 如果是清除...
  • linux screen 命令详解

    2016-08-31 15:52:36
    linux screen 命令详解 一、背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务...
  • 本章节讲述系统内核、Bash解释器的关系与作用,教给读者如何正确的执行Linux命令以及常见排错方法。 经验丰富的运维人员可以恰当的组合命令与参数,使Linux字符命令更加的灵活且相对减少消耗系统资源。 已经...
1 2 3 4 5 ... 20
收藏数 29,526
精华内容 11,810