当前位置: 首页 > news >正文

【学习嵌入式day-21-Linux编程-shell命令】

Linux系统简介:

常见的linux系统:

linux系统是操作系统的核心,也成为内核,

内核的功能:内存管理、多任务管理、文件系统管理、多任务间的管理、网络管理

shell是操作系统的外壳,作用:

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

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

常见的shell命令

ls 查看文件

cd 进入目录

touch 创建文件

rm  删除文件

mkdir 创建文件夹目录

rmdir  删除文件夹

cp  拷贝文件

mv  移动文件

shell命令的执行流程

文件查看命令:

cat命令:查看文件中的内容

cat 文件名

head命令:查看文件开头内容

head -n 行数 文件名

tail命令:查看文件末尾内容

tail -n 行数 文件名

通配符

用来搭配shell命令使用,操作多个文件

*   :匹配任意长度、任意字符的文件命名

ls file*.txt
rm -rf*        //删除所有文件

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

ls file_??.txt

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

ls file-[1-5].txt    //找1到5所有的文件
ls file-[^3].txt    //找除了3以外所有的文件
ls file-[1,3].txt    //找1和3的文件

管道:

将前面命令的输出作为后续命令的输入

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

重定向:

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

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

echo "hello world" > file.txt

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

echo "hello world" >> file.txt

文件查找命令

find命令:在当前目录下查找文件

find . -name 文件名

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

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

whereis命令:查看二进制文件

whereis valgrind

常见命令:

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

echo "hello world"

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

grep "字符串" 文件名

压缩和解压命令

.tar.gz命令

压缩

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

解压

tar -zxvf 文件名.tar.gz

.tar.bz2格式

压缩

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

解压

tar -jxvf 文件名.tar.bz2

用户管理命令:

useradd新建用户

sudo useradd 用户名

userdel删除用户

sudo userdel 用户名

psswd修改密码

sudo passwd 用户名

su切换用户

su 用户名exit 退出当前用户

chmod修改文件权限

chown修改文件的所属用户

chown 用户名 文件名

chgrp 修改文件的所属组

chogrp 组名 文件名

shell脚本

编程型语言:

先编译再运行、有丰富的数据类型、擅长计算、执行效率高、开发效率低、C、C++、C#、Java

解释型语言:

边翻译边执行、擅长对系统维护管理、执行效率低、开发效率高、shell、python、javascript

编程步骤

//编写脚本文件
vim filename.sh
//使用chmod命令为脚本加上执行权限
chmod +x filename.sh
//运行脚本
./filename.sh

指定脚本对应的运行shell

#!/bin/bash

shell脚本的输入和输出

输出

        

输入

        

shell脚本中的引号

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

echo '$filename'

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

echo "$filename"

倒引号:将引号中的内容当作命令来处理

echo `seq 10`

shell中的变量

环境变量

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

位置变量

自定义变量

分支结构

if分支

基本结构

表达式可以由test命令实现,test可以通过[]来替代

case分支

基本结构

循环结构

while循环

until循环

for循环

数组

函数

实现分数等级判断

  #!/bin/bash                                                                                  read scoreif [ $score -lt 0 ] || [ $score -gt 100 ]thenecho "输入数据有误"exit 0fishiwei=`expr $score / 10`case $shiwei in10)echo "S优秀";;9)echo "S优秀";;8)echo "A良好";;7)echo "B中等";;6)echo "C及格";;*)echo "D不及格";;esac

http://www.dtcms.com/a/326688.html

相关文章:

  • 第九篇:调试工具:Three.js Inspector使用
  • 武汉火影数字|VR大空间是什么?如何打造VR大空间项目
  • 【华为机试】648. 单词替换
  • SciChart图形库应用
  • 专题:2025人形机器人与服务机器人技术及市场报告|附130+份报告PDF汇总下载
  • TCGA数据集下载工具gdc-client下载慢解决方案
  • mysql参数调优之 innodb_buffer_pool_size和innodb_buffer_pool_instances (三)
  • Java AI生成长篇小说的实用
  • VirtualBox虚拟机网卡配置
  • NR,LTE基于CSI的PMI-RI码本选择
  • 【算法训练营Day23】贪心算法part1
  • nginx高新能web服务器
  • UVM验证—UVM 简述
  • 从0-1搭建webpack的前端工程化项目
  • MySQL杂项
  • OpenBMC中phosphor-dbus-interfaces深度解析:架构、原理与应用实践
  • 安装AI高性能推理框架llama.cpp
  • Untiy_SpriteShape
  • VSCode编辑器常用24款基础插件
  • QT QVersionNumber 比较版本号大小
  • 自主泊车算法
  • OFD一键转PDF格式,支持批量转换!
  • 客户端连接redis,redis如何配置
  • 钓鱼鱼饵制作的方式(红队)
  • 定义短的魔术数字时小心负数的整型提升
  • AIStarter修复macOS 15兼容问题:跨平台AI项目管理新体验
  • 【51单片机数码管循环显示3位数字】2022-10-26
  • Spring Boot文件上传功能实现详解
  • day25-IO
  • gateway进行接口日志打印