shell编程第一天

Linux学习

1. shell编程简介

shell分类:shell分为GUI(Graphical User Interface)和CLI(Command Line Interface)。
shell语法分类:两种主要的语法类型有Bourne和C这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh:C家族主要包括csh、tcsh。Linux将bash作为基本的shell
在这里插入图片描述

2. Bash基本使用命令

1. history 历史命令

用户可使用上下键来获取上一次执行的历史命令
使用history来获取到历史命令
history 【选项】【历史命令保存文件】
选项:-c 清空历史命令
-w 把缓存中的历史命令写入命令保存文件,保存文件在用户目录下的.bash_history文件中
获取到所有的历史命令后:通过
“!!”:重复前一个命令
“!n”:此时n为命令编号,重复第n条命令
“!-n”:n同上,重复倒数第n条命令
“!?abc”:这里使用了通配符?重复命令中带有abc的命令
“!str”:重复执行以字符串str开头的命令
“CTRL+R”:可直接在历史记录中搜索命令

2. 常用CLI通配符与正则表达式

学习这个容易同正则表达式混淆,但两者有些雷同但功能上还是有区别的,需要认真比较并进行熟练的应用:

常用通配符:(通配符用来匹配符合条件的***文件名***,通配符实现***完全匹配***,ls、find、cp不能使用正则表达式所以只能使用shell的通配符来进行快速查找)

  • “*”:匹配0个或多个字符(表示)
  • “?”:匹配任意一个字符
  • “[0-9]":匹配一个数字范围(同正则表达式)
  • ”[^0-9]“:匹配一个非数字范围
  • ”[abc]“:匹配中括号中abc任意一个字符
  • ^abc:匹配中括号中非abc任意一个字符(其中[]、-符号同正则表达式功能类似,-可以表示一个范围)

在这里插入图片描述
正则表达式:(用来在文件中匹配符合条件的字符串,正则是包含匹配,grep、awk、sed可以支持正则表达式)

  • “.":匹配除了换行符以外的任意一个字符
  • “*”:前一个字符匹配0次或任意多次
  • ”?“:匹配前一个字符0或1次
  • “^”:匹配行首,例如:~hello匹配以hello开头行
  • “$”:匹配行尾,例如:hello~匹配以hello结尾行
  • []:匹配中括号中任意一个字符,只匹配一个字符(同通配符)。
  • {n}:匹配前一个字符n次,eg:[0-9]{n}意为匹配0-9之间的任意数字共4个,用于匹配电话号码比较方便。
  • {n,}:表示前一个字符出现次数不小于n,eg:[0-9]{2,}表示两位数以上的数字
  • {n,m}:表示前一个字符出现次数不小于n,不大于m次,eg:[0-9]{2,3}表示两位数以上的数字不能是4位以上数字,eg:11、999
3. 切换命令

su-:切换root用户并使用一个新的用户环境
sudo:使用管理员身份运行命令
id:显示当前用户的身份信息
passwd:修改当前用户的密码
pstree:查看当前的进程树
uname:查看当前操作系统信息
pwd:获取当前文件路径

4. 文件系统基本结构

在这里插入图片描述

  • 文件系统的根为”/“
  • Linux文件系统为一个倒转的单根树状结构
  • 文件系统严格区分大小写
  • 路径使用”/”分割(windows使用“")

文件名称

  • 文件名称大小写敏感
  • 名称最多可以为255个字符
  • 处理正斜线“/"以外,都是有效字符
  • 通过touch命令可以创建一个空白文件或者更新已有文件的时间
  • 以“.”开头的文件为隐藏文件,一般不显示(命令ls -a可显示所有文件包括隐藏文件)
5. ls命令

ls 【选项】
选项:ls -a :显示所有文件包括隐藏文件
ls -l:显示文件的详细信息(file命令可查看文件详细信息)
ls -R:递归显示子目录结构
ls -ld:显示目录和链接信息

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值