Linux的history命令基本使用


history

history:Display or mainpulate the history list。显示或操作历史列表

    -c: 清除历史条目                 清空的只是内存中的历史

   -d:删除历史中指定的命令                  

    #:显示历史最近的#条历史 

   -a:追加本次会话新执行的命令历史表至历史文件

   -n:度历史文件中为读过的行到历史列表   只读没有读过的命令

   -r:读历史文件附加到历史列表         全部重新读取一遍

   -w:保存历史文件到指定的历史文件     

   -p:展开历史参数成多个行,但不存在历史列表中 不储存

   -s: 展开历史参数成一行,附加在历史列表后  伪造历史命令。

 wKioL1eYZ2SATBPkAAAZwzzrsuo275.png

   

history 命令的变量

[root@localhost ~]# echo $HISTSIZE  默认是1000条
1000
[root@localhost ~]# echo $HISTFILE  默认是~/.bash_history
/root/.bash_history
[root@localhost ~]# echo $HISTFILESIZE 默认是1000条 
1000

  HISTTIMEFORMAT:历史列表时间格式

[root@localhost ~]# history 5  
  183  history 
  184  clear
  185  HISTTIMEFORMAT=""
  186  history
  187  history 5
[root@localhost ~]# HISTTIMEFORMAT="%F %T " 设置时间格式为%F %T 注意T后面加空格不然会太紧凑
[root@localhost ~]# history 5
  185  2016-07-30 16:04:29 HISTTIMEFORMAT=""
  186  2016-07-30 16:04:32 history
  187  2016-07-30 16:04:47 history 5
  188  2016-07-30 16:05:08 HISTTIMEFORMAT="%F %T "
  189  2016-07-30 16:05:13 history 5


 HISTIGNORE:忽略所指定的命令

[root@localhost ~]# HISTIGNORE="tty:pwd:loo" 忽略tty:pwd:loo等字符串(错误代码也可以,用:分隔)
[root@localhost ~]# tty
/dev/pts/0
[root@localhost ~]# pwd
/root
[root@localhost ~]# loo
-bash: loo: command not found
[root@localhost ~]# history 10
  126  ls
  127  history 
  128  cleat
  129  history 10
  130  HISTIGNORE="tty:pwd:loo"
  131  history 
  132  clear
  133  history 10
  134  HISTIGNORE="tty:pwd:loo"
  135  history 10  最近10条历史中没有显示pwd,tty和loo


HISTCONTROL:历史的记录方式

  HISTCONTROL="ignorestring:ignorestring"  连续命令用  分隔

   ignoredups:忽略重复的命令;连续且相同方为"重复",HISTCONTROL默认使用。

   ignorespace:忽略所有以空白开头的命令

   ignoreboth: ignoredups,ignorespace 

   erasedups:删除"重复"命令 不连续且相同的"重复"命令


历史文件存放路径及配置文件: 环境变量也可写在配置文件中  

   

    /etc/profile :全局配置文件,对所有用户有效

    ~/.bash_profile:个人配置文件,只对个人用户有效  (个人配置优先级高于全局)    

    ~/.bash_history:历史文件存放位置


调用历史参数

  •     !n:^:调用第N条命令的第一个参数

  •     !n:$:调用第n条命令的最后一个参数

  •     !m:n:调用第m条命令的第n个参数

  •     !n:*:调用第n条命令的所有参数

  •     !mk: 调用以mk开头的命令

  •     !?up:调用包含up字符的命令

  •     Esc . :调用上次命令最后参数

  •     Esc+ . :同上

  •     ^p :同上

  •     !!:同上

  •     page up键:同上


screen

系统管理员如果要做一些长时间的任务,比如系统备份、ftp长时间任务使用。它能让多个用户从不同的终端链接到一个会话,完成屏幕共享 

 首先使用rpm -q screen查看自己是否安装screen软件安装包

[root@localhost ~]# rpm -q screen
package screen is not installed  # 表示screen软件未安装

 

  如果没有安装,挂载光盘安装screen-4.1.0-0.21.20120314git3c2946.el7.x86_64程序包

  rpm -ivh /dev/cdrom/Package/screen-4.1.0-0.21.20120314git3c2946.el7.x86_64(如果挂载到/media/cdrom)

 

[root@localhost /]# mkdir /media/cdrom   #创建目录好方便挂载
[root@localhost /]# mount /dev/cdrom /media/cdrom  #手动挂载
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost /]# rpm -i /media/cdrom/Packages/screen-4.0.3-19.el6.x86_64.rpm #安装screen软件
warning: /media/cdrom/Packages/screen-4.0.3-19.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY  #警告你没有秘钥,无须在意仍可用。

 

scree -S [SESSION] :打开新的会话


screen -x [SESSION]:加入会话


exit:结束当前会话


screen+a,d :退出当前会话


screen -ls :显示所有会话


screen -r [SESSION]:恢复某会话


screen -d 让Attached变成Detached 才能恢复连接状态



只显示目录下的子目录



wKioL1eYl1HyFl-4AAA3DC0GKiU712.png


只显示隐藏文件


wKiom1eYmMTDrjZfAAAfQZYIaR8118.png



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章