Linux简单介绍
Linux简单介绍
- 编译器
- VMware虚拟机
- Ubuntu——LinuxOS
- 为什么使用LinuxOS?
- 目录结构
- Windows目录结构
- Linux操作系统
- home是不是家目录?
- Linux常用命令
- 终端
- 命令行提示符与权限切换
- 命令
- tab 作用:自动补全
- 上下箭头
- pwd命令
- ls命令
- mkdir命令
- touch命令
- rm命令
- rmdir命令
- cd命令
- cp的命令
- mv命令
- cat与more
- 关机重启
- Vim编辑器
- gcc编译器
- GDB调试工具
编译器
VMware虚拟机
虚拟出的一个PC机,独立于Windows系统之外的虚拟操作系统。允许用户在单一的物理硬件上运行多个操作系统实例。
Ubuntu——LinuxOS
ubuntu是基于Linux内核的一个完整的操作系统,是Linux发行的版本之一;
不仅包括内核,还包括用户界面、应用程序和管理工具等
位数会影响最大存储和处理速度
为什么使用LinuxOS?
- 嵌入式以应用为中心,以计算机技术为基础,软硬件可剪裁
- Linux代码开源,也就是可剪裁,贴合嵌入式需要
- Linux下一切皆文件
目录结构
Windows目录结构
- Windows目录结构有盘符之分(像倒置的森林)

Linux操作系统
- 一切皆文件(倒置的一棵树)

- 根目录(/):顶层目录
- 绝对路径:一切从根目录开始的路径(/home/linux64/Desktop)
第一个斜杠为根目录,除了第一个斜杆以外的所有斜杠都表示分隔符 - 相对路径:从当前位置开始的路径
- 家目录(~)
home是不是家目录?
- home不是家目录,home之下是用户,并且可以有多个用户,用户之下才是家目录
- 处于家目录之上,普通用户没有操作权限
Linux常用命令
终端
打开终端
快捷键Ctrl+alt+t:打开默认家目录路径的终端
快捷键ctrl+shift+n:打开和当前路径相同的终端
控制终端
Ctrl+shift+(+):放大终端窗口和字体
ctrl+(-):缩小终端窗口和字体
终端输入clear或快捷键ctrl+l:清屏
命令行提示符与权限切换
- 切换普通用户权限和超级用户权限
//普通($)————超级(#)
sudo -i
或sudo su
//超级(#)————普通($)
su - 用户名
用户名@主机名:当前路径$

命令
命令格式
命令 [选项] [参数]
注意:
- []括起来的可以省略 选项:命令的拓展功能; 参数命令需要操作的对象
- 三者之间需要空格隔开
tab 作用:自动补全
- 按一次

- 按两次

上下箭头
上下箭头作用----查看历史命令
pwd命令
显示当前所在的绝对路径
ls命令
- ls命令作用:显示当前路径下的文件
- 所有文件根据颜色分:
蓝色:文件夹;
白色:文件
绿色:可执行文件
淡蓝色:链接文件

man ls //查看ls的帮助文档ls --help //打开ls的帮助文档
直接使用
ls //显示当前目录下的文件和文件夹
显示指定路径下的文件
ls / // /命令用于列出根目录下的所有文件
ls -l //显示当前路径下的文件以及属性

ls -a //显示当前路径下的所有文件(包含隐藏文件),(以.开头的是隐藏文件)(隐藏文件及文件夹是用来保护敏感信息或避免用户误操作的机制)
ls -la //显示所有文件的属性
ls -la 路径 //显示指定路径下的所有文件的属性
mkdir命令
- mkdir命令的作用:创建文件夹(一次可以创建多个)
mkdir 文件夹名

mkdir -p 文件夹名/文件夹名/... //可以创建多级目录,多个层级

touch命令
- 作用:创建空文件(一次可以创建多个)
touch 文件名

rm命令
- 作用:删除文件/文件夹(一次可以删除多个)
rm 文件名
rm -r 文件夹名
rm -ri 文件夹名 //删除文件夹并且会询问你是否要删除
rmdir命令
- rmdir作用:删除空文件(一次可以删除多个)
rmdir 文件夹名

cd命令
- cd作用:切换当前目录到其他目录
cd //直接回到家目录
cd .. //进入上一级目录
cd - //进入上一次操作的路径
cd 绝对路径/相对路径 //进入绝对路径或者相对路径

cp的命令
-
作用:复制文件或文件夹到目标路径下
-
cp -r 作用:用于递归复制目录及其内容另一个位置
cp 源文件 目标文件
cp -r 源文件夹 目标文件
mv命令
- 作用1:移动(移动指定的文件或文件夹到目标路径下)
mv 文件/文件夹 目标文件
- 作用2:重命名(将文件改名)
mv 原文件名 新文件名
cat与more
- cat作用:查看文档内容,适合查看比较短的文档
cat 文件名
- more作用:查看文档内容,适合较长文档
more 文件名
查看较长文档:
- 按space(空格)向下走一页
- 按b向上走一页
- 按enter(回车)向下走一行
- 按q退出
关机重启
sudo reboot //重启
sudo shutdown -h +30 //30分钟之后关机
sudo shutdown -h now //现在关机
Vim编辑器
vim 文件名
(如果文件存在,就进入文件并进行编辑,如果不存在,则创建文件并进入编辑)
编辑器存在的三种模式:
- 命令行模式(默认)
- 插入模式
- 底行模式
三种模式如何转换?
命令行模式——>插入模式 (i)
插入模式——>命令行模式 (esc)
命令模式——>底行模式 (shift+:)
底行模式——>命令行模式 (esc)

底行模式下:
w:保存
q:退出
wq: 保存并退出
q!:强制退出
wq!:保存并强制退出
set nu:显示行号
set nonu:取消显示行号
命令行模式下:
yy:复制
dd:剪贴(剪贴后不粘贴则为删除)
p:粘贴
nyy:复制n行
ndd:删除n行
u:撤销
Ctrl+r:反撤销
gcc编译器
编译:编译为计算机能够识别的二进制文件
法一:
gcc hello.c //这种方式默认生成可执行文件名为a.out
执行可执行文件
./a.out
法二
gcc hello.c -o hello
这种方式生成的可执行文件的名字为指定名字hello
执行可执行文件
./hello
GDB调试工具
调试步骤
- 编译的时候加参数
gcc -g error.c -o error
- 设置断点
b main
b 行号
3.gdb加可执行文件名字
gdb error
- 运行
r 运行
其他参数
n(next) 不进入子函数
s(step) 进入子函数
p(printf) a(要打印的值) 打印出来某一个指定值
c(continue) 可以直接跳出循坏,进入下一步
q(quit) 退出
GDB调试详解
相关文章:
Linux简单介绍
Linux简单介绍 编译器VMware虚拟机Ubuntu——LinuxOS为什么使用LinuxOS? 目录结构Windows目录结构Linux操作系统home是不是家目录? Linux常用命令终端命令行提示符与权限切换命令tab 作用:自动补全上下箭头pwd命令ls命令mkdir命令touch命令rm…...
Servlet 的基本理解
Servlet 是JavaEE规范的一种,主要是为了扩展Java作为Web服务的功能,统一接口。由其他内部厂商如tomcat,jetty内部实现web的功能。如一个http请求到来:容器将请求封装为servlet中的HttpServletRequest对象,调用init()&a…...
JavaScript之applye、bind和call方法详解
Question Q1 apply()、bind()和call()方法的区别在哪? Q2 apply()和call()的应用场景 Q3 apply()、bind()和call()方法手写实现逻辑 来源 继承自Function.prototype,属于实例方法 console.log(Function.prototype.hasOwnProperty(call)) //trueconsole.l…...
Docker,anaconda环境的部署与迁移
功能上线将提上日程,但是如何将我windows环境下的程序放到linux服务器的测试环境跑通呢?这是我这整个清明假期将要解决的一件事,最蠢的办法就是看自己的环境下有哪些依赖,如何到服务器上一个一个下,但是首先这个方法很…...
【大数据运维】Hbase shell 常见操作
文章目录 一. DDL1. 表的DDL1.1. 创建表1.2. 删除表 2. 列族的DDL2.1. 增加一个列簇2.2. 删除列族2.3. 修改列族版本(ing) 二. DML1. 插入与更新数据2. 删除数据3. 清空表 三. DQL1. scan:查一批数据1.1. 查询全部1.2. 过滤rowkey1.3. 过滤列…...
LeetCode-217存在重复的元素
217 存在重复的元素 给定一个整数数组,判断是否存在重复元素。 如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似…...
基于两个单片机串行通信的电子密码锁设计
1.功能 电子号码锁在实际应用中应该有两部分,一部分在外部,有键盘部分和密码显示;另一部分内部,设置密码、显示密码。使用单片机自身带有的串口可以很方便的实现单片机之间的通信,使输入的密码值传送到主机检验是否是…...
产品经理功法修炼(3)之产品设计
点击下载《产品经理功法修炼(3)之产品设计》 1. 前言 产品经理的能力修炼并非局限于某一技能的速成,而是需要全面参与到产品的整个生命周期中,通过不断的实践来逐步提升自己的各项能力。尽管在企业的日常运作中,我们不可能身兼数职去扮演每一个角色,但作为产品的核心负…...
Qt 的发展历史、现状与启示
Qt 最早在1991年由挪威的两位程序员 Eirik Chambe-Eng 和 Haavard Nord 开发,他们在1994年创立 Trolltech 公司(奇趣科技)正式经营软件业务。Qt 的第一个公众预览版于1995年面世,之后在2008年被诺基亚收购;2011年到201…...
Quiet-STaR:让语言模型在“说话”前思考
大型语言模型(llm)已经变得越来越复杂,能够根据各种提示和问题生成人类质量的文本。但是他们的推理能力让仍然是个问题,与人类不同LLM经常在推理中涉及的隐含步骤中挣扎,这回导致输出可能在事实上不正确或缺乏逻辑。 考虑以下场景:正在阅读一…...
【Kotlin】匿名类和伴生类
1 匿名类 1)无继承 fun main() {var obj object {var name: String "zhang"override fun toString(): String {return name}}println(obj) // zhang } 2)有继承 fun main() {var obj object: People {var name: String "zhang"…...
【机器学习算法介绍】(3)决策树
决策树是一种常见的机器学习算法,用于分类和回归任务。它模拟了人类决策过程,通过一系列的问题来引导决策。决策树的构建涉及三个主要步骤:特征选择、树的构建和树的剪枝。 1. 特征选择 特征选择是决策树构建过程中的第一步,目的…...
算法之查找
1、顺序查找: package com.arithmetic.search; //顺序查找 //sequentialSearch 方法接收一个整数数组和一个目标元素作为参数,并使用顺序查找的方式在数组中查找目标元素。 //它通过循环遍历数组元素,逐个与目标元素比较,如果找到…...
LInux脚本学习
1.注释 #单行注释 以 # 字符开头就是单行注释 当然第一行除外,比较特殊 2.多行注释 3.Shell文件的作用 Shell文件就是linux命令集 4.sh脚本的执行方式 bash xxx.sh 5.新建的文件会没有执行权限 #为文件赋予执行权限 chmod ux xxx.sh 6.编写规范 #!/bin/bash #…...
JavaWeb基础(计网 socket 数据库 JDBC lombok Mybatis JUnit Maven)
本文用于检验学习效果,忘记知识就去文末的链接复习 1. 网络基础 1.1 计网基础 区分设备:IP地址 区分网络:网络地址 网络互联:路由器 主机上进程间通信:端口 http是常用的协议,基于TCP协议 TCP VS U…...
【HBase】
什么是HBase HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据。 访问层次(数据…...
Vue3:使用Pinia存储、读取、修改数据
一、存储数据 Pinia插件中,存储数据的配置项是state count.ts import {defineStore} from piniaexport const useCountStore defineStore(count,{// 真正存储数据的地方state(){return {sum:6}} })loveTalk.ts import {defineStore} from piniaexport const use…...
基于 Quartz.NET 可视化任务调度平台 QuartzUI
一、简介 QuartzUI 是基于 Quartz.NET3.0 的定时任务 Web 可视化管理,Docker 打包开箱即用、内置 SQLite 持久化、语言无关、业务代码零污染、支持 RESTful 风格接口、傻瓜式配置、异常请求邮件通知等。 二、部署 QuartzUI 从 2022 年到现在没有提交记录…...
前端三剑客 —— CSS (第三节)
目录 上节回顾: 1.CSS使用有以下几种样式; 2.选择器 1.基本选择器 2.包含选择器 3.属性选择器 [] 4.伪类选择器 : 5.伪元素选择器 ::before :after 3.常见样式的使用 常见样式参考表 一些特殊样式 媒体查询 自定义字体 变换效果 translate&…...
C# 系统学习(异步编程)
在C#中,异步编程是一种优化程序性能的关键技术,特别是在处理I/O密集型操作(如网络请求、数据库查询、文件读写等)时,能够有效避免由于长时间等待而导致的线程阻塞,从而提高应用的响应速度和资源利用率。asy…...
VideoDownloadHelper深度解析:破解主流视频平台下载限制的技术实战
VideoDownloadHelper深度解析:破解主流视频平台下载限制的技术实战 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为无法保存…...
负载均衡器类型与配置
硬件负载均衡器硬件负载均衡器通常由专用设备提供,例如F5 BIG-IP、Citrix ADC等。这些设备提供高性能和稳定性,适合大型企业和高流量场景。软件负载均衡器软件负载均衡器包括Nginx、LVS、HAProxy、Kong和SLB等。它们分为L7层和L4层负载均衡器。L7层负载均…...
TAMI-MPC框架:优化边缘计算中的隐私保护机器学习
1. TAMI-MPC框架设计背景与核心挑战 在边缘计算和物联网设备快速发展的今天,隐私保护机器学习(Privacy-Preserving Machine Learning, PPML)的需求日益凸显。安全多方计算(Secure Multi-Party Computation, MPC)作为PP…...
高效Kolmogorov-Arnold网络:PyTorch实现终极指南 [特殊字符]
高效Kolmogorov-Arnold网络:PyTorch实现终极指南 🚀 【免费下载链接】efficient-kan An efficient pure-PyTorch implementation of Kolmogorov-Arnold Network (KAN). 项目地址: https://gitcode.com/GitHub_Trending/ef/efficient-kan Kolmogor…...
Yeti社区插件生态解析:如何利用现有资源快速扩展平台功能
Yeti社区插件生态解析:如何利用现有资源快速扩展平台功能 【免费下载链接】yeti Your Everyday Threat Intelligence 项目地址: https://gitcode.com/gh_mirrors/ye/yeti Yeti作为一款强大的威胁情报平台(Your Everyday Threat Intelligence&…...
CANN/asc-devkit:设置单核输出形状API
SetSingleOutputShape 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://g…...
【STM32F407 DSP实战】矩阵运算基础:从初始化到加减法与求逆的嵌入式实现
1. 为什么要在STM32F407上实现矩阵运算 在嵌入式开发中,矩阵运算可以说是无处不在。从简单的PID控制到复杂的图像处理算法,都离不开矩阵这个基础数据结构。就拿我最近做的一个四轴飞行器项目来说,姿态解算部分就需要频繁地进行矩阵乘法、求逆…...
智慧交通系统安全漏洞深度解析:从明文传输到固件攻击的防御启示
1. 项目概述:一次对智慧交通“神经末梢”的深度安全审视2014年的DEF CON黑客大会,向来是安全研究的风向标。那一年,IOActive的首席技术官Cesar Cerrudo在台上展示的,不是某个炫酷的软件漏洞,而是一个关于我们每天经过的…...
网络中心性(Centrality)选型指南:从业务问题出发的指标匹配方法
1. 为什么 centrality 不是“算出来就行”,而是网络分析的命脉所在在 R 里敲下centr_degree(g)或closeness(g),几毫秒就出结果——但如果你真以为这就完成了“节点重要性评估”,那大概率会在后续建模、解释或决策中栽跟头。我带过七届数据科学…...
保姆级避坑指南:用STM32CubeMX配置NRF24L01 SPI通信,从硬件连接到软件调试一气呵成
STM32CubeMX实战:NRF24L01无线通信全流程避坑指南 第一次接触NRF24L01模块时,我被它小巧的体积和低廉的价格所吸引,但真正开始调试时才发现这个"玩具级"射频模块藏着不少坑。记得有一次项目交付前夜,模块突然无法通信&a…...
