Linux5.2 Shell基础上

Posted Learning Notes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux5.2 Shell基础上相关的知识,希望对你有一定的参考价值。

Shell介绍

  • shell是一个命令解释器,提供用户和机器之间的交互
  • 支持特定语法,比如逻辑判断、循环
  • 每个用户都可以有自己特定的shell
  • CentOS7默认shell为bash
  • 还有zsh、ksh等

命令历史

   历史命令保存在用户家目录下的 .bash_history

[[email protected] ~]# cat -n /root/.bash_history
     1  init 0
     2  dhclient
    ... ...
   987  ps aux| grep httpd
   988  cat /etc/selinux/config
   989  init 0

[[email protected] ~]# echo $HISTSIZE     #命令最大保存数量
1000

#可以通过环境变量 $HISTSIZE 改变最大保存数,在配置文件/etc/profile中修改,source  /etc/profile 生效

#history -c  可以清空内存当中的命令历史清空
#不能清空命令历史文件里的记录
[[email protected] ~]# history -c     
#刚输入的命令不会马上记录到命令历史文件中,只有退出终端后才会录入


#修改history命令格式,显示时间。在配置文件中添加。#HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"


1. 快捷显示上一条命令 !!
2. 运行history列表里某一条命令  !n
3. 倒序以XXX开头的第一个命令 !XXX
4. 永久保存命令文件,只能添加不能删除        chattr  +a ~/.bash_history

命令补全及别名

  tab键,补全命令及文件路径。

  自动补全命令参数补全,需要安装 yum install -y bash-completion   ,再重启系统。

[[email protected] ~]# systemctl re
reboot                 reload-or-restart      reset-failed
reenable               reload-or-try-restart  restart
reload                 rescue

  自定义的alias放到用户家目录下的  ~/.bashrc,还有一些 /etc/profile.d/中脚本定义,unalias取消自定义别名。

通配符及重定向

通配符
  1.  ls  *.txt*     统配若干任意字符
  2.  ls  ?.txt      统配一个任意字符
  3.  ls   [0-4].txt   ; ls  [0-9a-zA-Z].txt 统配0、1、2、3、4任意其一个名字的.txt全部列出来
  4.  ls    {0,2}.txt =  ls  [0,2].txt    不包含1.txt
输入输出重定向
  1. cat 1.txt > 2.txt  前面输出重定向到后面,会把后面的重写
  2. cat  1.txt  >> 2.txt   前面输出追加到后面
  3. ls  aaa.txt.  2>  a.txt   前面命令错误输出重定向到后面
  4.  ls  aaa.txt  2>> a.txt   前面命令错误输出追加到后面
  5.  &>     正确错误输出全重定向到后面,也支持追加
  6. 命令  >1.txt  2>2.txt  一条命令的正确输出和错误分别保存
  7. wc -l  <  1.txt   【查看1.txt行数】右边的内容输入重定向到左边的命令中输入,从右到左只能左边是命令。

 

以上是关于Linux5.2 Shell基础上的主要内容,如果未能解决你的问题,请参考以下文章

打造云上代码交付链_CodePipeline实践分享

Java学习笔记——排序算法之希尔排序(Shell Sort)

每日一书|世界上代码量很少的经典算法是什么样的?

shell3

Shell 实现计算器

Shell 实现计算器