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中写个随机生成的一个字符串(比如时间戳),每次打包程序都…...

项目上线|慕尚集团携手盖雅工场,用数字化推动人效持续提升
过去十年,中国零售业以前所未有的速度被颠覆、被重塑,数字化则是其中重要的推动要素。 随着数字化转型的深入,零售企业的数字化不再局限于布局线上渠道,且更关乎其背后企业核心运营能力的全链路数字化改造。而贯穿于运营全链路的…...

Java重载 与封装、继承
方法重载 在同一个类中,出现了方法名相同,参数不同的方法时 ,我们叫方法重载 作用:根据不同参数,选择不同方法 实例 public static void main(String[] args){public int add(int a,int b){return ab;}public double…...

sed正则表达式替换字符方法
在 Linux 命令行中,可以使用 sed 命令来替换指定文件中的指定字符。具体方法如下: sed -i s/<old_string>/<new_string>/g <filename>其中,<old_string> 表示要被替换的字符串,<new_string> 表示替…...

不讲废话普通人了解 ChatGPT——基础篇第一课
wx供重浩:创享日记 获取更多内容 文章目录 前言什么是 ChatGPT它是如何工作的ChatGPT 和其它机器人有什么不同 前言 不知道大家在第一次会使用 ChatGPT 并尝试和他对话时有没有感到震惊。当ChatGPT首次推出时,我立即被它的功能所吸引。 曾经在遇到繁杂…...

MATLAB计算气象干旱指标:SAPEI
MATLAB计算干旱指标:SAPEI 标准化前降水蒸散发指数(Standardized Antecedent Precipitation Evapotranspiration Index, SAPEI)1 指数简介1.1 指数计算原理步骤1:计算潜在蒸散发(potential evapotranspiration, PET)步骤2:计算降水和PET的日差1.2 数据资料1.3 拟合分布的…...

GPT对SaaS领域有什么影响?
GPT火了,Chat GPT真的火了。 突然之间,所有人都在讨论AI,最初的访客是程序员、工程师、AI从业者,从早高峰写字楼电梯里讨论声,到村里大爷们的饭后谈资,路过的狗子都要和它讨论两句GPT的程度。 革命的前夜…...

backward()和zero_grad()在PyTorch中代表什么意思
文章目录 问:backward()和zero_grad()是什么意思?backward()zero_grad() 问:求导和梯度什么关系问:backward不是求导吗,和梯度有什么关系(哈哈哈哈)问:你可以举一个简单的例子吗问&a…...

C++多线程编程(一) thread类初窥
多线程编程使我们的程序能够同时执行多项任务。 在C11以前,C没有标准的多线程库,只能使用C语言中的pthread,在C11之后,C标准库中增加了thread类用于多线程编程。thread类其实是对pthread的封装,不过更加好用ÿ…...

Qt QVector 详解:从底层原理到高级用法
目录标题 引言:QVector的重要性与简介QVector的常用接口QVector和std::Vector迭代器:遍历QVector 中的元素(Iterators: Traversing Elements in QVector)常规索引遍历基于范围的for循环(C11及以上)使用STL样…...

快速弄懂RPC
快速弄懂RPC 常见的远程通信方式远程调用RPC协议RPC的运用场景和优势 常见的远程通信方式 基于REST架构的HTTP协议以及基于RPC协议的RPC框架。 远程调用 是指跨进程的功能调用。 跨进程可以理解为一个计算机节点的多个进程或者多个计算机节点的多个进程。 RPC协议 远程过…...

ONVIF协议介绍
目录标题 一、 ONVIF协议简介(Introduction to ONVIF Protocol)1.1 ONVIF的发展历程(The Evolution of ONVIF)1.2 ONVIF的主要作用与优势(The Main Functions and Advantages of ONVIF) 二、 ONVIF协议的底…...