走进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一遍这些知识…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
