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

【Linux】开启你的Linux之旅:初学者指令指南

在这里插入图片描述

Linux相关知识点可以通过点击以下链接进行学习一起加油!

在 Linux 开发中,GDB 调试器和 Git 版本控制工具是开发者必备的利器。GDB 帮助快速定位代码问题,Git 则提供高效的版本管理与协作支持。本指南将简明介绍两者的核心功能与使用技巧,助力提升开发效率。

请添加图片描述
Alt
🌈个人主页:是店小二呀
🌈C语言专栏:C语言
🌈C++专栏: C++
🌈初阶数据结构专栏: 初阶数据结构
🌈高阶数据结构专栏: 高阶数据结构
🌈Linux专栏: Linux

🌈喜欢的诗句:无人扶我青云志 我自踏雪至山巅 请添加图片描述

文章目录

  • 一、知识铺垫
    • 1.1 如何登入账号
    • 1.2 关于创建和删除普通账号
    • 1.3 操作系统概念(OS)
    • 1.4 Xshell相关快捷键
    • 1.5 文件
      • 1.5.1 文件占用内存(内存≠大小)
    • 1.6 路径
      • 【问题与答案】
    • 1.7 .与..用法
      • 1.7.1 隐藏文件
      • 1.7.2 .当前用法
      • 1.7.3 ..当前用法
  • 二、常见指令介绍
    • 2.1 pwd指令
    • 2.2 cd指令
    • 2.3 家目录
    • 2.4 whoami指令
    • 2.5 重新认识指令
      • 2.5.1 安装和卸载行为含义
    • 2.6 which指令
    • 2.7 alias指令
    • 2.8 ls指令
    • 2.9 touch指令
    • 2.10 stat指令与文件ACM时间
    • 2.11 mkdir指令(重要)
    • 2.12 tree指令
    • 2.13 rmdir指令(重要)
    • 2.14 rm指令
    • 2.15 man指令(重要)
    • 2.16 cp指令(重要)
    • 2.17 mv指令(重要)
    • 2.18 *通配符
    • 2.19 nano指令

一、知识铺垫

1.1 如何登入账号

首先输出ssh 用户名@公网IP ,跳出SSH用户身份验证输入密码即可。SSH(Secure Shell,安全外壳)是一种网络协议,通过加密和认证机制实现安全访问和文件传输等业务。

在这里插入图片描述

1.2 关于创建和删除普通账号

windows,Linux属于多用户操作系统

添加普通账号的步骤(如果创建成功就会出现@)

  1. adduser 用户名
  2. passwd(密码) 用户名(输入密码时,是不显示密码的)
  3. passwd命令用于更改设置用户密码

删除普通账号的步骤:userdel -r 用户名@

1.3 操作系统概念(OS)

操作系统是一款进行软硬件资源管理的软件,对于Linux是一款具体的操作系统的一个品类,而centos7 是一款具体的Linux操作系统,计算机是一个工具,被人使用的工具。

在这里插入图片描述

操作系统的作用】:

在这里插入图片描述

  1. 提供了人机交互接口,在早期计算机使用者使用计算机的时候,面对一大堆的硬件进行操作,通过硬开关进行控制,操作系统可以避免直接操作硬件带来的麻烦,这也是操作系统最大的功能
  2. 提供了计算机软硬件资源管理
  3. 对下操作系统提供了基本的管理工作,让多种硬件处于一个稳定、高效、安全的工作环境
  4. 对上(运用软件)提供了一个稳定、高效、安全的运行环境(用户的目的)

1.4 Xshell相关快捷键

  1. Alt + 回车】:全屏

  2. Ctrl + D】:退出

  3. ctrl+insert】:复制(如果不行,打开Fn配合使用)

  4. shift+insert】:粘贴

  5. 这里不支持ctrl c和ctrl v快捷键

1.5 文件

当在电脑上进行操作时,实际上是通过操作系统来控制文件和文件夹。操作系统提供了图形用户界面(GUI)和命令行界面(CLI),让你可以方便地浏览、创建、删除、移动和修改文件和文件夹。比如我们的桌面实际上是一个文件夹,存储了在桌面上看到的所有文件和快捷方式。

桌面属于文件夹

当你登入windows进行如下操作:

  1. 确定你是谁
  2. 根据用户名,找到改用户名目录下的“桌面文件夹”
  3. 将桌面文件夹显示成为图形化界面

在这里插入图片描述

1.5.1 文件占用内存(内存≠大小)

在这里插入图片描述

文件虽然显示大小是0KB,但是同样会占用内存。由于【文件=文件属性+文件内容】,这里显示的时间、类型和文件名等都属于文件属性(对应的数据是字符串之类,同样占用内存),对此文件属性是数据,并且也是需要保存。

对此未来对文件的任何操作,无外乎就是对文件的属性和内容进行操作。这里操作可以通过指令控制文件,编程访问文件的内容。

1.6 路径

文件路径是用来指定文件或文件夹在计算机文件系统中的位置的,路径分为绝对路径和相对路径。

以下这些都称为路径,不同在于它们的路径分隔符

//Linux下:
[root@iZ7xv21eg69v0bihv6nnufZ 111]# pwd
root/111//Windows下:
D:\C—language\C++\string模拟实现   

两个路径分隔符之间,一定是一个文件夹,而路径最末端,一定是一个普通文件或者文件夹 (这里的文件夹通常叫做目录,但是一个目录中可以有文件,也可以有目录)

  • /】:Linux下路径分隔符

  • 【\】:windows下路径分隔符

【问题与答案】

1.【为什么要有路径?

路径是系统层标识一个特定的文件,路径分为绝对路径和相对路径,在Linux的整个文件目录结构是一个多叉树,属于树状结构

在这里插入图片描述

根据树状结构,从中可以知道每个孩子(子文件)都只有一个父目录,这也导致了路径必须具有唯一性 ,最开始的目录称为根目录

2.【为什么要找到目标文件?

访问任何文件之前,都必须先找到这个文件,为了找到这个目标文件,所以需要使用到目录

1.7 .与…用法

1.7.1 隐藏文件

无论是在Linux下还是在Windows下,都有隐藏文件存在。

【Windows下隐藏文件】

在这里插入图片描述

【Linux下隐藏文件】

在这里插入图片描述

关于查看Linux目录中隐藏文件,我们需要使用ls -l或ll指令进行查看,该指令作用是更详细罗列目录下所有子目录和文件信息,而ls -la是列出目录下的所有文件,包括以 . 开头的隐含文件。任何目录下,都会默认具有两个隐藏目录.和…

1.7.2 .当前用法

在这里插入图片描述

.两种用法】:

  1. 可以表示当前路径
  2. 指定执行当前目录下的一个可执行文件,表示明确该文件在该目录下,可以直接执行该可执行文件

1.7.3 …当前用法

在这里插入图片描述

在这里插入图片描述

【…用法】:

  1. 表示上级路径,可以方便我们进行路径的回退。毕竟不光要进去,也要可以出来

价值体现

在Linux的整个文件目录结构是一个多叉树,是属于树状结构的,那么可以灵活地使用…返回上一级路径配合相对路径和绝对路径进行在Linux的整个文件目录下就行游走。

二、常见指令介绍

前言Linux的指令和与之对应的常用选项很多,那么下面是一些常见的使用,下列大约有二十个指令,一开始记不住,之后忘不掉,不用死背指令,见多就记住了。这里介绍途中会混合一些小指令,知道如何使用和作用即可,附加一些周边知识,接下来将正式开始。

2.1 pwd指令

语法】:pwd

功能】:显式用户当前所在的目录

在这里插入图片描述

2.2 cd指令

Linux系统中,磁盘上的文件和目录被组成一颗目录树,每个节点都是目录或文件。

在这里插入图片描述

  • 语法】:cd 目录名(不是文件名)

  • 功能】:改变工作目录,将当前工作目录改变到指定目录下

  • 返回上级目录】:cd …
  • 以绝对路径跳转目录】:cd /home/litao/linux/
  • 以相对路径跳转目录】:cd …/day02/
  • 进入用户家目】:cd ~
  • 返回最近访问目录】:cd -

【cd ~ 使用介绍】

作用】:

  • 跳转到我们最近一次所处的路径下,这有助于我们是实现处理两个路径的快速切换

在这里插入图片描述

cd - 使用介绍

作用】:

  • 进入用户家目录

2.3 家目录

家目录(Home Directory)是操作系统为每个用户分配的一个专用目录,用于存储该用户的个人文件、配置文件和数据

windows中的用户默认的家目录

  • C:\Users\用户名

Linux下指定用户的家目录

  • 对于root账号:默认的家目录/root—>超级管理员账号

  • 对于普通用户:默认的家目录/home/新建的用户名

关于以上两点,任何一个用户,首次登录所处的路径都是自己的家目录,关于这点可以使用whoami指令查看当前正在使用Linux系统的用户名

2.4 whoami指令

在这里插入图片描述

whoami指令查看当前正在使用Linux系统的用户名,在# 表达的时候,经常说我们在XXX路径下【“我们” -whoami】。

2.5 重新认识指令

目前阶段来说指令的本质都是程序。指令、程序、可执行程序都是一回事,并且也是文件。

2.5.1 安装和卸载行为含义

安装和卸载就是把可执行程序拷贝/删除到系统路径下

在这里插入图片描述

2.6 which指令

which指令要求系统打印出我所制定的指令名称在系统中所在路径位置

在这里插入图片描述

那么我们可以根据which指令,得到ll和ls -l指令之间存在某种关系。

2.7 alias指令

alias也是一个Linux指令,给其他命令起一个别名。

目前不建议大家使用该指令为其他指令取别名,由于目前指令接触不多,很容易导致混乱。

在这里插入图片描述

在这里插入图片描述

关于--color == auto(auto可省略),这里就是是否带上颜色。

在这里插入图片描述

2.8 ls指令

在这里插入图片描述

  • 语法】:ls [选项] [目录或文件]
  • 功能】:对于目录,该命令列出该目录下的所有子目录于文件。对于文件,将列出文件名以及其他信息

常用选择】:主要掌握-d -l -a选项,剩下有需要记

  • [-a ]:列出目录下的所有文件,包括以 . 开头的隐含文件。
  • [-d ]:将目录象文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录
  • [-i ]:输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
  • [-k ]:以 k 字节的形式表示文件的大小。 ls –alk 指定文件
  • [-l] :列出文件的详细信息。
  • [-n] :用数字的 UID,GID 代替名称。 (介绍 UID, GID)
  • [-F ]:在每个文件名后附上一个字符以说明该文件的类型, “*”表示可执行的普通文件; “/”表示目录; “@”表示符号链接; “|”表示FIFOs; “=”表示套接字(sockets)。(目录类型识别)
  • [-r ]:对目录反向排序。
  • [-t ]:以时间排序。
  • [-s] :在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • [-R ]:列出所有子目录下的文件。 (递归)
  • [-1 ] :一行只输出一个文件。

2.9 touch指令

在这里插入图片描述

  • 语法】:touch [选项]… 文件…
  • 功能】:touch命令参数可改变文档或目录的时间,包括存储时间和更改时间,或者新建一个不存在的文件

常用选项】[有需要记]:

  • -a 或–time=atime或–time=access或–time=use只更改存取时间。
  • -c 或–no-create 不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m 或–time=mtime或–time=modify 只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间

2.10 stat指令与文件ACM时间

可以使用stat指令进行查看,文件或目录的不同时间戳

在这里插入图片描述

  1. Access Time (atime)】:文件最后一次被访问(读取)的时间。
  2. Modify Time (mtime)】:文件内容最后一次被修改的时间。
  3. Change Time (ctime)】:文件元数据(如权限)最后一次被修改的时间。

2.11 mkdir指令(重要)

在这里插入图片描述

  • 语法】:mkdir[选项] dirname…
  • 功能】:在当前目录下创建一个名为"dirname"的目录

常用选项】:

  • [-p (parent )] :可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后系统将自动建立好那些尚不存在的目录,**既一次性建立多个目录。**如果没有添加-p选项,就不能一次性建立多个目录。

在这里插入图片描述

2.12 tree指令

tree命令用于以树状图形式显示文件和目录的层次结构

如果使用tree指令,出现报错可能就是该指令没有安装。如果以后有指令需要安装使用,可以通过百度等搜索引擎进行查找

在这里插入图片描述

安装tree指令

在这里插入图片描述

这里输入安装指令时,会弹出yes/no。想要一步到位,可以直接条件-y,那么安装指令yum -y install tree,以下属于安装过程。

在这里插入图片描述

tree指令使用

在这里插入图片描述

2.13 rmdir指令(重要)

rmdir是一个与mkdir相对应的命令,mkdir是建立目录,而rmdir是删除指令。

  • 语法】:rmdir [-p] [dirName]
  • 适用对象】:具有当前目录操作权限的所有使用者
  • 【功能】:只能删除空目录
  • 常用选项】:[-p ]当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

非空目录不可删除

在这里插入图片描述

感觉这个指令有点鸡助呀,所以我们更加喜欢下面这个指令,相对于rmdir指令来说的说

2.14 rm指令

语法】:rm[-f-i-r-v] [dirName/dir]

适用对象】:所用使用者

功能】:删除文件或指令,rm指令可以同时删除文件或指令

常用选项】:

  • -f 即使文件属性为只读(即写保护),也是直接删除。强制意味
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

使用举例

在这里插入图片描述

  • 如果是root账号,对于超级管理员来说,这里会温馨地提示你是否要删除。
  • 如果是普通账号,那么你删除是没有提示的,因为主不在乎。

常见使用

rm指令通常使用-f和-r配合,-f是强制的、确定的意识,-r是递归式删除,组合起来就是rm -rf强制递归删除,典型的删库跑路好指令。

注意事项

这里不要在根目录下随意地执行rm -rf指令,删除了就是删除了,系统会奔溃的,在windows相当于C盘删除了。一旦不确定的目录或文件,宁可备份,不可删除。

在这里插入图片描述

2.15 man指令(重要)

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man,有啥不懂可以问这个男人

man手册安装】 (普通账号需要sudo)

  • [yum -y install man]:如果手册不全, yum update更新现有和新的软件包(如果不行,就输入下面指令)
  • [yum -y install man-pages]:这条命令会安装 man-pages 软件包,它包含了很多额外的手册页,覆盖了更多的命令和函数的文档。

语法】: man [选项] 命令

常用选项】 :

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节找
  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
  • 可以通过↑↓键进行滑动阅读

在这里插入图片描述

解释一下,面手册分为8章

  • [1] 是普通的命令,可执行程序
  • [2 ]是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文
    件)
  • [3 ]是C语言库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
  • 5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
  • 6 是给游戏留的,由各个游戏自己定义
  • 7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
  • 8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

这里主要知道1,2,3号手册,重要的是2号手册,在之后再提及。这里手册是通过C语言 + 汇编写的,关于C++,java,python相关的知识不能使用man手册,就算查找关于C语言相关知识也不推荐,man手册跟版本属于强相当使用手册的时候,同时注意man手册不全。

在这里插入图片描述

手册从第一章开搜索,找到对应章节就会停下,由于Linux存在printf命令,那么将在第一章就会停下来,如果需要打印出C语言库中printf函数,可以使用num选项制定章节查找man 3 printf这里printf和C语言中printf函数实现类似功能,但是底层是毫无关系的

在这里插入图片描述

2.16 cp指令(重要)

语法】:cp [选项] 源文件或目录(src) 目标文件或目录(dst)

功能】:复制文件或目录

说明】:

  • cp指令用于复制文件或目录
  • 带路径的文件名】:拷贝到指定目录,顺便进行重命名,src、dst都可以携带绝对或者相对路径进行拷贝。
  • 如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的[所有文件或目录]复制到此目录中。
  • 若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会有出现错误信息

在这里插入图片描述

在这里插入图片描述

常用选项】:

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在,
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

复制目录

在这里插入图片描述

cp -fr 可用于强制递归复制文件或目录,但目标目录必须存在。建议在使用之前确保目标目录已经创建。

该路径不可重命名

在Linux系统使用cp(复制命令)复制目录时,常出现错误cp:omitting directory "dir (dir是需要复制的目录名称),是因为dir目录下存在其他目录或文件存在,不可只使用cp命令实现复制操作;

在这里插入图片描述

2.17 mv指令(重要)

mv指令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录

语法】:mv [选项] 源文件或目录(src) 目标文件或目录

功能】:视mv命令中第二个参数类型不同(是目标文件还是目标目录),mv命令将文件重命名并剪切或将其移至一个新的目录中

三种使用场景】:

1.【在指定的目录下,对一个文件或者目录进行重命名

  • mv test.txt log.txt 将test.txt改名成为log.txt

2.【将指定目录下的文件或者目录,‘剪切’到指定的目录下

  • mv /mydir .(当前目录) [mv src path/]

3.【不仅仅要剪切,我还要剪切的同时,顺便进行一下重命名

  • mv mydir /111dir [mv src path/newname]

存在同名文件

Linux中同一个目录下,不允许存在同名文件,那么mv同名文件时,会询问是否需要覆盖。

在这里插入图片描述

常用选项】:

  • -f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

2.18 *通配符

***表示一个通配符,匹配任意文件名或路径的一种特殊符号,可以用来表示多个文件或目录。**在命令中使用通配符可以方便地操作多个文件或目录,特别是在复制、移动或删除文件时非常有用。

  • [h* x] :表示匹配任意数量的h,后面跟着一个 x,h可能出现零次或多次。
  • [h.*x] :表示匹配以h开头,以 x 结尾

在这里插入图片描述

2.19 nano指令

nano指令是一个简单易用的文本编辑器。(yum -y nano)

在这里插入图片描述

如何快速地写出代码】:

  1. nano 源文件.c
  2. ctrl x退出
  3. [y]+ [Enter回车] 确定退出
  4. gcc code.c gcc编译
  5. ./a.out 在当前路径执行可执行文件中程序(打印函数printf("Linux");)
  6. cat code.c #本质是显式打印文件内容

在这里插入图片描述


在这里插入图片描述

以上就是本篇文章的所有内容,在此感谢大家的观看!这里是Linux笔记,希望对你在学习Linux旅途中有所帮助!

相关文章:

【Linux】开启你的Linux之旅:初学者指令指南

Linux相关知识点可以通过点击以下链接进行学习一起加油! 在 Linux 开发中,GDB 调试器和 Git 版本控制工具是开发者必备的利器。GDB 帮助快速定位代码问题,Git 则提供高效的版本管理与协作支持。本指南将简明介绍两者的核心功能与使用技巧&…...

Vite 6.0 发布:引领现代前端开发新方向

Vite 6.0 带来了大量更新与优化,旨在简化开发流程、提升性能,并解决现代 Web 开发中的诸多挑战。本次更新引入了 实验性环境 API 和现代化的工具链,进一步巩固了 Vite 作为开发者首选工具的地位。以下是关于新特性、生态发展以及重要更新的全…...

深入了解阿里云 OSS:强大的云存储解决方案

在现代互联网应用中,数据存储是一个不可忽视的环节。随着数据量的不断增长,传统的存储方式已经无法满足高速、低成本、大容量的需求。阿里云 OSS(对象存储服务)作为一种高性能、低成本且具备高度扩展性的云存储服务,已…...

canvas绘制网络地址图片

canvas在绘制网络地址图片时,需要先下载成临时路径 export function downLoadBgImg (url) {return new Promise((r,j) > {uni.downloadFile({url,success : res > {if (res.statusCode 200) {r(res.tempFilePath);return;};j(依赖文件下载失败);},fail : er…...

《DSL-FIQA》论文翻译

《DSL-FIQA: Assessing Facial Image Quality Via Dual-Set Degradation Learning and Landmark-Guided Transformer》 原文链接:DSL-FIQA: Assessing Facial Image Quality via Dual-Set Degradation Learning and Landmark-Guided Transformer | IEEE Conference…...

【Linux网络编程】第四弹---构建UDP服务器与字典翻译系统:源码结构与关键组件解析

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【Linux网络编程】 目录 1、UdpServer.hpp 1.1、函数对象声明 1.2、Server类基本结构 1.3、构造函数 1.4、Start() 2、Dict.hpp…...

【人工智能】人工智能,深度学习与人工神经网络

人工智能 人工智能一、定义与核心要素二、主要方法与技术三、应用领域四、发展前景与挑战五、分类六、研究目标与价值 深度学习定义与核心思想网络结构工作原理关键技术与模型应用领域发展与挑战 人工神经网络一、定义与原理二、基本特性三、网络结构四、工作原理五、应用领域六…...

嵌入式系统应用-LVGL的应用-平衡球游戏 part2

平衡球游戏 part2 4 mpu60504.1 mpu6050 介绍4.2 电路图4.3 驱动代码编写 5 游戏界面移植5.1 移植源文件5.2 添加头文件 6 参数移植6.1 4 mpu6050 4.1 mpu6050 介绍 MPU6050是一款由InvenSense公司生产的加速度计和陀螺仪传感器,广泛应用于消费电子、机器人等领域…...

Linux网络编程之---多线程实现并发服务器

下面我们来使用tcp集合多线程实现并发服务器 一.服务端 #include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <pthread.h>typedef struct sockinfo {char ip[16];unsigne…...

架构师的英文:Architect

中文版 软件架构师 的英文是 “Software Architect”。 Software: 软件Architect: 架构师&#xff0c;通常指的是设计和规划某种系统或结构的人。 Software Architect 通常负责软件系统的整体设计、技术选型、架构规划&#xff0c;确保系统的可扩展性、可维护性和高效性等。…...

量化交易系统开发-实时行情自动化交易-8.7.文华平台

19年创业做过一年的量化交易但没有成功&#xff0c;作为交易系统的开发人员积累了一些经验&#xff0c;最近想重新研究交易系统&#xff0c;一边整理一边写出来一些思考供大家参考&#xff0c;也希望跟做量化的朋友有更多的交流和合作。 接下来会对于文华平台介绍。 文华财经…...

【前端】JavaScript 中的创建对象模式要点

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;对象属性值中的引号规则&#x1f4af;对象属性换行与尾随逗号的使用&#x1f4af;工厂模式&#xff1a;灵活高效的对象创建&#x1f4af;自定义构造函数&#xff1a;通过…...

鸿蒙NEXT元服务:论如何免费快速上架作品

【引言】天下武功&#xff0c;唯快不破。 本文讨论如何免费且以最快速度上架自己的作品。 作者以自己从零开始到提交发布审核一共俩小时的操作流程分享给大家作参考。 【1】立项选择 结论&#xff1a;元服务&#xff0c;单机&#xff0c;工具类&#xff08;非游戏&#xff…...

hive3.1.3安装及基本例子

前提要安装好hadoop环境和mysql。 1、下载并解压 https://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz 下载bin包到/app/src中。 cd /app/src/ tar zxvf apache-hive-3.1.3-bin.tar.gz mv apache-hive-3.1.3-bin /app/hive2、配置path nano /etc…...

【设计模式】工厂方法模式 在java中的应用

文章目录 1. 引言工厂方法模式的定义 2. 工厂方法模式的核心概念工厂方法模式的目的和原理与其他创建型模式的比较&#xff08;如简单工厂和抽象工厂&#xff09; 3. Java中工厂方法模式的实现基本的工厂方法模式结构示例代码&#xff1a;创建不同类型的日志记录器 4. 工厂方法…...

【热门主题】000079 服务器虚拟化:开启高效计算新时代

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【热…...

软考高项经验分享:我的备考之路与实战心得

软考&#xff0c;尤其是信息系统项目管理师&#xff08;高项&#xff09;考试&#xff0c;对于众多追求职业提升与专业认可的人士来说&#xff0c;是一场充满挑战与机遇的征程。我在当年参加软考高项的经历&#xff0c;可谓是一波三折&#xff0c;其中既有成功的喜悦&#xff0…...

【小白学机器学习38】用np.random 生成各种随机数,随机数数组/序列

目录 0 总结 np.random() 的一些点 1 用np.random.random() 生成[0,1) 区间内的随机数 2 生成指定范围内的随机整数/数组 np.random.randint() 3 用np.random.choice()生成指定数组范围内的随机数 3.1 np.random.choice(array6) 3.2 np.random.choice(array6) &#xff0…...

Scala的数组匹配模式

package Test32//匹配&#xff1a;数组&#xff1a;元素的个数 元素的特征 object Test4 {def main(args: Array[String]): Unit {val arr1 Array(1, 2, 3)val arr2 Array(0, 2, 3)val arr3 Array(1, 2, 3, 4)val arr4 Array(-1, 1, 2, 3, 4)val b: Any arr1b match {ca…...

力扣【算法学习day.50】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非…...

C 语言学习的经典书籍有哪些?

学习C语言的理由 C语言是一种程席设计语言&#xff0c;它是由美国AT&T公司贝尔实验室的Dennis Ritchie于1972年发明的。C语言之所以流行&#xff0c;是因为它简单易用。学习C语言的几个理由如下&#xff1a; (1)C、C#和Java使用一种被称为面向对象程序设计(0bject-Orient…...

数据结构——栈

目录 栈的介绍 一、栈的基本概念 1.1 栈的定义 1.2 栈的常见基本操作 二、栈的顺序存储结构 2.1 栈的顺序储存 2.2 顺序栈 2.3 共享栈 三、栈的链式储存结构 3.1 链栈 3.2 链栈的进出栈操作 四、栈的应用 4.1实现斐波那契数列 一、栈的基本概念 1.1 栈的定义 栈…...

开发系统准备与开发环境配置总结

开发前系统配置及环境搭建 系统配置0 Github打不开、速度慢怎么办1 WSL、Linux、Ubuntu、Docker都是什么鬼2 在Windows下安装WSL和Ubuntu3 配置MySQL4 配置Redis并启动服务5 Docker&#xff08;Windows和Ubuntu下&#xff09;6 Nginx 系统配置 你好&#xff01; 这是你第一次使…...

bash: jstack: command not found【jps、jstack、jmap、jstats 命令不生效解决】

JVM 系列文章传送门 初识 JVM&#xff08;Java 虚拟机&#xff09; 深入理解 JVM&#xff08;Java 虚拟机&#xff09; 一文搞懂 JVM 垃圾回收&#xff08;JVM GC&#xff09; 深入理解 JVM 垃圾回收算法 一文搞懂 JVM 垃圾收集器 JVM 调优相关参数 JVM 场景面试题【强烈…...

两数之和问题——c语言

声明&#xff1a; 以下是我在leetcode上面刷题的两数之和问题&#xff0c;如涉及侵权马上删除文章 声明&#xff1a;本文主要用作技术分享&#xff0c;所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险&#xff0c;并遵循相关法律…...

《沉积与特提斯地质》

《沉积与特提斯地质》为中国地质调查局主管&#xff0c;中国地质调查局成都地质调查中心&#xff08;西南地质科技创新中心&#xff09;主办的地学类学术期刊。 《沉积与特提斯地质》创刊于1981年&#xff0c;创刊名为《岩相古地理研究与编图通讯》&#xff0c;后更名为《岩相…...

全面解析 C++ STL 中的 set 和 map

C 标准模板库&#xff08;STL&#xff09;中的关联式容器以其强大的功能和高效性成为开发者解决复杂数据组织问题的重要工具。其中&#xff0c;set 和 map 是最常用的两类关联容器。本篇博客将从基本特性、底层实现、用法详解、高级案例以及性能优化等多个角度&#xff0c;详细…...

【RL Application】语义分割中的强化学习方法

&#x1f4e2;本篇文章是博主强化学习&#xff08;RL&#xff09;领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对相关等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅…...

MySql:Centos7安装MySql

目录 安装之前&#xff0c;清除MySql残留文件 下载MySql的官方yum源 安装MySql 服务 MySql配置 常见问题 本次安装基于Centos7&#xff0c;平台为云服务器&#xff0c;由XShell软件演示。 注意&#xff0c;请将用户切换为Root用户。 安装之前&#xff0c;清除MySql残留文…...

数据结构-散列函数的构造方法

一.数字关键词 关键词存储应该尽可能的离散 直接定址法:利用线性函数,例如上面的例子,h(key)key-1990,key1990&#xff0c;这个就被存放在0的位置 数字分析法:关键字可能有很到位组成,每一位变化可能都不一样&#xff0c;有的位是不变的,就是说不同的对象这一位都是一样的,有的…...

MySQL:DDL数据定义语言

DDL(Data Definition Language)&#xff0c;数据定义语言 对数据库的常用操作 查看所有数据库 语法&#xff1a;show databases; 创建数据库 dbname&#xff1a;用户自己定义的数据库名称。 语法&#xff1a;create database [if not exists] dbname [charsetutf8]; 切换…...

【落羽的落羽 C语言篇】指针·之其五

文章目录 一、冒泡排序二、qsort排序1. qsort使用指南2.回调函数3. qsort函数的模拟实现 一、冒泡排序 冒泡排序的核心思想就是&#xff1a;两两相邻的元素进行比较和交换。 现在&#xff0c;我们想编写一个函数&#xff0c;使它能够运用冒泡排序的原理&#xff0c;由小到大排…...

Java程序员最新场景面试题总结

上周&#xff0c;在与部门业务伙伴&#xff08;BP&#xff09;的交谈中&#xff0c;我了解到当前求职市场的一个显著现象&#xff1a;她在招聘平台上发布的初级后端岗位每日吸引了超过500份简历的投递。这一现象凸显了Java后端岗位竞争的激烈程度&#xff0c;尤其是在这个技术日…...

平衡性能与隐私:解读Google的服务器端标记

在当前数字化时代&#xff0c;企业需要深入洞察用户行为&#xff0c;以提高网站转化率。然而&#xff0c;随着用户对隐私保护的期待日益提高以及相关法规的收紧&#xff0c;如何兼顾性能与隐私成为了一大挑战。为了解决这一问题&#xff0c;Google推出了服务器端标记&#xff0…...

在云上怎么样让环境更加安全?

随着云计算的普及&#xff0c;越来越多的企业和组织将其应用迁移到云端。在这个过程中&#xff0c;安全性成为了一个不可忽视的重要因素。华为云作为全球领先的云服务提供商&#xff0c;致力于为用户提供安全可靠的云环境。本文九河云将探讨在华为云上如何增强环境的安全性。 …...

分布式实验一

Socket编程作业&#xff1a; 在Linux系统上&#xff0c;用C编两个程序&#xff1a;Client和Server。两个进程间利用socket进行TCP通信。 要求&#xff1a; Server进程运行后&#xff0c;输出本进程所在主机IP地址以及正在监听的端口号&#xff1b; Client进程运行后&#xff0c…...

网络安全防护指南

网络安全防护指南 网络安全是指保护网络系统中的硬件、软件及数据不受偶然或恶意原因而遭到破坏、更改或泄露&#xff0c;确保网络系统连续可靠地正常运行。随着互联网的普及和技术的发展&#xff0c;网络安全问题日益严峻&#xff0c;对个人、企业和国家都构成了巨大威胁。因…...

DreamCamera2相机预览变形的处理

最近遇到一个问题&#xff0c;相机更换了摄像头后&#xff0c;发现人像角度顺时针旋转了90度&#xff0c;待人像角度正常后&#xff0c;发现 预览时图像有挤压变形&#xff0c;最终解决。在此记录 一人像角度的修改 先放示意图 设备预览人像角度如图1所示&#xff0c;顺时针旋…...

【Go 基础】channel

Go 基础 channel 什么是channel&#xff0c;为什么它可以做到线程安全 Go 的设计思想就是&#xff1a;不要通过共享内存来通信&#xff0c;而是通过通信来共享内存。 前者就是传统的加锁&#xff0c;后者就是 channel。也即&#xff0c;channel 的主要目的就是在多任务间传递…...

长安汽车嵌入式面试题及参考答案

数据结构中的堆栈和编程中的堆栈有什么区别&#xff1f; 在数据结构中&#xff0c;堆栈是一种抽象的数据类型。它遵循后进先出&#xff08;LIFO&#xff09;的原则。从操作角度来看&#xff0c;有入栈&#xff08;push&#xff09;和出栈&#xff08;pop&#xff09;操作。例如…...

理解Linux的select、poll 和 epoll:从原理到应用场景

I/O 多路复用并不是什么新东西&#xff0c;select 早在 1983 年就出现了&#xff0c;poll 在 1997 年&#xff0c;epoll 是 2002 年的产物。面试题总爱问“多路复用多厉害&#xff1f;”其实它就是把轮询的锅甩给了操作系统&#xff0c;而操作系统不过是用 CPU 指令帮你完成事件…...

(一)Linux下安装NVIDIA驱动(操作记录)

目录 一、查看CUDA版本 1.输入nvidia-smi&#xff0c;查看驱动支持的最大CUDA版本&#xff0c;这里是11.6 2.输入nvcc --version&#xff0c;查看当前安装的CUDA版本&#xff0c;这里是11.3 二、卸载旧的NVIDIA驱动 1.卸载原有驱动 2.禁用nouveau&#xff08;必须&#x…...

二分法篇——于上下边界的扭转压缩间,窥见正解辉映之光(2)

前言 上篇介绍了二分法的相关原理并结合具体题目进行讲解运用&#xff0c;本篇将加大难度&#xff0c;进一步强化对二分法的掌握。 一. 寻找峰值 1.1 题目链接&#xff1a;https://leetcode.cn/problems/find-peak-element/description/ 1.2 题目分析: 题目要求返回数组内…...

移动机器人课程建图实验-ROSbug汇总

问题1描述 $ rosrun robot_state_publisher robot_state_publisher [ERROR] [1733131886.474757207]: [registerPublisher] Failed to contact master at [localhost:11311]. Retrying...解决方案 这个错误信息表明 robot_state_publisher 节点无法联系到 ROS master。通常&…...

记录vite关于tailwindcss4.0-bate4出现margin[m-*]、padding[p-*]无法生效的问题。

环境如下&#xff1a; vite:5.4.10 tailwindcss: 4.0.0-beta.4 tailwindcss/vite: 4.0.0-beta.4 4.0默认的样式优先级比较低 如果使用了一些reset的css文件 那么很多样式会失效 例如&#xff1a;reset.css中 html, body, ul, li, h1, h2, h3, h4, h5, h6, dl, dt, dd, ol, i…...

WPF+MVVM案例实战与特效(三十)- 封装一个系统日志显示控件

文章目录 1、运行效果2、日志控件封装1、文件创建2、DisplayLogPanel.xaml 代码3、DisplayLogPanel.cs 代码4、数据模型5、枚举类型3、自定义控件使用1、LogPanelWindow.xaml2、LogPanelViewModel.cs4、总结1、运行效果 2、日志控件封装 1、文件创建 打开 Wpf_Examples ,在 …...

redis中jedis和lettuce pool的区别,那个更好,使用范围更广

在 Redis 的 Java 客户端中,Jedis 和 Lettuce 是两种最常用的客户端库,它们都支持连接池(JedisPool 和 Lettuce Connection Pool),但在设计和特性上有显著差异。下面我将详细对比它们的特点,帮助你更好地选择适合的库。 1. 同步 vs 异步 Jedis:是一个 同步 的 Redis 客…...

调试openai 星河大模型的记录:用tcpdump和ngrep抓包

在调试esp32开发板连星河大模型的时候&#xff0c;用requests连星河&#xff0c;怎么也调不通&#xff0c;想通过抓包&#xff0c;看看openai和自己写的到底有啥不一样。 结论&#xff1a;抓包抓到的太多&#xff0c;而且ssl 已经把一些信息都处理过了&#xff0c;看不到报文的…...

树莓派明明安装了opencv和numpy,却找不到

当然不止树莓派&#xff0c;配置python环境都可能存在这个问题 可能是因为安装的 numpy 或者 opencv 版本与 Python 的包路径不匹配。下面是问题的常见原因及解决方法&#xff1a;【方法一和二优先考虑】 原因分析 多版本 Python 环境冲突&#xff1a; 树莓派上可能有多个版本…...

【C++boost::asio网络编程】有关异步读写api的笔记

异步读写api 异步写操作async_write_someasync_send 异步读操作async_read_someasync_receive 定义一个Session类&#xff0c;主要是为了服务端专门为客户端服务创建的管理类 class Session { public:Session(std::shared_ptr<asio::ip::tcp::socket> socket);void Conn…...