Linux之shell基础编程(一)

本文介绍了Linux Shell的基础知识,包括查看系统支持的shell、Shell脚本的执行方式、基本功能如历史命令、别名设置、命令执行顺序、文件操作等。详细讲解了Shell脚本的编写,如变量定义、环境变量设置、位置参数变量的使用,并涉及运算符、变量测试和内容替换。同时,阐述了环境变量配置文件的作用和配置流程。

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

一、shell概述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看当前Linux支持的shell

vim  /etc/shells

二、shell脚本的执行方式

2.1 echo 输出命令

echo  [选项]  [输出的内容]    
        -e  开启反斜杠控制的字符转换
  例: echo  -e   "ab\bc"      输出: ab
       echo  -e   "\e[1;31m ABCD \e[0m"   输出: ABCD(红色)    (30->31->32->绿  33->34->35->洋红  36->37->)

开启 -e 的反斜杠控制的选择
在这里插入图片描述

2.2 第一个脚本

首先选择一个文件夹

  1. vim 文件名.sh (虽然不区分后缀名,但最好shell脚本加上.sh)
  2. 进入文件
#!bin/bash             这一行不是注释,相当于web页面的<html>标签
# 以#开头的一般是注释
echo "hello, shell"         输出语句                            
  1. 编写的脚本没有执行权限,要进行执行权限设置
chmod 755 文件名.sh
  1. 执行脚本
sh  ./文件名.sh       (可以使用绝对路径 或 进入该目录使用相对路径)
        或
bash  ./文件名.sh 

2.3 bash的基本共功能

  1. history 查看历史命令
 history  [选项]
          -c           清除历史命令
          -w           将缓存中的历史命令写入到历史命令文件中(~/.bash_history  隐藏文件默认保存1000条可以在/etc/profile中修改)          

使用历史命令
在这里插入图片描述
2. tab键文件补全
3. alias 命令取别名

alias       查看系统所有别名
vi  /root/.bashrc      让别名永久生效
nualias     删除别名
  1. Liunx的命令执行顺序
    在这里插入图片描述
  2. Linux的常用快捷键
    在这里插入图片描述
  3. 标准输入输出
    在这里插入图片描述
  4. 输出重定向
    在这里插入图片描述
    在这里插入图片描述

例如:

ls  >  abc      将ls的所有输出文件写到abc文件中(覆盖)
ls  >>  abc      将ls的所有输出文件追加到abc文件中
  1. wc 输入重定向
wc   [选项]   [文件名]     
     -c    统计字节数
     -w    统计单词数
     -l    统计行数
  1. 多命令顺序执行
    在这里插入图片描述
    dd 复制磁盘、分区等命令
dd  if=输入文件   of=输出文件   bs=字节数   count=个数
例如: 查看文复制时用了多少时间
date; dd if=/dev/zero  of=/root/testfile  bs=1k  count=1000; date      查看文件复制过程中用的时间

在这里插入图片描述
10. 管道符

命令1  |  命令2       命令1的正确执行作为命令2的操作对象
例如:
 ll  /etc  | more          查看etc下文件,分页显示

grep 搜索

grep  [选项]  "搜索内容"
       -i             忽略大小写
       -n             输出行号
       -v            反向查找
       --color=auto  搜索关键字,用颜色显示
结合上面用法:
netstat  -an  | grep   8080       查看8080端口情况
  1. 通配符
    在这里插入图片描述
  2. 其他特殊符号
    在这里插入图片描述
例如:
  echo  $(date)  或  echo  `date`    输出时间
  变量名=值           赋值(如 name=sc)

三、bash的变量

3.1 用户自定义变量

  1. 什么是变量
    在这里插入图片描述
    2.变量设置规则
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
  2. 变量的分类
    在这里插入图片描述
    4.本地变量
(1)变量定义
变量=值          变量定义(如:name=jack)
(2)变量追加
abc=123
abc="$abc"456    或   abc=${abc}456         输出结果:123456
(3)变量的调用
echo  $abc
(4)变量的查看
set
(5)删除变量
unset   abc

3.2 环境变量

1.环境变量是什么
在这里插入图片描述
2.设置环境变量

(1)声明变量
export  变量名=(2)查询变量
env
(3)删除变量
unset
  1. 系统常见环境变量
    平时输入的命令如 ls,其实在linux中都是输入的绝对路径或相对路径,但是系统的环境变量path配置后,每次输入,都会调用path环境变量来查找相对应的命令,就如java中jdk,配置了path环境变量,在任何目录直接使用
    (1)PATH
(1)查看PATH
echo $PATH           默认是以 : 分割
(2)变量追加         echo "$PATH":绝对路径
echo "$PATH":/root

(2)PSl (平时写命令前面显示的内容设置)
在这里插入图片描述
例如
在这里插入图片描述

3.3 位置参数变量

在这里插入图片描述
(1)$n
a.编写脚本 文件名.sh

#!/bin/bash
number1=$1
number2=$2
number3=$3
sum=$((number1+number2+number3))
echo $sum

b.授可执行权限

chomd 755 文件名.sh

c.执行

sh ./文件名.sh  1 2 3          (123为参数传递给脚本文件,然后执行运算输出)

d.输出结果为:6

(2) $ * 和$ # 和$ @
a.编写脚本 文件名.sh

echo $*
echo $#
echo $@

b.授可执行权限

chomd 755 文件名.sh

c.执行

sh ./文件名.sh  1 2 3 4 5 6         (123456为参数传递给脚本文件)

d.输出结果为

123456       (是一个整体)
6            (参数个数)
123456        (6个参数)

3.4预定义变量

在这里插入图片描述
接收键盘输入
在这里插入图片描述
例如:

在这里插入图片描述在这里插入图片描述

四、bash的运算符

4.1 数值运算与运算符

1.declare 申明变量类型

declare  [+/-] [选项] 变量名
          -: 给变量设定属性类型
          +: 取消属性的变量类型
          
            -i:   将变量声明为整数型
            -x:   将变量声明为环境变量
            -p:   显示指定变量的被声明类型    

在平时操作中,使用c=$a+$b 输出的结果是两个变量和+号的拼接字符串。
数值运算的几种常用方法

(1) declare  -i  c=$a+$b    输出结果是a变量和b变量相加的结果

(2)使用expr或let数值运算工具
    c=$(expr $a + $b)
    
(3)$((算式))   或  $[算式]         最为常用
    c=$(($a + $b))   或   c=$[$a + $b]
  1. 运算符
    在这里插入图片描述

4.1变量测试与内容替换

相对于编程语言的中三元运算符的作用,这里定义了不同的规则
在这里插入图片描述

五、环境变量配置文件

5.1环境变量配置文件简介

1.source命令,使环境变量变量生效

source  配置文件   或    . 配置文件

在这里插入图片描述在这里插入图片描述

5.2 环境变量配置文件的作用

当用户登录后,会有一下系统文件调用流程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.3 其他配置文件及设置登录信息

1.注销时生效的配置文件

~/.bash_logout

2.历史命令配置文件

~/bash_history

3.shell的登录信息预各种设置
(1)服务器本地的欢迎信息设置 目录:/etc/issue
只能在服务器本地使用转义符操作
在这里插入图片描述
(2)远程连接终端的欢迎信息设置 目录:/etc/issue.net
上面的转义符在该文件中不能生效,只能以文本格式输出
在这里插入图片描述
(3)设置登陆后的欢迎信息,在本地与远程都有效 目录:/etc/motd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值