Linux shell基础知识

8.1 shell介绍

  • shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具(命令解释器)
  • 支持特定的语法,比如逻辑判断、循环
  • 每个用户都是自己的shell,在centos7中默认的shell为bash
    这里写图片描述

  • 系统中还有zsh与ksh,使用起来类似,但是 有些细节上的差异。


8.2 命令历史

  • 敲过的命令会保存在用户的家目录下.bash_history中,这样就能通过上下方向键来查看之前敲的命令。/root/bash_history //root用户
  • 使用history命令可以查看之前敲过的命令,系统默认最大记录数为1000条。执行echo $HISTSIZE来查看最大记录数。
    这里写图片描述有时候命令数超过1000时,现在的命令历史暂时存在云内存中,只有用户正常退出shell时,在当前shell中运行的命令才会保存到.bash_history文件中。

  • history -c 可以清空当前内存里面的命令历史清空,但不会清空.bash_history文件中的命令历史。

  • 变量HISTSIZE在/etc/profile中去修改。修改完成后重新进终端或是执行source /etc/profile 才会生效。
    这里写图片描述
  • 默认执行的命令是不能看到执行时间的,要想记录某条命令执行的时间可以将变量重新赋值即可
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

需要注意赋值的结果只在当前终端下生效。要想在下次登录时也生效,可以把上面这条命令写入到.bash_history中。
这里写图片描述

这里写图片描述

这里写图片描述

  • 命令历史永久保存,不想被人修改它。可以加上特殊权限,让它只能追加,不能删除。
chattr +a /root/.bash_history 
  • 与命令历史有关的特殊字符!
    (1)!!:连续2个!表示执行上一条命令
    这里写图片描述
    (2)!n :这里的n是数字,表示执行命令历史中的第n条命令。
    (3)!字符串(字符串≥1):例:!ls 表示执行命令历史中最近一次以ls开头的命令
    这里写图片描述

8.3 命令补全和别名

  • 按Tab键可以帮我们补全一个参数、一个路径或者一个文件名。连续按2次,则系统会把所有的命令或文件名都列出来。

  • 想在centos7中补全参数,需要安装bash-completion包,然后重启生效。
    这里写图片描述

  • alias是系统特有的功能之一,可以通过alias把一个经常使用且很长得命令取一个简单易记的新名字。
    这里写图片描述

  • 直接执行alias可以列出所有的alias,包括自定义的。这些alias存在于用户家目录下的.bashrc和/etc/profile.d/下
    这里写图片描述

  • 取消alias,可以使用unalias+定义的名字
    这里写图片描述


8.4 通配符

  • 在bash下
    (1)使用*来匹配零个或多个字符。
    (2)使用?来匹配一个字符。
    (3)[0-9] 表示指定范围,方括号里面的字符任选其一。
    这里写图片描述
    (4){ }花括号的作用与[ ]方括号类似。其中的字符用“,”分开

这里写图片描述


8.5 输入输出重定向

  • 输入重定向用于改变命令的输入,输出重定向用于改变命令的输出,后者更常用
  • 输出重定向>
cat 1.txt > 2.txt //查看到的1.txt文件内容重定向到2.txt

这里写图片描述

  • 追加重定向>>
cat 2.txt >> 3.txt //表示将2.txt的文件内容追加到3.txt 但不会删除3.txt原来的文件内容。

这里写图片描述

-错误重定向2>

ls x.txt 2>a.txt   //表示将ls命令的错误信息指定到a.txt中,而不会在屏幕上显示

这里写图片描述

  • 错误追加重定向2>>

  • 正确、错误重定向全部重定向一个文件中,并支持追加.。 >+2> 等于&>
    这里写图片描述

ls {1,2}.txt aaa.txt > 3.txt 2>a.txt //表示正确与错误的输出分别重定向
  • 输入重定向<
wc -l < 2.txt //输入的对象只能是命令,不能是文件。
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值