linux中的shell基础

本文深入解析Linux中的echo命令、shell程序执行、别名设置、命令执行顺序、快捷键使用、历史命令管理、重定向及管道符功能,是Linux系统管理与编程的实用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.echo命令

echo [选项] 输出内容
选项:
     -e 支持转义字符

注意:输出内容中的 叹号!一般不支持输出

其中\b表示退格

echo -e "\e[1;31m 嫁人就要嫁凤姐 \e[0m "
# 输出颜色
# 30m=黑色,31m=红色,32m=绿色,33m=黄色·#34m=蓝色,35m=洋红,36m=青色,37m=白色

二.第一个shell程序

#!/bin/bash               # 告诉下面的命令是由/bin/bash执行的
#The first shell program

echo -e "\e[1;31m 嫁人就要嫁凤姐 \e[0m "

shell脚本的执行方式有两种:

  1. 赋予执行权限,直接运行
  2. 通过bash调用执行脚本(类似于python的解释器执行的方式)

三.别名与快捷键

  1. alias命令

功能是:列出当前系统中拥有别名的命令

alias 别名=‘原命令’
#设定命令别名

可见vi是vim的别名,在centos6.10中,rm命令删除文件不会提示是否删除,但rm -i会提示是否删除,为了保证删除时行为可控,可以设置这样的别名:alias rm='rm -i'

但在命令行中设置的别名,计算机重启后,并不会生效,可以在用户的家目录下的.bashrc文件中添加别名,这样设置后能够永久生效

若想是配置文件立即生效,可以使用source .bashrc命令

unalias 别名
# 删除别名

unalias删除的如果是配置文件.bashrc中添加的别名,则重启系统后,该别名还是会存在,要想永久删除某个别名,只能在配置文件.bashrc中删除

四 .llinux系统命令生效的顺序

  • 第一顺位执行用绝对路径或相对路径执行的命令。
  • 第二顺位执行别名。(别名会覆盖原有的命令)
  • 第三顺位执行Bash的内部命令。
  • 第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令

五.linux系统中的常用的快捷键

  • ctr1+c       强制终止当前命令(常用)
  • ctr1+l        清屏(是clear命令的简化版)
  • ctrl+a        光标移动到命令行首(常用)
  • ctrl+e        光标移动到命令行尾(常用)
  • ctrl+u        从光标所在位置删除到行首(常用)
  • ctr1+z       把命令放入后台(尽量避免)
  • ctr1+r       在历史命令中搜索

六.历史命令history

history[选项][历史命令保存文件]
选项:
-c:清空历史命令
-w:把缓存中的历史命令写入历史命令保存文件~/.bash_history

不建议清楚历史命令,第一,历史命令保存了个人的操作习惯,方便排查错误;第二,历史命令可以查出系统是否别他人入侵

历史用命令的调用

使用上、下箭头调用以前的历史命令                        #较常用
使用"!n"重复执行第n条历史命令
使用"!!"重复执行上一条命令   
使用以"!+字符串"重复执行最后一条以该字串开头的命令       #较常用       

七.重定向

输出重定向:

标准输入输出
设备设备文件文件描述符类型
键盘/dev/stdin0标准输入
显示器/dev/stdout1标准输出
显示器/dev/stderr2标准错误输出
命令 >  文件              # 以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中。
命令 >> 文件              # 以追加的方式,把命令的正确输出输出到指定的文件或设备当中。

错误命令 2>  文件         # 以覆盖的方式,把命令的错误输出输出到指定的文件或设备当中。
错误命令 2>> 文件         # 以追加的方式,把命令的错误输出输出到指定的文件或设备当中。


命令 > 文件 2>&1          # 以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中
命令 >> 文件 2>&1         # 以追加的方式,把正确输出和错误输出都保存到同一个文件当中

命令 &> 文件              # 以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中
命令 &>> 文件             # 以追加的方式,把正确输出和错误输出都保存到同一个文件当中              
命令 >> 文件1 2>> 文件2    # 把正确的输出追加到文件1中,把错误的输出追加到文件2中


一般用后面3条命令

输入重定向:

wc [选项] 文件名  # 统计一个文件的信息,如果不带文件名,则要求用户在黑窗口输入,按Ctrl+d停止输入
选项:
-c 统计字节数
-w 统计单词数
-l 统计行数

命令 < 文件                      把文件作为命令的输入
命令 << 标识符                 标识符把标识符之间内容作为命令的输入   


             

八.管道符

1.多命令顺序执行

多命令执行符格式作用
命令1;命令2多个命令顺序执行,命令之间没有任何逻辑关系
&&命令1 && 命令2

逻辑与

当命令1正确执行,则命令2才会执行

当命令1执行不正确,则命令2不会执行

||命令1 || 命令2

逻辑或

当命令1执行不正确,则命令2才会执行

当命令1执行正确,则命令2不会执行

 

;执行符号,中间出现错误命令时,后面的命令依然会执行

&&执行符号,前面的命令执行正确,后面的命令才能执行

||执行符号,前面的命令执行出错,后面的才能执行

判断一条命令是否正确执行的方法:

需要判断的命令名 && echo yes || echo no

2.管道符

管道符也是一个多命令执行符号

命令1 | 命令2

命令1的正确结果作为命令2的操作对象

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值