shell基础知识

  1. shell介绍
  2. 命令历史
  3. 命令补全和别名
  4. 通配符
  5. 输入输出重定向
  6. 管道符和作业控制
  7. shell变量
  8. 环境变量配置文件

1. shell介绍

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

2. 命令历史

  • history

  • .bash_history

  • 最大1000条

  • 变量HISTSIZE #定义保存最大的命令条数

  • /etc/profile中修改 #修改配置文件或者说是变量

  • 想要更改配置文件生效需要退出终端或者执行source /etc/profile

  • HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S " #历史命令中加上执行命令的时间年月日时分秒source /etc/profile

  • 永久保存 chattr +a ~/.bash_history #加特殊权限a只增加不删除

  • !! #重复执行上一条命令

  • !n #n为第多少条命令

  • !word #倒序查找最近一条已word开头的命令,并执行

  • history -c #当前内存中的命令历史清空(指还没写入到文件中的命令)正常退出后保存到文件中

3. 命令补全和别名

  • tab键,敲一下补全,敲两下候选
  • 参数补全,安装bash-completion #要重启系统
  • alias别名给名重新起个名字
  • 取消自定义的别名
  • 各用户都有自己的配置别名的文件 ~/.bashrc
  • ls /etc/profile.d/
  • 自定义的alisa放到~/.bashrc

4. 通配符

*                                      #所有
?                                     #一个任意的字符
[0-3] [123]                            #括号内或的意思跟范围
{1,2,3}                              #或的意思但是要加逗号

5. 输入输出重定向

cat 1.txt> 2.txt                       #文本中的数据写入到2.txt  1.txt中的删除
cat 1.txt>> 2.txt                      #文本中的数据写入到2.txt  1.txt中的不删除
lsaaa 2> a.txt                         #将错误的信息写入到a文件中
lsaaa 2>> a.txt                         #将错误的信息写入到a文件中   追加重定向
>+2> ==  &>                            #正确的跟错误的全部写入到文件里
ls [12].txt aaa.txt &> a.txt           #正确的错误的全写入a.txt
ls [12].txt aaa.txt >1.txt 2> a.txt    #正确的写入1.txt 错误的写入a.txt
wc -l < 1.txt                          #显示1.txt的行数

6. 管道符和作业控制

|                                #管道符
Ctrl+z                           #暂停任务
jobs                             #查看暂停的任务
fg +编号                         #恢复暂停的命令
bg+编号                          #后台运行
sleep 100 &                     #将100秒后关机直接丢到后台执行
新开终端jobs是看不到上一个终端的后台任务,但是能够从进程中查看到

7. shell变量

系统有很多变量
可以用env来获取系统的变量,变量名多为大写
set 获取用户自定义的变量
变量规则
自定义变量 a=1
变量名规则:字母、数字下划线,首位不能为数字
变量值:变量值有特殊符号时需要用单引号括起来
变量的累加

全局变量export b=2 #向下的子bash unset 变量名 #取消变量

8. 环境变量配置文件

/etc/profile #系统环境变量,交互,登录才执行
/etc/bashrc #用户不用登录,执行shell就生效
~/.bashrc
~/.bash_profile
~/.bash_history
~/.bash_logout #定义用户退出的时候需要做的操作

PS1=[\u@\h \W]$ #效果[root@test ntp]#
PS1='[\u@\h \w]$'#效果[root@test /etc/ntp]#

总结

  1. 时间管理

  2. 把自己用的变量添加到自己家目录的.bashrc文件内

  3. echo -e 添加颜色,需要的时候百度,在脚本中添加颜色输出会一目了然

  4. source 的作用
    a、并不会产生新的pid
    b、会把子脚本里面的变量带出来

  5. exec 定向日志(记录日志)

  6. 怎么查询命令使用的是哪个包用yum provides "/*/vim"

转载于:https://my.oschina.net/zenghong133/blog/3031767

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值