Ubuntu Linux操作
引言
晚上上课发现桌子上遗留了这本书,水课就看了看学习下,以下内容直接总结知识点
磁盘内存解析
(1)硬盘有数个盘片,每个盘片两个面,每个面一个磁头。
(2)盘片被划分为多个扇形区域即扇区。
(3)同一盘片不同半径的同心圆为磁道。
(4)不同盘片相同半径构成的圆柱面即柱面。
(5)公式:存储容量=磁头数 * 磁道(柱面)数 * 每道扇区数 * 每扇区字节数
挂载与卸载
在使用磁盘分区前,需要挂载该分区,这相当于激活一个文件系统
Windows将磁盘分为若干个逻辑分区,如 C盘,D盘,在各个分区中挂载文件系统。这个过程是使用其内部机制完成的,用户无法探知其过程
Linux 系统中,没有磁盘的逻辑分区(即没有 C盘D 盘等),任何一个种类的文件系统被创建后都需要挂载到某个特定的目录才能使用。Linux 使用 mount 和 umount 命令来对文件系统进行挂载和卸载,挂载文件系统时需要明确挂载点。
如下所示,把 U 盘/devsdb1(系统识别)挂载到 /mnt/usb 下;第二句代码则把 盘卸载,注意,不能在当前目录卸载,应到上一级目录或者根目录卸载。
//把U盘/devsdb1(系统识别)挂载到 /mnt/usb
sudo mount /dev/sdb1 /mnt/usb//把U盘卸载
sudo umount /dev/sdb1
Linux中目录的定义
Linux文件系统中,结构上以根文件系统最为重要。根文件系统是指开机时将 rootpartition 挂载在根目录(/),若无法挂载根目录,开机时就无法进入 Linux 系统中。根目录下有/etc,/dev,/boot、/home、/lib ,/lost+found,/mnt,/opt,/proc,/root,/bin,/sbin,/tmp,/var,usr 等重要目录。
/etc
本目录下存放着许多系统所需的重要配置与管理文件,如/etc/hostname 存放配置主机名字的文件,/etc/network/interfaces 存放配置修改网络接口的 IP 地址、子网掩码、网关的文件etc/resolv,conf存放指定 DNS 服务器的文件等。图 5.6 显示了配置文件 hostname 和 resolconf的内容。通常在修改/etc 目录下的配置文件内容后,只需重新启动相关服务,一般不用重启系统。
/dev
/dev 目录中存放了 device file(装置文件),使用者可以经由核心存取系统中的硬设备当使用装置文件时内核会辨识出输入输出请求,并传递到相应装置的驱动程序以便完成特定的动作。
/boot
该目录下存放与系统激活相关的文件,是系统启动时用到的程序。如图 5.8 所示initrd.img、vmlinuz、System.map 均为重要文件,不可任意删除。其中,initrd.img 为系激活时最先加载的文件;vmlinuz 为 Kernel的镜像文件;System.map 包括 Kernel的能及位置。top、ps 命令读此文件来显示系统目前的信息状态。
chmod配置权限
红框中的权限分为3部分,分别是:所有人、同组人、其他人
r | 读权限 |
w | 写权限 |
x | 执行权限 |
chmod [选项] mode files$ chmod 777 cc1
文件的所有者不使用 sudo 命令,可以更改文件的权限
常用权限如下:
600: 只有所有者有读和写的权限。
644: 所有者有读和写的权限,组用户只有读的权限
700: 只有所有者有读和写以及执行的权限
666:每个人都有读和写的权限。
777: 每个人都有读、写以及执行的权限
cat输入、输出重定向
vim编译器
vi 有三种工作模式:命令行模式、输入模式、末行模式
命令行模式
当进入以时,它处在命令行模式。在这种模式下,用户可通过 vi 的命令对文件的内容
进行处理,比如删除、移动、复制等
例如:vi 文件名
此时进入命令行模式在这种模式中,用户可以输入各种合法的 vi 命令,管理自己的文档。从键盘上输入的任何字符都被当作编辑命令,如果输人的字符是合法的 vi 命令,则 vi 接受用户命令并完成相应的动作。在命令行模式下输人命令切换到文本输入模式,若要用其他的文本输人命令则首先按 Esc 键,返回命令模式,再输入命令
输入模式
在输入模式下,用户能在光标处输入内容,或通过光标键移动光标。也可通过按 Esc 键返回命令行模式。
命令 | 功能 |
i | 从目前光标所在处插入 |
I | 从目前所在行的第一个非空格符处开始插入 |
a | 从目前光标所在的下一个字符处开插入 |
A | 从光标所在行的最后一个字符处开始插人 |
o | 从目前光标所在行的下一行处插人新的一行 |
O | 从目前光标所在处的上一行处插人新的一行 |
r | 替换光标所在的那一个字符一次 |
R | 替换光标所在处的文字,直到按下 Ese 键为止 |
末行模式
在命令行模式下按 “ : ” 键进入末行模式,提示符为 “ :”
末行命令执行后,vi 自动回到命令行模式。若在末行模式的输入过程中,可按退格键将输人的命令全部删除,再按一下退格键,即可回到命令行模式。
按键 | 含义 |
:w | 将编辑的数据保存到文件中 |
:w! | 若文件属性为“只读”时,强制写入该文件 |
:q | 退出 vi |
:q! | 强制退出不保存文件 |
:wq | 保存后退出 vi |
:w filename | 将编辑的数据保存成另一个文件 |
/word | 向下寻找一个名称为 word 的字符串 |
? word | 向上寻找一个名称为 word 的字符串 |
n | n 为按键,代表重复前一个查找的操作 |
N | N 为按键,与 n 相反,为“反向”进行前一个查找操作 |
:n1,n2s/wordl/word2/g | 在第 n1与 n2 行之间寻找 word1 字符串,并替换为 word2 |
:1,$s/word1/word2/g | 全文查找 word1 字符串,并将该它替换为 word2 |
:set nu | 光标到第一行的行首 |
文本修改常用键
按键 | 功能 |
x | 删除光标所在位置上的字符 |
dd | 删除光标所在行 |
n+x | 向后删除 n个字符包含光标所在位置 |
n+dd | 向下删除 n行内容,包含光标所在行 |
yy | 将光标所在行复制 |
n+yy | 将从光标所在行起向下的 n行复制 |
n+yw | 将从光标所在位置起向后的 n个字符串(单词)复制 |
p | 将复制(或最近一次删除)的字符串(或行)粘贴在当前光标所在位置 |
u | 撤销上一步操作 |
. | 重复上一步操作 |
总结
vi 编辑器的三种工作模式之间的转换如下。命令行模式一输入模式:i,I,a,A
输人模式一命令行模式:Esc
命令行模式一末行模式: :
模式转换示意图上表所示,从示意图中可以看出,输入模式和末行模式之间不能直接转换,必须先转换到命令行模式,再由命令行模式转换到末行模式
gcc编译
预编译 test.c 程序,将预编译结果输出到 test.i
gcc -E test.c -o test.i
编译 test.i文件,编译后生成汇编语言文件 test.s
gcc -s test.i -o test.s
将汇编语育文件 test.s 转换为目标序 test.o
gcc -c test.s -o test.o
将目标程序 test.o连接成可执行文件 test
gcc test.o -o test
编译优化
运行代码时间减短
gcc example.c -o example优化后
gcc -o2 example.c -o example
优化前
优化后
其中,time命令的输出结果由以下 3 部分组成:
real: 程序的总执行时间,包括进程的调度、切换等时间。
user:用户进行执行的时间。
sys: 内核执行的时间。
文件名自动补全
没打完的时候直接按Tab键就完事了
相关文章:

Ubuntu Linux操作
引言 晚上上课发现桌子上遗留了这本书,水课就看了看学习下,以下内容直接总结知识点 磁盘内存解析 (1)硬盘有数个盘片,每个盘片两个面,每个面一个磁头。 (2)盘片被划分为多个扇形区域即扇区。 (3)同一盘片不同半径的同心圆为磁道。 (4)不同盘片相同半径…...

MongoDB常用语句(CURD)
文章目录 一、数据库操作二、集合操作三、文档操作3.1 插入文档3.2 查询文档3.3 更新文档3.4 删除文档 四、安全认证4.1 创建管理员账号4.2 创建应用数据库用户4.3 启动和连接 (校验方式) 提示:以下是本篇文章正文内容,MongoDB 系列学习将会持续更新 一…...

一篇文章让你彻底学会--节流(并且自己可以手写)
Hi,有的小伙伴们在面试的时候会被要求手写节流函数,很多都被难着了吧,宝贝,那你你没有理解节流函数。 今天,就让我带你攻克它! 1.节流 单位时间内,事件触发,最多只执行一次事件回调。 人话:说…...
C++ 形参是类的指针 class * 通过new的方式创建对象
当你在C中使用类指针(class *)作为函数的形参,并通过 new 关键字创建对象时,这种用法确实会改变类对象的值。原因是你通过指针传递了对象的内存地址,而不是传递对象本身。这意味着在函数内部对对象的任何修改都会直接影…...

手把手教你将项目部署到服务器!
一、导入centos7虚拟机: 打开VMWare,点击“打开虚拟机”,选择centos7.ova之后,选择存储路径: 点击导入: 选择“不再显示此消息”,点击“重试”按钮: 点击“编辑虚拟机设置”&#x…...

OpenHarmony应用开发-ArkUI方舟开发框架简析
方舟开发框架(简称ArkUI)为OpenHarmony应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界…...

【Transformer系列(4)】Transformer模型结构超详细解读
前言 前一篇我们一起读了Transformer的论文《Attention Is All You Need》,不知道大家是否真的理解这个传说中的神(反正俺是没有~) 这两天我又看了一些视频讲解,感谢各位大佬的解读,让我通透了不少。 这篇文章就和…...

Idea启动运行报错:Error:java: 无效的源发行版: 13
最近在做Springboot项目时,常常出现上述错误,小编也不知道怎么回事,到网上找了这个方面的解决办法,但是却发现根本解决不了,最终通过小编多次尝试,终于发现,为什么会报这个错误。(应该是Java版本…...
【元分析研究方法】学习笔记1.形成问题
步骤1 形成问题 该步骤的作用该步骤中需要注意的问题该步骤中部分知识点我的收获 参考来源:库珀 (Cooper, H. M. )., 李超平, & 张昱城. (2020). 元分析研究方法: A step-by step approach. 中国人民大学出版社. 这章内容很简单:①变量的刻画&#x…...
2023年3月 青少年软件编程(Python) 等级考试试卷(五级)
一、单选题(共25题,共50分) 1.已知一个列表lst [2,3,4,5,6],lst.append(20),print(lst)的结果是?(C)(2分) A.[10,2,3,4,5,6,20] B.[20,2,10,3,4,5,6] C.[2,3,4,5,6,20] D.[2,3,4,5,…...

必须要知道的hive调优知识(上)
Hive数据倾斜以及解决方案 1、什么是数据倾斜 数据倾斜主要表现在,map/reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其…...
什么是Cache Aside Pattern与延迟双删
Cache Aside Pattern是一种常用的缓存设计模式,用于在应用程序中使用缓存提高系统性能的同时,避免缓存与数据库数据不一致的情况出现。延迟双删是Cache Aside Pattern的一种优化,可以进一步提高系统性能。 以下是关于Cache Aside Pattern和延…...

frp 流量特征
frp 流量特征 非常明显的明文流量特征...

Unity --- UGUI(Unity Graphical user interface)--- Canvas画布
1.UI --- User Interface --- 使用者与机器之间的交互界面 1.所谓的自适应系统指的是分辨率的适应: 比如在一个分辨率下做的UI放到另一个分辨率下显示时,如果没有自适应系统的话就会导致UI过大,过小,被辟成一半等等情况ÿ…...

c++积累6-内联函数
1、说明 内联函数是c为提高程序运行速度所做的一项改进。 2、常规函数运行 编译的可执行程序:由一组机器语言指令组成。 程序执行: 1、操作系统将这些指令载入到内存,每条指令都有一个特定的内存地址 2、计算机逐步执行这些指令 3、如果有…...
ESP32学习笔记13-MCPWM主要用于无刷电机驱动
16.MCPWM 16.1概述 ESP32 有两个 MCPWM 单元,可用于控制不同类型的电机。每个单元都有三对PWM输出 每个 A/B 对可由三个定时器定时器 0、1 和 2 中的任何一个计时。 同一定时器可用于为多对PWM输出提供时钟。 每个单元还能够收集输入,例如,检测电机过电流或过电压,以及获得…...
MyBatis-plu 和 JPA 对比
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 MyBatis-plu 和 JPA 前言一、说下相同点二、差异点一、从实现来说:CURD实现方式不一样二、分页上三、雪花id四、伪删除五、子类排除父类的字段 总结 前言 提示&…...
一文详解Python中多进程和进程池的使用方法
这篇文章将介绍Python中多进程和进程池的使用方法,并提供一些实用的案例供大家参考,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下 目录 Python是一种高级编程语言,它在众多编程语言中,拥有极高的人气和使用率。…...

前端部署发布项目后,如何通知用户刷新页面、清除缓存
以下只是一些思路,有更好的实现方式可以留言一起交流学习 方式一:纯前端 在每次发布前端时,使用webpack构建命令生成一个json文件,json中写个随机生成的一个字符串(比如时间戳),每次打包程序都…...

项目上线|慕尚集团携手盖雅工场,用数字化推动人效持续提升
过去十年,中国零售业以前所未有的速度被颠覆、被重塑,数字化则是其中重要的推动要素。 随着数字化转型的深入,零售企业的数字化不再局限于布局线上渠道,且更关乎其背后企业核心运营能力的全链路数字化改造。而贯穿于运营全链路的…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...

【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...

企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...