Ubuntu Linux操作

news2024/11/17 4:26:34

引言

晚上上课发现桌子上遗留了这本书,水课就看了看学习下,以下内容直接总结知识点

 磁盘内存解析

(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 的字符串
nn 为按键,代表重复前一个查找的操作
NN 为按键,与 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键就完事了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/438561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

制作真人手办有哪些不便?怎么解决?

相信很多朋友都喜欢拍摄写真,比如孩子生日的时候,结婚纪念的时候,写真照片能留存住很多美好的记忆。 不过随着科技的发展,大家已经不能满足只靠照片来记录生活了,越来越多的人开始盯上了手办这件物品。将真人的照片和…

4.5 创建透视表与交叉表

4.5 创建透视表与交叉表 4.5.1利用pivot_table函数可以实现透视表pivot_table函数的常用参数及其说明 4.5.2 使用crosstab函数创建交叉表crosstab函数的常用参数及其说明 4.5.3 任务实现数据完整代码 数据透视表(Pivot Table)是数据分析中一种常用的工具…

018 - C++ 类和结构体中的静态(static)

上一期我们讨论了 C 中的 static 关键字以及它在类或结构体之外的意义。本期我们讨论 static 在一个类或一个结构体中的具体情况。 先了解这些 在几乎所有面向对象的语言中,静态在一个类中意味着特定的东西。这意味着在类的所有实例中,这个变量只有一个…

【c#串口通信从小白到大神(5)】如何打开串口

1、新建一个winform程序 这里以visual studio 2019 社区版为例,关于visual studio 2019 社区版的下载链接请点击这里:如何下载安装visual studio 2019 社区版 第1步、打开visual studio 2019 ,出现下图: 第2步、点击“创建新项目”,如下图: 第3步、选择 “Windows 窗…

深眸科技围绕机器视觉技术,加速实现制造行业生产线智能化升级

工业4.0时代,是以智能制造为代表的第四次工业革命时代。随着人工智能的高速发展,机器视觉作为当前制造业质量控制领域的重要技术之一,在各行各业的应用逐渐广泛,其行业市场需求进一步飙升。据GGII预测,预计2025年&…

openEuler实验-使用Shell脚本实现局域网MAC地址收集和FTP服务监控

linux的简单运用 目录 前言 1. 实验目的 2. 实验内容 3. 实验知识点 4. 实验时长 5. 实验环境 实验分析 部署FTP服务器 1)安装FTP服务 2)查看FTP服务 3)启动FTP服务 4)关闭FTP服务 收集MAC地址 1)修改主…

C++17字符流以及C++11文件流以及IO流

getline() 有时候我们希望在最终的字符串中保留输入时的空白符,这时候应该用getline函数来替代原来的>>运算符。( cin 不能输入包含嵌入空格的字符串)。 getline()函数的参数是一个输入流和一个string对象,原型是&#xf…

threejs的使用

threejs介绍: Three.js是一款基于WebGL的JavaScript 3D库,用于创建和渲染3D图形场景。它提供了一个简单易用的接口,让开发者可以通过JavaScript代码创建出高度交互性和可视化的3D场景。Three.js提供了很多可用的3D对象和材质,例如…

C++ -2- 类和对象(上)| 什么是类

​ 文章目录 1.面向过程与面向对象2.类的引入3.类的定义两种定义方式 4.类的访问限定符5.类的作用域6.类的示例化7.类的对象大小计算8.类成员函数的this指针C语言和C的对比(this指针)空指针的问题 C语言和C实现Stack对比 1.面向过程与面向对象 C:面向过程&#xf…

java获取请求ip的方法

在上篇文章中我们介绍了 java获取请求 ip的方法,那么这篇文章我们就来详细讲解下获取请求 ip的方法。获取请求 ip的方法是基于 HTTP协议的,其原理如下: 1、用 web应用程序,将 web服务器端与客户端通过 HTTP协议通信。 2、客户端发…

LNMP架构和论坛搭建以及一键部署

数据流向 一、Nginx服务安装 1、关闭防火墙 [rootking ~]# systemctl stop firewalld [rootking ~]# systemctl disable firewalld [rootking ~]# setenforce 0 2、将所需软件包拖入/opt目录下 3、安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c make 4、创建运…

Feign快速入门

文章目录 一、Feign1.1 Feign介绍1.2 Feign的使用步骤1.3 Feign的自定义配置1.3.1 配置方法 1.4 Feign的优化 一、Feign 1.1 Feign介绍 Feign是一个Java HTTP客户端,它使开发人员可以轻松地与RESTful API进行交互。Feign使用注释来描述REST API,它还支持…

Springboot整合Junit5

1 SpringBoot整合Junit (一)junit5 介绍 Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库 作为最新版本的JUnit框架,JUnit5与之前版本的Junit框架有很大的不同。由三个不同子项目的几个不同模块组成。 JUnit 5 JUnit Platfo…

音视频开发十九:SDL线程和事件

SDL事件相关API DL_Event 是SDL库中使用的一个数据结构,用于表示系统中发生的事件。一个事件可以是键盘按键、鼠标移动、游戏手柄移动、窗口事件等。SDL_Event 结构包含有关事件类型、事件发生时间和事件参数的详细信息。 SDL_Event 结构具有以下成员:…

[5 种有效方法] 适用于 Android 的通用解锁图案/密码

在当今世界,保护您的密码对于您的文件和数据的安全至关重要,尤其是在第三方应用程序盛行的情况下。为这些应用程序注册帐户不是问题,就像记住它们一样。但是,如果您不知何故忘记了手机密码,您仍然可以在不丢失宝贵数据…

突破规模化运维瓶颈 SREWorks云原生数智运维平台揭秘

作者: 钟炯恩——阿里云大数据基础工程技术团队运维专家 引言 突破规模化运维瓶颈是诸多IT规模增长的企业及组织当前遇到的比较棘手的问题。面对这些问题,多数人的第一反应是上云。但是上云之后我们会发现,即使云上的架构规模增大&#xf…

如何使用DNS实现融合CDN功能

将托管DNS解决方案与CDN配对可为您的网站提供额外的性能、可靠性和灵活性。 域名系统(DNS)是一种用于计算机、服务或连接到Internet或专用网络的任何资源的分层分布式命名系统,它将各种信息与分配给每个参与实体的域名相关联,它基…

ChatGPT 火了,一大批开源平替也来了

ChatGPT 凭一己之力让全球为 AI 沸腾,引发了科技巨头之间的聊天机器人军备竞赛。 众所周知,ChatGPT 的背后技术是 GPT(Generative Pre-trained Transformer)模型。GPT 是一种基于 Transformer 模型的自然语言处理模型,由 OpenAI 公司开发。它…

【elasticsearch部署】

安装elasticsearch 1.部署单点es1.1.创建网络1.2.加载镜像1.3.运行 2.部署kibana2.1.部署2.2.DevTools 3.安装IK分词器3.1.在线安装ik插件(较慢)3.2.离线安装ik插件(推荐)1)查看数据卷目录2)解压缩分词器安…

前端必备的nginx知识点

nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全_java冯坚持的博客-CSDN博客 前端必备的nginx知识点 - 掘金 前言: 最近在做一个后台项目 ngixn简介 nginx是一款轻量级&…