走进linux
1、为什么要使用linux
稳定性和可靠性:
Linux内核以其稳定性而闻名,能够持续运行数月甚至数年而不需要重新启动。这对于服务器来说至关重要,因为它们需要保持长时间的稳定运行,以提供持续的服务
安全性:
Linux系统的安全性得到了广泛认可。开源的自然属性使得漏洞可以很快被发现和修复,从而降低了受到安全威胁的风险
资源利用效率:
Linux在资源管理方面表现出色,可以高效地利用服务器硬件资源,使得服务器能够同时处理大量的请求
开源和免费:
Linux是开源的,因此不需要为操作系统本身付费。这使得它在经济上具有明显的优势,特别是对于企业或组织需要部署大量服务器的情况
Linux文件目录结构
- linux的存储结构是树形结构
- 以一个一个的目录来挂在根目录下
- linux是没有盘符概念的,linux一切皆文件
- linux的目录层级是以右上左下的斜杠来表示‘
- wndows是以左上右下的斜杠来表示
- 每个用户都有自己的家目录,在/home/用户名

| / | 根目录,每个目录的起点,所有的目录都在根目录下 |
| home | 创建的用户都会在home下有自己的目录 |
| root | root也就是管理员用户,保存管理员的个人信息 |
| bin | 以前二进制文件,现在是脚本目录 |
| sbin | 高级命令启动停止类似于进程的启动和停止 |
| etc | 环境变量 |
| var | 日志 |
| opt | 装软件,软件的安装包 |
| tmp | 临时文件,会自动清除的,重要文件不要放在该目录 |
2、Linux常用命令
所有命令格式:命令本身+选项+参数
command: 命令本身 -options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节 parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等
2.1、文件操作命令:
| 命令本身 | 选项 | 参数 | 命令作用 |
| pwd | 无 | 打印当前所在目录 | |
| ls | -a,-l | 打印当前所在目录的所有文件和目录,-a是all -l是list | |
| cd | 目录,~, . | 进入到参数的目录中 | |
| mkdir | -p | 目录 | 创建新的目录 -p是创建多级目录 |
| touch | 文件 | 创建文件 | |
| cp | -r | 目录 | 复制所选文件到目录, -r是递归复制整个目录的所有文件 |
| rm | -r,-f | 文件,目录 | 删除文件或目录 -r是递归删除目录的所有文件,-f强制删除 |
| mv | 文件,目录 | 移动或重命名文件, | |
| cat | -n | 文件 | 查看文件的所有内容,-n是显示文件的行号 |
| tail | -n ,-f | 文件 | 输出尾部内容,-n是输出n行数据,-f是实时监控 |
| more | 文件 | 查看文件,支持查找和分页查看 |
2.2、文本编辑相关
在命令行界面下,最常用的文本编辑器就是Vi/Vim。其中Vi 是 Linux操作系统中最通用的文本编辑器。 Vim编辑器是Vi的增强版,相较于Vi,提供了代码高亮等功能。两者用法完全兼容。下面介绍Vim的用法。
Vim模式介绍
Vim文编辑器有不同的工作模式,在不同模式下,可执行不同的操作,主要模式有
-
普通模式(Normal Mode):用于删除、复制、粘贴等基本操作。
-
编辑模式(Insert Mode):用于编辑文本。
-
命令行模式(Command Mode):用于执行命令,如保存、退出等。

当用vim命令打开文件时,文件不存在时,自动创建
vim的命令模式,输入:或/进入命令模式 /+文本进行查找,输入n进行查找下一个,N为上一个
set nu 和set nonu 显示和取消行号
vim常用命令:
| 快捷键 | 快捷键含义 |
| yy | 复制当前行 |
| dd | 删除当前行 |
| p | 粘贴 |
| 命令模式:命令 | 命令含义 |
| :wq | 保存并退出 |
| /文本 | 全文进行查找内容 |
| :set nu | 显示行号 |
| :set nonu | 取消显示行号 |
:s/old/new/g` | 将所有的old内容换成new内容 |
2.3、文件权限相关
Linux中的所有文件均有严格的访问权限控制,只有当用户拥有某个文件的相关权限时,才可对文件执行相关操作
文件的权限:分为读(read)写(wirte)执行(execute)
权限字符串:
在Linux系统中,文件和目录的权限用一组字符来表示,通常以rwxr-xr--的形式呈现,其中r、w、x分别表示读、写和执行权限。以下是权限字符的含义:
-
第1-3位确定属主(该文件的所有者)拥有该文件的权限。
-
第4-6位确定属组(所有者的同组用户)拥有该文件的权限。
-
第7-9位确定其他用户拥有该文件的权限。
常用命令
| 命令 | 命令含义 |
| chmod(change mode) | 修改文件或目录权限 |
| chown(change owner) | 修改文件或目录的所有者 |
示例 :chmod [选项] [u/g/o/a][+/-/=][r/w/x] 文件或目录
-
修改文件使其所属主用户具有执行权限
[root@localhost ~]# chmod u+x hello.cfg
-
修改文件使其所属组用户具有执行权限
[root@localhost ~]# chmod g+x hello.cfg
-
修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@localhost ~]# chmod u-x,o+x hello.cfg
示例:chown [选项] 用户[:用户组] 文件或目录
-
修改文件所有者
[root@localhost ~]# chown atguigu helle.cfg
-
递归改变文件所有者和所有组
[root@localhost ~]# chown -R atguigu:atguigu hello/
2.4、进程相关
操作系统中正在运行的一个程序称为一个进程。
| 命令 | 选项 | 命令含义 |
| ps | -a -u -x | -a显示所有进程,-u以友好方式打印,-x显示后台进程 |
| ps | -e -f | -e显示所有进程,-f显示详细信息 |
| kill | -9 | 终止程序 -9代表强制终止 |
2.5、压缩解压打包相关
zip/unzip可用于压缩和解压缩zip文件
| 命令 | 选项 | 参数 | 命令含义 |
|---|---|---|---|
| zip | -r | 压缩包名,文件 | 压缩文件为压缩包,存储到当前目录,-r为压缩目录 |
| unzip | -d | 压缩包 | 解压缩到当前目录,-d为解压到指定目录 |
| tar | -c,-x,-f | 文件 | 对文件进行打包,-c打包,-x解包,-f命名 |
基本语法
打包:tar [选项] -c -f 包名 文件1 文件2 文件3 ...
解包:tar [选项] -x -f 包名 -C 指定目录
2.6、安装应用相关
2.6.1、rpm离线安装
RPM(RedHat Package Manager),RedHat软件包管理工具,在基于 RedHat 的 Linux 发行版中广泛使用。常见软件包如下Apache-1.3.23-11.i386.rpm,类似于Windows系统中的exe文件
| 命令 | 选项 | 参数 |
|---|---|---|
| rpm | -i,-v,-h | 软件包路径 -i是install安装,-v显示详细信息,-h显示进度 |
| rpm | -q.-a | 查询所有安装的rpm软件包 |
| rpm | -e | 软件包名,-e卸载软件 |
2.6.2、yum在线安装
YUM(全称为 Yellowdog Updater Modified)是一个Linux软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,并且可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装,该功能类似在JAVA中使用Maven工具从远程仓库中下载依赖一样,可以自动处理依赖关系。
基本语法
yum [选项] install 软件包名
| 命令本身 | 选项 | 参数 | 含义 |
|---|---|---|---|
| yum [选项]install 参数 | -y | 软件名 | 在线下载软件,-y是对所有请求都默认yes |
| yum remove | 软件名 | 卸载软件 |
2.7、其他关键的命令
| 命令本身 | 选项 | 参数 | 含义 |
|---|---|---|---|
| grep | -n | 文件 | 从文件中通过关键字过滤关键行,-n在结果中显示行数 |
| wc | -m,-l,-w | 文件 | 统计文件的数据-m字符数,-l行数,-w单词数 |
| echo | 各种文本 | 直接打印文本,若反引号则当命令使用 | |
| | | 管道符,与其他命令进行使用 | ||
| systemctl | 服务 | 用来服务的启用和停止,开机自启等 |
管道符|将符号左边的值作为右边输入,支持嵌套行为
grep "dog" anmals.txt|wc
重定向符:>:将左侧命令的结果,覆盖写入到文件,进行覆盖
>>写入到文件,进行追加
使用管道 ps -ef |grep java |是管道符 将左边输出的数据,当作右边条件的数据源
在使用命令时,若有不知道的选项和参数要进行灵活使用,使用help和man命令查看
灵活使用 命令 --help
man命令 查看命令的完整介绍
3、LINUX的网络
3.1、桥接:虚拟出一个交换机,将虚拟机的虚拟网卡连接到交换机上,共用一个网络,公用同一个DHCP和NAT,所以每次新的连接都会分配不同的IP地址
3.2、NAT:虚拟出一个路由器(DHCP,NAT)创建一个局域网,
虚拟路由器通过主机的物理网卡连接到主机所在的网络
另在主机上虚拟出一个虚拟网卡也加入到这个路由器上,实现同一局域网的相互通信,虚拟机和主机通信。
3.3、仅主机:虚拟出一个路由,但没有NAT,不能连接到主机的网络,只能实现互通
相关文章:
走进linux
1、为什么要使用linux 稳定性和可靠性: Linux内核以其稳定性而闻名,能够持续运行数月甚至数年而不需要重新启动。这对于服务器来说至关重要,因为它们需要保持长时间的稳定运行,以提供持续的服务 安全性: Linux系统…...
智能家居开发新进展:乐鑫 ESP-ZeroCode 与亚马逊 ACK for Matter 实现集成
日前,乐鑫 ESP-ZeroCode 与亚马逊 Alexa Connect Kit (ACK) for Matter 实现了集成。这对智能家居设备制造商来说是一项重大进展。开发人员无需编写固件或开发移动应用程序,即可轻松设计符合 Matter 标准的产品。不仅如此,开发者还可以在短短…...
本地事务和分布式事务
一、本地事务 1、事务的基本特性 数据库事务的几个基本特性:原子性、一致性、隔离性、持久性。 原子性:一系列的操作整体不可拆分,要么同时成功,要么同时失败。 一致性:数据在事务的前后,业务整体一…...
昇思25天学习打卡营第14天|基于MindNLP的文本解码原理
基于MindNLP的文本解码原理 文本解码 文本解码是自然语言处理中的一个关键步骤,特别是在任务如机器翻译、文本摘要、自动回复生成等领域。解码过程涉及将编码器(如语言模型、翻译模型等)的输出转换为可读的文本序列。以下是一些常见的文本解码方法和原理: 1. 自回归解码:…...
Base64文件流查看下载PDF方法-CSDN
问题描述 数票通等接口返回的PDF类型发票是以Base64文件流的方式返回的,无法直接查看预览PDF发票, 处理方法 使用第三方在线工具:https://www.jyshare.com/front-end/61/ 在Html代码框中粘贴如下代码 <embed type"application/pd…...
基于TCP的在线词典系统(分阶段实现)(阻塞io和多路io复用(select)实现)
1.功能说明 一共四个功能: 注册 登录 查询单词 查询历史记录 单词和解释保存在文件中,单词和解释只占一行, 一行最多300个字节,单词和解释之间至少有一个空格。 2.功能演示 3、分阶段完成各个功能 3.1 完成服务器和客户端的连接 servic…...
设置DepthBufferBits和设置DepthStencilFormat的区别
1)设置DepthBufferBits和设置DepthStencilFormat的区别 2)Unity打包exe后,游戏内拉不起Steam的内购 3)Unity 2022以上Profiler.FlushMemoryCounters耗时要怎么关掉 4)用GoodSky资产包如何实现昼夜播发不同音乐功能 这是…...
MySQL零散拾遗
mysql中大小写敏感吗? MySQL数据库默认情况下是不区分大小写的,这意味着在查询时,字段名和值的大小写不会影响结果。然而,这种默认行为可能会根据操作系统和配置的不同而有所变化。 在某些操作系统上,比如Linux&…...
kali安装vulhub遇到的问题及解决方法(docker及docker镜像源更换)
kali安装vulhub: 提示:项目地址 https://github.com/vulhub/vulhub 项目安装: git clone https://github.com/vulhub/vulhub.git 安装docker 提示:普通用户请使用sudo: 首先安装 https 协议、CA 证书 apt-get in…...
开源数字人项目Hallo
硬件条件: gpu最低12G 软件: cuda需支持 Python选择3.10吧,我的版本3.11 源码: GitHub - fudan-generative-vision/hallo: Hallo: Hierarchical Audio-Driven Visual Synthesis for Portrait Image Animation models文件&…...
Linux 命令集
修改主机名/关机/重启 1)hostnamectl 命令 $ hostnamectl # 查看操作系统信息(内核、操作系统发行版本、主机名等) $ hostnamectl set-hostname redhatu8 # 修改主机名2)shutdown 关机 $ shutdown -h now # 马上关机3&#…...
QML 鼠标和键盘事件
学习目标:Qml 鼠标和键盘事件 学习内容 1、QML 鼠标事件处理QML 直接提供 MouseArea 来捕获鼠标事件,该操作必须配合Rectangle 获取指定区域内的鼠标事件, 2、QML 键盘事件处理,并且获取对OML直接通过键盘事件 Keys 监控键盘任意按键应的消…...
WPF引入多个控件库使用
目的 设计开发时有的控件库的一部分符合我们想要的UI样式,另一部分来自另一个控件库,想把两种库的样式做一个整合在同一个控件资源上。单纯通过引用的方式会导致原有样式被覆盖。这里通过设置全局样式的方式来实现。 1.安装控件库nuget包:H…...
【Linux】1w详解如何实现一个简单的shell
目录 实现思路 1. 交互 获取命令行 2. 子串分割 解析命令行 3. 指令的判断 内建命令 4. 普通命令的执行 补充:vim 文本替换 整体代码 重点思考 1.getenv和putenv是什么意思 2.代码extern char **environ; 3.内建命令是什么 4.lastcode WEXITSTATUS(sta…...
单目测距 单目相机测距 图片像素坐标转实际坐标的一种转换方案
需要相机位置固定 原图 红色的点是我们标注的像素点,这些红色的点我们知道它的像素坐标,以及以右下角相机位置为原点的x y 实际坐标数值 通过转换,可以得到整个图片内部其余像素点的实际坐标, 这些红色的点是通过转换关系生成的&…...
ensp防火墙综合实验作业+实验报告
实验目的要求及拓扑图: 我的拓扑: 更改防火墙和交换机: [USG6000V1-GigabitEthernet0/0/0]ip address 192.168.110.5 24 [USG6000V1-GigabitEthernet0/0/0]service-manage all permit [Huawei]vlan batch 10 20 [Huawei]int g0/0/2 [Huawei-…...
【大模型LLM面试合集】大语言模型基础_Word2Vec
Word2Vec 文章来源:Word2Vec详解 - 知乎 (zhihu.com) 1.Word2Vec概述 Word2Vec是google在2013年推出的一个NLP工具,它的特点是能够将单词转化为向量来表示,这样词与词之间就可以定量的去度量他们之间的关系,挖掘词之间的联系。 …...
图论基础概念(详细讲解)
今天,我们讲解一下图论的概念,首先我们知道图是一个什么东西。 图你可以理解成一个网络系统,两个节点之间可能会有边,边链接两个节点,可能是有向(就比如说a只能往b,或者b只能往c),可能是无向&a…...
未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序报错的解决办法
今天在免费云服务器,三丰云上运行c#或python程序,都提示:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序,PHP程序就直接乱码,odbc_connect(): SQL error: [Microsoft][ODBC ���&…...
《从零开始学习Linux》——开篇
前言 近日笔者新开专栏,《从零开始学习Linux》,Linux水深而且大,学了一圈之后,有懂得有不懂的,一直没有机会整体的全部重新捋一遍,本专栏的目的是,带着大家包括我自己重新学习Linux一遍这些知识…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
