ubuntu终端指令集 shell编程基础(一)

- 磁盘指令
- 连接与查看:磁盘与 Ubuntu 有两种连接方式;使用
ls /dev/sd*查看是否连接成功,通过df系列指令查看磁盘使用信息。若 U 盘已挂载,相关操作可能失败,需用umount取消挂载。 - 磁盘操作:使用
sudo fdisk 磁盘对磁盘操作,如d删除分区、n添加新分区等;用sudo mkfs.格式化的类型 分区格式化磁盘;挂载时先创建目录,再用mount 挂载的分区 挂载点挂载,使用完用umount取消挂载。
- 连接与查看:磁盘与 Ubuntu 有两种连接方式;使用
- 开关机指令
- 关机:支持设定时间关机,如
shutdown 10(10 分后自动关机 )、shutdown 12:45(在 12:45 关机),也可立刻关机shutdown now。 - 重启:设定时间重启如
shutdown -r 10(10 分后自动重启 )、shutdown -r 12:45(在 12:45 重启),立刻重启shutdown -r now。 - 取消操作:使用
shutdown -c。
- 关机:支持设定时间关机,如
- 用户相关指令
- 信息查看:
/etc/passwd存储用户信息,/etc/group存储组信息,/etc/shadow存储密码;用whoami查看用户名,id系列指令查看用户和组 ID。 - 用户操作:
sudo adduser创建用户,su切换用户,exit退出用户;sudo userdel删除用户,sudo usermod修改用户信息。 - 组操作:
addgroup添加组并添加用户到组,delgroup从组中删除用户,groupadd创建新组,groupdel删除组。 - 权限添加:打开
/etc/sudoers文件,添加特定语句并w!强制保存,可给新用户添加 sudo 权限。
- shell 基础
- 定义:本质是指针集合,是用户与操作系统交互的核心接口。
- 语言分类:属于解释性语言,使用解析器 bash,与编译型语言(如 C 语言)相对。
- 创建 shell 脚本
- 文件命名:使用文件***.sh 。
- 补全脚本:开头使用
#!/bin/bash表示使用 bash 解析器。 - 注释:
#用于单行注释,可使用特定指令模拟多行注释。
- 解析器
- 查看解析器:使用
echo $SHELL或cat /etc/shells。 - 常见解析器:bash(Linux\debian 默认)、sh(早期解析器)、dash(轻量级 sh)、csh(类似 C 语言)、ksh(兼容 sh 和 csh)。
- 运行脚本:
bash ****.sh、chmod 777 ***.sh后./***.sh、source ***.sh三种方式。
- 查看解析器:使用
- 环境变量
- 查看:使用
env命令。 - 修改 PATH 路径:对当前终端有效(
export PATH)、对当前用户有效(修改~/.bashrc并source或重启)、对所有用户有效(修改/etc/bash.bashrc或/etc/environment并source或重启)。
- 查看:使用
- shell 的变量
- 格式:变量定义时等号两端不能有空格,默认都是字符串类型和全局变量。
- 初始化:根据初始化值是否有空格,选择不同的赋值方式。变量赋值时,单引号和双引号有不同的处理方式。
- 引用变量:
$变量名或${变量}。 - 位置变量:类似 C 语言的 argc 和 argv,用于函数传参,如
$0为终端输入的文件名,$1为第一个字符串等。
- 输出:使用
echo命令,单引号包裹字符串不会展开变量,双引号会展开变量。
- 信息查看:
相关文章:
ubuntu终端指令集 shell编程基础(一)
磁盘指令 连接与查看:磁盘与 Ubuntu 有两种连接方式;使用ls /dev/sd*查看是否连接成功,通过df系列指令查看磁盘使用信息。若 U 盘已挂载,相关操作可能失败,需用umount取消挂载。磁盘操作:使用sudo fdisk 磁…...
win11编译pytorch cuda128版本流程
Geforce 50xx系显卡最低支持cuda128,torch cu128 release版本目前还没有释放,所以自己基于2.6.0源码自己编译wheel包。 1. 前置条件 1. 使用visual studio installer 安装visual studio 2022,工作负荷选择【使用c的桌面开发】,安装完成后将…...
STM32G431RBT6——(1)芯片命名规则
相信很多新手入门STM学的芯片,是STM32F103C8T6,假如刷到个项目换个芯片类型,就会感到好难啊,看不懂,就无从下手,不知所云。其实没什么难的,对于一个个不同的芯片的区别,就像是学习包…...
mac Homebrew安装、更新失败
我这边使用brew安装git-lfs 一直报这个错: curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL更新brew update也是报这个错误。最后使用使用大佬提供的脚本进行操作: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/mast…...
Ecode前后端传值
说明 在泛微 E9 系统开发过程中,使用 Ecode 调用后端接口并进行传值是极为常见且关键的操作。在上一篇文章中,我们探讨了 Ecode 调用后端代码的相关内容,本文将深入剖析在 Ecode 中如何向后端传值,以及后端又该如何处理接收这些值…...
Wireshark:自定义类型帧解析
文章目录 1. 前言2. 背景3. 开发 Lua 插件 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 背景 Wireshark 不认识用 tcpdump 抓取的数据帧,仔细分析相关代码和数据帧后,…...
每日学习Java之一万个为什么?[MySQL面试篇]
分析SQL语句执行流程中遇到的问题 前言1 MySQL是怎么在一台服务器上启动的2 MySQL主库和从库是同时启动保持Alive的吗?3 如果不是主从怎么在启动的时候保证数据一致性4 ACID原则在MySQL上的体现5 数据在MySQL是通过什么DTO实现的6 客户端怎么与MySQL Server建立连接…...
Spring 为何需要三级缓存解决循环依赖,而不是二级缓存
Spring 使用三级缓存来解决循环依赖问题,而不是仅使用二级缓存,主要是为了同时满足依赖注入和 AOP 代理的需求。以下是详细解释: ### Spring 三级缓存的作用 Spring 的三级缓存分别用于不同的场景: 1. **一级缓存(sin…...
2继续NTS库学习(读取shapefile)
引用库如下: 读取shapefile代码如下: namespace IfoxDemo {public class Class1{[CommandMethod("xx")]public static void nts二次学习(){Document doc Application.DocumentManager.MdiActiveDocument;var ed doc.Editor;string shpPath …...
避免 Git 文件名大小写出错
一、如何避免大小写出错? 配置 Git 全局忽略大小写 在 Windows 上,默认 Git 会忽略大小写。建议全局关闭此行为: git config --global core.ignorecase false统一团队命名规范 强制约定文件名全小写(如 config.json)或…...
JavaWeb后端基础(3)
原打算把Mysql操作数据库的一些知识写进去,但是感觉没必要,要是现在会的都是简单的增删改查,所以,这一篇,我直接从java操作数据库开始写,所以这一篇大致就是记一下JDBC、MyBatis、以及SpringBoot的配置文件…...
Vue程序下载
Vue是一个基于JavaScript(JS)实现的框架,想要使用它,就得先拿到Vue的js文件 Vue官网 Vue2:Vue.js Vue3:Vue.js - 渐进式 JavaScript 框架 | Vue.js 下载并安装vue.js 第一步:打开Vue2官网&a…...
力扣 寻找重复数
二分,双指针,环形链表。 题目 不看完题就是排序后,用两个快慢指针移动,找到相同就返回即可。 class Solution {public int findDuplicate(int[] nums) {Arrays.sort(nums);int l0;int r1;while(r<nums.length){if(nums[l]num…...
使用Docker将ros1自定义消息通过rosjava_bootstrap生成jar包
文章目录 预准备环境rosjava_bootstrap坏消息好消息 环境安装docker安装rosjava_bootstrap仓库rosjava_center仓库修改rosjava_bootstrap代码拉取docker镜像放置自己的自定义消息 启动docker编译 预准备环境 rosjava_bootstrap rosjava_bootstrap是将自定义的ROS消息生成java…...
分治算法、动态规划、贪心算法、分支限界法和回溯算法的深度对比
1. 分治算法 (Divide and Conquer) 核心思想 分治法三步曲: 分解(Divide):将原问题拆分为多个子问题解决(Conquer):递归解决子问题合并(Combine):合并子问题…...
Unity 运用正则表达式保留字符串中的中文英文字母和数字
正则表达 正则表达式 – 语法 | 菜鸟教程 Regex 类 (System.Text.RegularExpressions) | Microsoft Learn 保留字符串中的中英数 中英数的正则表达。 patten "[\u4e00-\u9fa5A-Za-z0-9]"; 使用Regex 类匹配正则并保留。 matches Regex.Matches(str, patten)…...
网络安全红队工具
目录 红队及发展趋势 基本概念 发展趋势 防守阶段 备战阶段 临战阶段 实战阶段 战后整顿 如果错过互联网,与你擦肩而过的不仅仅是机会,而是整整一个时代。 红队及发展趋势 基本概念 红队一般指实战攻防的防守方。 红队主要复盘总结现有防护系统的不足之处,为…...
【汽车ECU电控数据管理篇】HEX文件格式解析篇章
一、HEX格式文件是啥 HEX 文件是 Intel 公司提出的一种按地址排列的数据信息格式,通常用于存储嵌入式系统的二进制代码。它以 ASCII 码的形式记录数据,每一行以冒号开头,包含数据长度、地址、记录类型、数据和校验码等信息。HEX 文件常用于程…...
ai-2、机器学习之线性回归
机器学习之线性回归 1、机器学习2、线性回归2.1、梯度下降法 3、python下调用scikit-learn 1、机器学习 2、线性回归 ####所以y可以当成我们需要的结果,根据公式可以求的y一撇的值更小,所以更接近需要的结果,所以y一撇拟合性更好 2.1、梯度下…...
机器视觉线阵相机分时频闪选型/机器视觉线阵相机分时频闪选型
在机器视觉系统中,线阵相机的分时频闪技术通过单次扫描切换不同光源或亮度,实现在一幅图像中捕捉多角度光照效果,从而提升缺陷检测效率并降低成本。以下是分时频闪线阵相机的选型要点及关键考量因素: 一、分时频闪技术的核心需求 多光源同步控制 分时频闪需相机支持多路光源…...
NO.21十六届蓝桥杯备战|一维数组|范围for|memset|memcpy(C++)
数组是⼀组相同类型元素的集合 数组中存放的是1个或者多个数据,但是数组元素个数不能为0数组中存放的多个数据,类型是相同的 数组分为⼀维数组和多维数组,多维数组⼀般⽐较多⻅的是⼆维数组 一维数组 ⼀维数组是最常⻅的,通常⽤…...
开源模型应用落地-DeepSeek-R1-Distill-Qwen-7B-Docker助力-模型部署 “光速” 指南
一、前言 在人工智能的浪潮里,大语言模型不断迭代更新,DeepSeek-R1-Distill-Qwen-7B 模型凭借出色的表现,吸引着无数开发者的目光。然而,想要将这个强大的模型顺利部署并投入使用,过程却并不轻松。传统的部署方式仿佛布满荆棘,从底层环境搭建到各种依赖项的适配,每一步都…...
unity TextMeshPro动态字体使用
TextMeshPro 显示文本的时候,依赖与文本贴图,这个贴图可以是静态的,也可以根据显示需求动态生成,动态的资源对内存消耗会高一些,所以我们一般将常用的3500汉字创建一个静态的字体库,然后在创建一个动态字体…...
C#使用技巧
文章目录 判断7天以内判断7天以内 Date date = new Date(); //获取当前时间Date s00 = (Date) pageData.get(...
爱普生可编程晶振 SG-8101CE 在智能家居领域展现出的优势
在智能家居的全场景应用中,设备间的协同效率、数据传输的稳定性以及系统运行的可靠性,成为衡量用户体验的核心标准。爱普生 SG-8101CE 可编程晶振以其卓越的性能,为智能门锁、传感器、中控系统等设备提供核心动力,助力厂商打造更可…...
第6篇:面向对象编程重构系统
一、OOP重构目标 数据封装:隐藏实现细节接口抽象:规范操作入口资源自治:实现自管理生命周期扩展基础:预留多态支持接口二、完全面向对象实现(完整代码) #include <iostream> #include <Windows.h> #include <li...
杰发科技AC7801——滴答定时器获取时间戳
1. 滴答定时器 杰发科技7801内部有一个滴答定时器,该定时器是M0核自带的,因此可以直接用该定时器来获取时间戳。 同样,7803也可以使用该方式获取时间戳。 2. 滴答定时器原理 SysTick是一个24位的递减计数器,它从预设的重装载值…...
2021-05-27 C++找出矩阵数组中值最大的元素和它在数组中的位置
缘由各位大佬,这个应该怎么做_编程语言-CSDN问答 void 找出数组中值最大的元素和它在数组中的位置() {//缘由https://ask.csdn.net/questions/7436585?spm1005.2025.3001.5141int a[4][4], aa 0, aaa 0, d 0, x 0;while (aa < 4 && aaa < 4)std…...
k8s集群3主5从高可用架构(kubeadm方式安装k8s)
关键步骤说明 环境准备阶段 系统更新:所有节点执行yum/apt update确保软件包最新时间同步:通过ntpdate time.windows.com或部署NTP服务器网络规划:明确划分Service网段(默认10.96.0.0/12)和Pod网段(如Flann…...
上位机知识篇---HTTPHTTPS等各种通信协议
文章目录 前言1. HTTP(HyperText Transfer Protocol)功能传输超文本无状态协议支持多种方法 特点明文传输基于TCP简单灵活 使用场景示例请求响应 2. HTTPS(HTTP Secure)功能加密传输身份验证特点基于SSL/TLS默认端口需要证书 使用…...
