黄骅港引航站,建设部四库一平台查询网站,视频网站做app,7免费网站建站1. 历史命令不会无休止的保存下去#xff0c;默认的最大保存量为1000条输入#xff1a;echo $HISTSIZE1000条从profile文件中定义的#xff0c;可以在里面修改保存数量。/etc/profile用于整个系统所有用户#xff0c; ~/.bash_profile, ~/.profile和~/.bashrc 用于各个用户… 1. 历史命令不会无休止的保存下去默认的最大保存量为1000条 输入echo $HISTSIZE1000条从profile文件中定义的可以在里面修改保存数量。/etc/profile用于整个系统所有用户 ~/.bash_profile, ~/.profile和~/.bashrc 用于各个用户这里的~符号就是各当前用户的$HOME 2.有些历史命令可能是前几天的操作命令前几天的命令不可能保存在当前内存中所以保存在文件.bash_history中只有退出后历史命令才会从当前内存中保存到文件里. 输入ls -a 然后: cat .bash_history可以看到历史命令3.随机数echo$RANDOM,但是随机数比较大所以取80摩%80,就会随机80以内的数字了 。 echo $RANDOM echo $[$RANDOM%80] 4. 保存你输入的命令历史。可以用它来重复执行命令。登录shell时会读取命令历史文件中记录下的命令~/.bash_history 登录进shell后新执行的命令只会记录在缓存中这些命令会用户退出时“追加”至命令历史文件中。5. 重复前一个命令有4种方法A.重复前一个命令使用上方向键并回车执行。 B.按!! 并回车执行。 C.输入!-1 并回车执行。 D.按Ctrlp 并回车执行。6. 要重新调用前一个命令中最后一个参数A !$ 表示. B Esc .点击Esc键后松开然后点击. 键 C Alt .按住Alt键的同时点击. 键7. !字符串: 重复前一个以“字符串”开头的命令8. !?字符串: 重复前一个包含”字符串“的命令9.!num: 按照history命令输出中的序号重复对应命令10.!-n: 重复n个命令之前的那个命令11. 使用up向上和down向下键来上下浏览从前输入的命令12. 按ctrlr可以在命令历史中搜索命令随便输入一个你印象中的几个字母就可以找到这个文件。13.调用历史参数cmd为命令 #cmd !^ 利用上一个命令的第一个参数做cmd的参数#cmd !$ 利用上一个命令的最后一个参数做cmd的参数#cmd !* 利用上一个命令的全部参数做cmd的参数#cmd !:n 利用上一个命令的第n个参数做cmd的参数 #cmd !n:^ 调用第n条命令的第一个参数#cmd !n:$ 调用第n条命令的最后一个参数#cmd !m:n 调用第m条命令的第n个参数#cmd !n:* 调用第n条命令的所有参数 #cmd !string:^ 从命令历史中搜索以string开头的命令并获取它的第一个参数#cmd !string:$ 从命令历史中搜索以string 开头的命令,并获取它的最后一个参数#cmd !string:n 从命令历史中搜索以string 开头的命令并获取它的第n个参数#cmd !string:* 从命令历史中搜索以string 开头的命令并获取它的所有参数14. history命令有三种用法history [-c][-d offset] [n] or history -anrw[filename] or history-psarg[arg...]-c: 清空命令历史 (清除的是内存中的历史命令文件里的命令不会删除如果想全部清除首先删文件rm -f .bash_history然后在删命令 history -c) (history -c 相当于HISTSIZE0 把历史命令长度变为0也是清内存临时性的长度。想要永久性不记录历史则需要nano .bash_history 更改里面的HISTSIZE0)-d n : 删除历史中指定的第n条命令#: 显示最近的#条历史-a: 追加本次会话新执行的命令历史列表至历史文件从内存里转到历史文件中-w: 保存历史列表到指定的历史文件-a 和 -w 的区别在保存到非默认文件夹时有区别history -a a.log 只是把缓存中的一些历史命令存到a.log文件里history -w a.log 是把所有的命令包括默认文件中的历史命令还有新的缓存命令保存到a.log里-n: 读历史文件中未读过的行到历史列表读未读过的并不重复的文件到历史文件中-r: 读所有历史文件并附加到历史列表-n和 -r 的区别假如新用户在同一台电脑用同样的账户开了个终端比如说克隆会话B端在B 里输入会话把B里新会话写到文件里,可以在B里看见历史命令但是在A里却看不见这个时候在A里输入history -n,就会看见B里的新会话命令但是这种命令删掉了一些重复命令当你在A里输入history -r 的时候就会看见A里的所有命令B里的所有命令。-p: 展开历史参数成多个行但不存在历史列表中。-s: 展开历史参数成一行附加在历史列表后。相当于伪造历史命令但是命令不执行相当于nano .bash_history ,在历史文件下面输入rm-rf/etc/passwd ,存盘退出输入history -n 最后输入history 就会看到伪造的历史命令了 15.命令历史相关环境变量 HISTSIZE命令历史记录的条数 [rootlocalhost ~]# echo $HISTSIZE 1000 其定义文件在/etc/profile输入 ~]# nano /etc/profile 在其加入HISTSIZEXXX即可定义历史记录的条数HISTFILE指定历史文件默认为~/.bash_history可以更改文件如下 nano .bash_profile 输入 HISTFILE/root/history/.log 存盘退出再exit退出系统重新登录输入echo$HISTFILE 后就显示新的文件目录HISTFILESIZE命令历史文件记录历史的条数可修改同HISTSIZEHISTTIMEFORMAT显示历史列表时间初始值为空加入HISTTIMEFORMAT”%F%T “其历史列表中就会显示时间。 HISTTIMEFORMAT”hostname %F %T “加显主机名。存盘退出exit后输入 cat history.log 时就会看到下面历史命令表示距离1970年1月1日有多少秒的时间等于date %sHISTIGNORE“str1:str2“ 忽略string1,string2历史临时生效HISTIGNORE”passwd:echo*” *代表后面跟任何东西都忽略了 16.控制命令历史的记录方式环境变量HISTCONTROLignoredups 忽略重复的命令连续且相同方为“重复”ignorespace 忽略所有以空白开头的命令ignoreboth ignoredups, ignorespaceerasedups: 删除重复命令无论连续不连续只要重复就删除export 变量名值“存放在/etc/profile 或~/.bash_profile 转载于:https://blog.51cto.com/jaggerzhang/1831923