当前位置: 首页 > news >正文

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 文件名

查看较长文档:

  1. 按space(空格)向下走一页
  2. 按b向上走一页
  3. 按enter(回车)向下走一行
  4. 按q退出
关机重启
sudo reboot  //重启
sudo shutdown -h +30  //30分钟之后关机
sudo shutdown -h now  //现在关机

Vim编辑器

vim 文件名

(如果文件存在,就进入文件并进行编辑,如果不存在,则创建文件并进入编辑)

编辑器存在的三种模式:

  1. 命令行模式(默认)
  2. 插入模式
  3. 底行模式

三种模式如何转换?

命令行模式——>插入模式 (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调试工具

调试步骤

  1. 编译的时候加参数
gcc -g error.c -o error
  1. 设置断点
b main
b 行号

3.gdb加可执行文件名字

gdb error
  1. 运行
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 年到现在没有提交记录&#xf…...

前端三剑客 —— CSS (第三节)

目录 上节回顾: 1.CSS使用有以下几种样式; 2.选择器 1.基本选择器 2.包含选择器 3.属性选择器 [] 4.伪类选择器 : 5.伪元素选择器 ::before :after 3.常见样式的使用 常见样式参考表 一些特殊样式 媒体查询 自定义字体 变换效果 translate&…...

C# 系统学习(异步编程)

在C#中,异步编程是一种优化程序性能的关键技术,特别是在处理I/O密集型操作(如网络请求、数据库查询、文件读写等)时,能够有效避免由于长时间等待而导致的线程阻塞,从而提高应用的响应速度和资源利用率。asy…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

MMaDA: Multimodal Large Diffusion Language Models

CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

Python如何给视频添加音频和字幕

在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...