Linux软件编程(1)-Linux系统介绍及shell命令的使用

一、Linux系统介绍

1.常见的Linux系统:Ubuntu、Debian、Redhat、CentOS等

2.Linux操作系统是操作系统的核心,也称为内核,内核的主要功能为:

①内存管理

②多任务管理

③文件系统管理

④多任务间的通信

⑤网络管理

⑥硬件设备管理

3.shell是操作系统的外壳,主要作用为:

保护Linux内核,防止用户直接操作内核导致的异常问题

命令解释器的作用,用户可以通过命令给到shell,并转换为对应的内核代码实现功能

shell命令的执行:

二、shell命令

1.文件查看命令

(1)cat:查看文件中的内容

cat 文件名

(2) head:查看文件开头内容

head -n 行数 文件名

3. tail:查看文件末尾内容

tail -n 行数 文件名1

3. 通配符:多用来搭配shell命令使用,操作多个文件

(1) *   匹配任意长度、任意字符的文件名

ls file*.txt1

(2) ?匹配一位长度、任意字符的文件名

ls file_??.txt1

(3) []:匹配一位长度、指定字符的文件名

ls file_[1-5].txt   (指定1-5)
ls file_[^3].txt     (除3以外)
ls file_[1,3,5].txt (指定1,3,5)

4. 管道:将前面命令的输出作为后续命令的输入

./a.out | grep "字符串"
ls file* | grep ".sh"

5. 重定向:将原本要输出在终端的内容定向到文件中

覆盖重定向(将原来内容覆盖)

echo "hello world" > file.txt1

追加重定向(在原内容末尾添加新内容)

echo "hello world" >> file.txt

6. 文件查找命令

(1)find命令:

①查找文件

find . -name 文件名

②查找包含某个字符串的文件

find . -type f -print0 | xargs -0 grep -l "字符串"

(2)whereis命令:查找二进制可执行程序

whereis valgrin

7. 常见命令

(1)echo命令:在终端上显示内容

echo "hello world" > file.txt1

(2) grep命令:查找包含字符串对应的行并显示

grep "字符串" 文件名

8.压缩和解压命令

(1).tar.gz格式

压缩

tar -zcvf 文件名.tar.gz 目录名/*1

解压

tar -zxvf 文件名.tar.gz1

(2).tar.bz2格式

压缩

tar -jcvf 文件名.tar.bz2 目录名/*1

解压

tar -jxvf 文件名.tar.bz21

三、shell脚本

1.shell是解释型语言

2.编程步骤

(1)编写脚本文件

vim filename.sh1

(2)使用chmod命令为脚本加上执行权限

chmod +x filename.sh

(3) 运行脚本

./filename.sh1

2. 指定脚本对应的运行shell

#!/bin/bash1

3. shell脚本的输入和输出

(1)输入

#从终端接收用户输入放入filename变量中
read filename

(2) 输出

#将变量filename中的内容打印在屏幕上
echo $filename

4. shell脚本中的引号

(1)单引号

原封不动打印引号中的内容

echo '$filename

(2)双引号

将双引号中的变量替换成对应的值打印

echo "$filename"

(3) 倒引号

将引号中的内容当做命令来处理

echo `seq 10`

5. shell中的变量

(1)环境变量

shell自带的一些变量,在程序运行时已经存在了

echo "$HOME"
echo "$PWD"
echo "$PATH"

(2)位置变量

$0 :脚本的名称
$1 :执行脚本时传入的参数1
$2 :执行脚本时传入的参数2
..
$# :传入参数的个数
$? :上一条shell语句的执行结果
$$ :脚本运行的进程编程

(3) 自定义变量

value=0
$valu

6. 分支结构:

(1)if 分支

①基本结构:

if 表达式
then
        语句块
else
        语句块
fi

②表达式可以由test命令实现

-gt #大于
-lt #小于
-ge #大于等于
-le #小于等于
-eq #等于
-ne #不等于
-b #检测文件是否存在,并判断是否为块设备
-c #检测文件是否存在,并判断是否为字符设备
-d #检测文件是否存在,并判断是否为目录文件
-e #检测文件是否存在
-f #检测文件是否存在,并判断是否为普通文件
-L #检测文件是否存在,并判断是否为链接文件
-p #检测文件是否存在,并判断是否为管道文件
-S #检测文件是否存在,并判断是否为套接字文件

test可以通过[]来替代

(2)case 分支

case 变量名 in
        常量1)语句
                ;;
        常量2)语句
                ;;
        常量3)语句
                ;;
        *)语句
                ;;
esac

7.循环结构

(1)while循环

while 表达式
do
        句块
done

(2)until(与while相反,满足条件就结束循环)

until 表达式
do
        语句块
done

(3) for

for i in 数据集
do
        语句块
done

8.数组

#!/bin/bash


array=("hello" "world" "how" "are" "you")
i=0


for ((i = 0; i < 5; i++))
                do
        echo ${array[$i]}
done

echo "${array[*]} //打印所有元素

9.函数

#!/bin/bash
add()
{
        sum=`expr $1 + $2`
        echo "$sum"
        

        return $sum
}
read num1
read num2

#获得函数内输出的字符串
ret=`add $num1 $num2`

#打印函数的运行的值
echo "$?"

#打印函数内输出的字符串
echo "ret = $ret"

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值