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

Linux -初识 与基础指令1

博客主页:【夜泉_ly】
本文专栏:【Linux】
欢迎点赞👍收藏⭐关注❤️

在这里插入图片描述

文章目录

  • 📚 前言
  • 🖥️ 初识
    • 🔐 登录 root用户
    • 👥 两种用户
    • ➕ 添加用户
    • 🧑‍💻 登录 普通用户
    • ⚙️ 常见用户操作
  • 📝 基础指令1
    • 1️⃣ pwd
    • 2️⃣ ls
    • 3️⃣ touch/mkdir
    • 4️⃣ cd
    • 5️⃣ rm

📚 前言

终于开始学Linux了,我先买了个华为云的云服务器,装的Ubuntu:
在这里插入图片描述

又下载了Xshell。
然后就可以开始正式的学习了!

🖥️ 初识

🔐 登录 root用户

  • 打开 Xshell
    在这里插入图片描述

  • 输入 ssh + 空格 + root@ + 公网IP
    在这里插入图片描述

  • 第一次登录会跳出下面这段,点击 接受并保存
    在这里插入图片描述

  • 然后输密码,点击确定
    在这里插入图片描述

  • 只要提示 Welcome... ,说明登录成功
    在这里插入图片描述
    在这里插入图片描述

👥 两种用户

在Linux中,只有两种用户:

  • 第一种是超级用户,也叫 root 用户,这种用户拥有系统最高权限,可以执行任何操作
  • 第二种是普通用户,这种用户。。就是很普通,权限有限,常用于日常操作和开发

我们学的时候用哪种呢?
用普通用户
如上图,如果你是 root 用户,你又执行了著名的 删库跑路 命令,那完了,你可以重装系统了。
(顺带一提,我在购买服务器后,不到十分钟就重装了系统,因为我一登陆就 rm -rf /* 了🤣)
而普通用户权限有限,所以相对比较安全。
接下来看看怎么添加用户,需注意,root用户只有一个,因此这里添加的全是普通用户:

➕ 添加用户

添加用户:

  • adduser + 空格 + 用户名
    在这里插入图片描述

  • Enter 后,会让我们输入密码:
    在这里插入图片描述

  • 输入密码时,并不会显示我们输的是什么。
    不过别担心,它会要求再输入一次进行确认:
    在这里插入图片描述

    • 如果输错了也会有提示:
      在这里插入图片描述
    • 此时选择y会重复上面的步骤:
      在这里插入图片描述
  • 输好密码,会提示设置用户信息,我就先全 Enter 了:
    在这里插入图片描述

  • 输好信息,会要求确认信息是否正确:
    在这里插入图片描述

  • Y 确认,然后会返回到一开始的位置:
    在这里插入图片描述

如果尝试添加重名用户,会添加失败:
在这里插入图片描述

🧑‍💻 登录 普通用户

此时,用户添加成功,我们再来看看怎么访问。

  • 首先,还是打开Xshell:
    在这里插入图片描述

  • 之前是输入 ssh root@公网IP
    现在是输入 ssh 用户名@公网IP
    在这里插入图片描述

  • Enter 后,会提示输入密码,
    此时输入刚刚设置的密码就行,
    最后点击确认:
    在这里插入图片描述
    出现 Welcome... 说明登录成功。

⚙️ 常见用户操作

更改用户密码

  • passwd + 空格 + 用户名
    在这里插入图片描述

删除用户

  • userdel + 空格 + 用户名
    在这里插入图片描述
    删除成功不会有提示,
    删除失败会有提示。

📝 基础指令1

在浅浅了解了。。好像也没了解什么。。。
就如前文演示的一样,Linux主要是以纯命令行的形式操作的,
虽然Linux也有图形化界面,但是和windows有命令行一样,不常用。
因此我们想要掌握Linux操作,就需要学习Linux的指令。
我们先回到开头:
在这里插入图片描述

1️⃣ pwd

来到一个陌生的环境,我们得先清楚我们在哪儿:

  • pwd
    

    在这里插入图片描述

    pwd 指令可以告诉我们目前所在的位置:
    在这里插入图片描述
    在这里插入图片描述

    这个/root就是当前所在的目录,这个可以和windows的进行一个对应,就是下图红色箭头指的那个:
    在这里插入图片描述

2️⃣ ls

现在我们知道了在哪儿,还得知道这里有啥吧:

  • ls [] 
    

    ls指令可以告诉我们这里有什么:
    在这里插入图片描述
    em。。只有个snap。
    在这里插入图片描述

    对应windows,差不多就是红框里的东西:
    在这里插入图片描述

    不过别急,Linux有的指令后面是可以加选项的,这个选项可以让指令更加灵活。
    比如这里,加个 -a,就可以列出所有文件,包括 . 开头的隐藏文件

    • ls -a
      
      在这里插入图片描述
      这个隐藏文件window也有:
      在这里插入图片描述

    而加个 -l ,则可以显示更详细的信息:

    • ls -l
      

      在这里插入图片描述
      对应windows:
      在这里插入图片描述

    选项也可以混合使用

    • ls -la
      或者:
      ls -al
      
      在这里插入图片描述

3️⃣ touch/mkdir

在windows中,添加新的文件和目录只需要点击右键,然后新建。
而Linux中,需要使用指令来完成操作:

  • touch [] 文件名
    mkdir [] 目录名
    

    在这里插入图片描述
    可以用刚刚学的ls -l看看是否添加成功:
    在这里插入图片描述
    在这里插入图片描述

    也可以使用 tree 打印:
    在这里插入图片描述
    不过可能提示未安装,这时根据提示安装就行:
    在这里插入图片描述
    然后会跳出一堆东西,这里省略,直接看看 tree 有什么用:
    在这里插入图片描述
    在这里插入图片描述
    打印当前目录的树形结构,挺好玩的。

    而目录也可以递归创建,大概就像这样:

    • mkdir -p 目录名/目录名/目录名
      

      看看效果:
      在这里插入图片描述
      在这里插入图片描述

      如果目录存在,沿着目录创建
      如果不存在,创建新的
      总之就是弄出一条你想要的路径

4️⃣ cd

现在可以创建目录了,那怎么进去呢,windows下双击就行,这里同样还是指令:

  • cd [] 路径
    

    选项是什么呢?
    别急,先看看我们的现在的路径有什么:
    在这里插入图片描述

    我们再去 dir1 目录,这个直接cd加目录名就行:

    • cd 目录名
      

      在这里插入图片描述
      在这里插入图片描述

      看看路径:
      在这里插入图片描述
      再看看这里有啥:
      在这里插入图片描述
      可以看见,每个目录下都有两个奇怪的东西,一个是 .,还有一个是 .. 。因为这是Linux每个目录下都会有的两个隐藏文件。
      简单讲:. 表示当前目录。 .. 表示当前目录的上级目录。

    • ls -d
      

      ls 的 选项 d ,用来显示当前目录自身
      搭配l,显示详细信息:
      在这里插入图片描述

    • cd ..
      

      而 cd ..可以返回上级目录:

      在这里插入图片描述
      在这里插入图片描述

      类似于在windows下的这个:
      在这里插入图片描述

      一直cd ..,会来到Linux文件系统的根目录 /
      在这里插入图片描述

      • 根目录管了很多东西,可以简单看看:
        在这里插入图片描述
        在这里插入图片描述

      cd 后可以加绝对路径(就是贼长的那种),规定从根目录 / 开始
      在这里插入图片描述
      但一般会用相对路径,这种是以当前所处路径作为起始参考位置,来进行特定文件的定位。
      在这里插入图片描述
      这里还有两个比较有意思的选项: ~ -

    • cd ~
      

      ~ 可以进入用户家目录,root用户是 /root
      在这里插入图片描述
      在这里插入图片描述

      普通用户是 /home/用户名
      在这里插入图片描述
      在这里插入图片描述

    • cd -
      

      -可以让我们回到上一次所处的目录
      比如我们从一个很深的位置~到了/root,再一个 - 就能回去
      在这里插入图片描述
      在这里插入图片描述

5️⃣ rm

现在我们已经知道了如何创建文件,但万一我们建错了呢?
因此来看看怎么删除吧
先回到 /root:
在这里插入图片描述
看看有什么:
在这里插入图片描述

试试删dir1,与创建目录的指令mkdir对应,删除目录可以用rmdir

  • rmdir 目录名
    

    在这里插入图片描述
    如果目录不空,会删除失败。
    在这里插入图片描述

    如果删的不是目录,也会删除失败。

因此,一般用的不是rmdir,用的是rm:

  • rm [] 文件名/目录名
    

    试试删文件:
    在这里插入图片描述
    删除成功,不会有提示(有的系统可能会有提示),并且linux没有回收站,所以删了就是删了。
    在这里插入图片描述
    在这里插入图片描述

    试试删目录:
    在这里插入图片描述
    不能直接删。

    • rm -r
      

      可以添加选项 -r ,递归删除该目录中的所有东西。

    • rm -i
      

      同时也可以搭配选项 -i ,提示删的是什么:
      在这里插入图片描述
      在这里插入图片描述
      试试删snap,虽然我到现在也不知道这是什么
      在这里插入图片描述
      在这里插入图片描述
      cd .. 来到根目录,试试删root 和 home。。额。。好像也直接删了
      在这里插入图片描述
      在这里插入图片描述
      登录了一下小号,发现家没了🤣:
      在这里插入图片描述
      最后试试删除 /
      在这里插入图片描述
      终于提示删除不成功了,此时,可以加个选项 -f ,不询问,直接删

    • rm -rf /
      

      如果还不行,那就再加个 *,最终变为我们熟悉的 rm -rf /*
      之后就是愉快的刷屏环节,再之后你会发现几乎刚刚学的所有指令都失效了:
      在这里插入图片描述
      如果有其他人也在用这台服务器,他们也会发现几乎所有指令都失效了:
      在这里插入图片描述

      并且,如果退出,你会发现你再也连不上了:
      在这里插入图片描述

怎么办!?
此时,云服务器的好处体现出来了!
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


希望本篇文章对你有所帮助!并激发你进一步探索编程的兴趣!
本人仅是个C语言初学者,如果你有任何疑问或建议,欢迎随时留言讨论!让我们一起学习,共同进步!

相关文章:

Linux -初识 与基础指令1

博客主页:【夜泉_ly】 本文专栏:【Linux】 欢迎点赞👍收藏⭐关注❤️ 文章目录 📚 前言🖥️ 初识🔐 登录 root用户👥 两种用户➕ 添加用户🧑‍💻 登录 普通用户⚙️ 常见…...

页的初步认识

关于准备 我们在之前的学习中,已经学习了相当一部分有关段的知识,CPU提供了段的机制来给我们的内存进行保护,但实际上我们在x86下的段base是0,实际上并没有偏移 两种分页模式 我们有两种分页模式,29912分页和101012…...

[C++]:IO流

1. IO 流 1.1 流的概念 在C中,存在一种被称为“流”的概念,它描述的是信息流动的过程,具体来说就是信息从外部输入设备(比如常见的键盘)传输到计算机内部(像内存区域),以及信息从内…...

Excel如何批量导入图片

这篇文章将介绍在Excel中如何根据某列数据,批量的导入与之匹配的图片。 准备工作 如图,我们准备了一张员工信息表以及几张员工的照片 可以看到,照片名称是每个人的名字,与Excel表中的B列(姓名)对应 的卢易…...

TCP socket api详解

文章目录 netstat -nltpaccept简单客户端工具 telnet 指定服务连接connect异常处理version 1 单进程版version 2 多进程版version 3 -- 多线程版本version 4 ---- 线程池版本 应用-简单的翻译系统服务器细节write 返回值 客户端守护进程化前台和后台进程的原理Linux的进程间关系…...

《C++搭建神经网络基石:开启智能编程新征程》

在人工智能的璀璨星空中,神经网络无疑是最为耀眼的星座之一。而 C以其卓越的性能和高效的执行效率,成为构建神经网络模型的有力武器。今天,就让我们一同探索如何使用 C构建一个基础的神经网络模型,踏上智能编程的奇妙旅程。 一、…...

if (条件) { return true; } return false; 简写为 return 条件 详解

在 Java 中,将以下代码: if (条件) {return true; } return false;简写为: return 条件;原理 在 Java 中,条件 是一个布尔表达式,它直接返回 true 或 false。所以,if-else 结构中的逻辑判断和返回值的逻…...

Pytorch使用手册-Datasets DataLoaders(专题三)

数据集与数据加载器(Datasets & DataLoaders) 在 PyTorch 中,torch.utils.data.Dataset 和 torch.utils.data.DataLoader 是数据处理的两种核心工具。它们通过模块化的方式,将数据加载与模型训练分离,提高代码的可读性和可维护性。 1. 加载数据集 以 Fashion-MNIST …...

【数据结构】双向链表、单向循环链表、双向循环链表、栈、链栈

目录 一、双向链表 定义类和封装函数以及测试样例如下: 注意事项: 二、循环链表 单循环列表的类和函数封装如下: 注意事项: 三、双向循环链表 结点类和双循环链表的定义部分 函数封装之判空和尾插 双循环链表遍历 双循…...

(动画)Qt控件 QProgressBar

文章目录 QProgressBar1. 介绍一、基本特性二、核心属性 2. 代码实现3. 动画效果 QProgressBar 1. 介绍 QProgressBar是Qt框架中的一个控件,主要用于显示进度条,以图形化的方式表示任务的完成进度或操作的进度。 一、基本特性 显示方向:…...

【AI】基础原理

文章目录 前言1. AI 是如何学习的?2. AI 怎么做决定?3. AI 的“大脑”是什么样的?4. AI 为什么会犯错?5. AI 的不同类型总结:AI 的本质是什么? 前言 人工智能(AI)这个词对很多人来说…...

多模态大型语言模型(MLLM)综述

目录 多模态大语言模型的基础 长短期网络结构(LSTM) 自注意力机制 基于Transformer架构的自然语言处理模型 多模态嵌入概述 多模态嵌入关键步骤 多模态嵌入现状 TF-IDF TF-IDF的概念 TF-IDF的计算公式 TF-IDF的主要思路 TF-IDF的案例 训练和微调多模态大语言模…...

计算机的错误计算(一百六十六)

摘要 探讨 MATLAB 关于算式 的计算误差。 例1. 已知 计算 直接贴图吧: 然而,16位的正确结果为 -0.9765626220703239e-21(ISRealsoft 提供)。这样,MATLAB输出的有效数字的错误率为 (16-2)/16 87.5% . 注&…...

typeof 和 as 关键字

在编程语言中,类型系统是确保代码正确性和可维护性的关键。JavaScript和TypeScript作为现代前端开发的两大支柱,它们在处理类型方面有着不同的机制。本文将探讨typeof和as这两个关键字在JavaScript和TypeScript中的应用,帮助开发者更好地理解…...

Python酷库之旅-第三方库Pandas(237)

目录 一、用法精讲 1116、pandas.tseries.offsets.BusinessHour.is_year_end方法 1116-1、语法 1116-2、参数 1116-3、功能 1116-4、返回值 1116-5、说明 1116-6、用法 1116-6-1、数据准备 1116-6-2、代码示例 1116-6-3、结果输出 1117、pandas.tseries.offsets.Cu…...

git提交到远程仓库如何撤回?

git提交到远程仓库如何撤回? 要撤回已经提交到远程仓库的更改,你可以使用以下步骤: 首先,确保你的本地仓库是最新状态。如果不是,请先执行 git pull 来更新你的本地仓库。 使用 git log 查看提交历史,找到你想要撤回…...

微信小程序常用全局配置项及窗口组成部分详解

微信小程序常用全局配置项及窗口组成部分详解 引言 微信小程序作为一种新兴的应用形态,凭借其轻量级、便捷性和丰富的功能,已成为开发者和用户的热门选择。在开发小程序的过程中,了解全局配置项和窗口组成部分是至关重要的。本文将详细介绍微信小程序的常用全局配置项及窗…...

ThingsBoard规则链节点:Azure IoT Hub 节点详解

目录 引言 1. Azure IoT Hub 节点简介 2. 节点配置 2.1 基本配置示例 3. 使用场景 3.1 数据传输 3.2 数据分析 3.3 设备管理 4. 实际项目中的应用 4.1 项目背景 4.2 项目需求 4.3 实现步骤 5. 总结 引言 ThingsBoard 是一个开源的物联网平台,提供了设备…...

「Mac玩转仓颉内测版32」基础篇12 - Cangjie中的变量操作与类型管理

本篇将深入探讨 Cangjie 编程语言中的变量操作与类型管理,涵盖变量的定义、作用域、类型推断、常量、变量遮蔽、类型转换等方面的知识。通过这些概念的学习,开发者将更好地理解和灵活掌握变量的使用与管理技巧。 关键词 变量定义类型推断常量变量作用域…...

【Android】RecyclerView回收复用机制

概述 RecyclerView 是 Android 中用于高效显示大量数据的视图组件&#xff0c;它是 ListView 的升级版本&#xff0c;支持更灵活的布局和功能。 我们创建一个RecyclerView的Adapter&#xff1a; public class MyRecyclerView extends RecyclerView.Adapter<MyRecyclerVie…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...