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

软件编程1-shell命令

一、shell命令概述

1、shell命令的作用

  1. shell是操作系统的外壳,主要作用为:
    1. 保护Linux内核,防止用户直接操作内核导致的异常问题
    2. 命令解释器的作用,用户可以通过命令给到shell,并转换为对应的内核代码实现功能

2、shell命令的测执行流程

  1. 用户→shell命令→内核→硬件→用户

二、基本shell命令

1. 基础的shell命令

  1. ls                查看文件
  2. cd               进入目录
  3. touch          创建文件
  4. rm               删除文件
  5. mkdir          创建文件夹
  6. rmdir           删除文件夹
  7. cp               拷贝文件
  8. mv              移动文件

2. 文件查看命令

  1.  cat命令:
    1. 查看文件中的内容
    2. 使用形式:cat 文件名
  2. head命令:
    1. 查看文件开头内容(加行数,查看开头前n行的内容)
    2. 使用形式:head -n 行数 文件名
  3.  tail命令:
    1. 查看文件末尾内容(加行数,查看倒数n行的内容)
    2. 使用形式:tail -n 行数 文件名

3. 通配符

作用:用来搭配shell命令使用,操作多个文件
1. *        :匹配任意长度、任意字符的文件名
2. ?        :匹配一位长度、任意字符的文件名
3. []        :匹配一位长度、指定字符的文件名

4.管道

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

5.重定向

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

1.覆盖重定向(将原来的内容覆盖)“>”

2.追加重定向(在原内容末尾添加新内容) “>>”

6.文件查找命令

1.find命令:

  1. 查找文件:find . -name 文件名
  2. 查找包含某个字符串的文件:find . -type f -print0 | xargs -0 grep -l "字符串"

2.whereis命令:

  1. 查找二进制可执行程序:whereis valgrind

7.常见命令

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

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

8.压缩和解压命令

1. .tar.gz格式

2. .tar.bz2格式

9.用户管理命令

二、shell脚本

1. 编程语言的分类

  • 编译型语言:
    • 先编译再运行
    • 有丰富的数据类型、擅长计算
    • 执行效率高
    • 开发效率低
    • C、C++、C#、Java
  •  解释型语言:
    • 边翻译边执行
    • 擅长对系统维护管理
    • 执行效率低
    • 开发效率高
    • shell、Python、javascript

2.shell脚本编程

  1. 定义:脚本的本质就是一系列shell命令的集合
  2. 编程步骤
    1. 编写脚本文件:vim filename.sh    (.sh结尾)
    2. 使用chmod命令加执行权限:chmod +x filename.sh
    3. 运行脚本:./filename.sh
  3. 内容编程
    1. 指定脚本对应的运行shell(类似头文件)
      1. #!/bin?bash
    2. shell脚本输入:从终端接收用户输入放入filename变量中
      1. :read filename
    3. shell脚本输出:将变量filename中的内容打印在屏幕上
      1. :echo $filename
  4. shell脚本中的引号:

        

        5.shell脚本中的变量:

        

    

         

    6.分支结构:

         

         

          

          

            

          

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

相关文章:

  • RabbitMQ面试精讲 Day 18:内存与磁盘优化配置
  • 深度学习-卷积神经网络CNN-AlexNet
  • LeetCode_哈希表
  • 智能体革命:网络安全人的角色重塑与突围指南
  • GPU指令集入门教程
  • 安全运维工具链全解析
  • 代码可读性与维护性的实践与原则
  • H3C(基于Comware操作系统)与eNSP平台(模拟华为VRP操作系统)的命令差异
  • Vulhub靶场组件漏洞(XStream,fastjson,Jackson)
  • 【Vue✨】Vue3 中英文切换功能实现
  • kubernetes安装搭建
  • nginx+Lua环境集成、nginx+Lua应用
  • 【东枫科技】NTN-IOT 卫星互联网原型系统,高达1.6G大带宽
  • LeetCode简单题 - 学习
  • java生成用户登录token
  • Android Camera 打开和拍照APK源码
  • Redis实现消息队列三种方式
  • 前端学习日记 - 前端函数防抖详解
  • c#属性(Property)的概念定义及使用详解
  • 音视频学习(五十二):ADTS
  • i2c dump工具使用(202589)
  • WAV音频数据集MFCC特征提取处理办法
  • 人工智能正在学习自我提升的方式
  • Agent在游戏行业的应用:NPC智能化与游戏体验提升
  • PySpark
  • Java集合中的 LinkedList
  • 通过sealos工具在ubuntu 24.02上安装k8s集群
  • JavaScript性能优化30招实战指南
  • JUC学习笔记-----ReentrantLock
  • 怎么用java实现视频逐帧截图并保存