当前位置: 首页 > 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…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

基础测试工具使用经验

背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异&#xff…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...