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

麒麟系统性能瓶颈分析

1.使用率&#xff0c;表示资源用于服务的时间或容量百分比。100% 的使用率&#xff0c;表示容量已经用尽或者全部时 间都用于服务。 2. 饱和度&#xff0c;表示资源的繁忙程度&#xff0c;通常与等待队列的长度相关。100% 的饱和度&#xff0c;表示资源无法接受 更多的请求。 3…...

Java二分查找+冒泡排序

二分查找在编程中是用来查找目标元素在有序数组中的位置,并返回目标元素的索引 先给定一个有序数组,在创建一个方法来进行二分 主要思想是:根据数组具有下标的特点来分别计算,最左边的索引,以及最右边的索引,在判断目标元素与中间元素的大小,如果目标元素小于中间元素,我们可…...

(三)手势识别——动作识别应用【代码+数据集+python环境(免安装)+GUI系统】

&#xff08;三&#xff09;手势识别——动作识别应用【代码数据集python环境&#xff08;免安装&#xff09;GUI系统】 &#xff08;三&#xff09;手势识别——动作识别【代码数据集python环境GUI系统】 背景意义 随着互联网的普及和机器学习技术的进一步发展&#xff0c;手…...

大数据实战——MapReduce案例实践

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 大数据实战——MapReduce案例实践 一&#xff0e;过程分析&#xff08;截图&#xff09;1. 确定Hadoop处于启动状态2. 在/usr/local/filecotent…...

OpenCV基础(3)

1.图像直方图 1.1.像素统计 计算图像均值&#xff1a; Scalar cv::mean(InputArray src,InputArray masknoArray()); src&#xff1a;输入图像mask&#xff1a;掩膜层过滤 返回值是对输入图像通道数计算均值后的Scalar对象 计算图像均值与方差&#xff1a; void cv::meanSt…...

大语言模型---RewardBench 介绍;RewardBench 的主要功能;适用场景

文章目录 1. RewardBench 介绍2. RewardBench 的主要功能3. 适用场景 1. RewardBench 介绍 RewardBench: Evaluating Reward Models是一个专门用于评估 Reward Models&#xff08;奖励模型&#xff09; 的公开平台&#xff0c;旨在衡量模型在多种任务上的性能&#xff0c;包括…...

泷羽sec-linux

基础之linux 声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团…...

栈、队列、链表

一、栈 1. 定义 栈是一种线性数据结构&#xff0c;遵循后进先出&#xff08;LIFO, Last In First Out&#xff09;的原则。这意味着最后被添加到栈中的元素将会是最先被移除的元素。 2. 基本操作 Push&#xff1a;将一个元素添加到栈顶。Pop&#xff1a;移除并返回栈顶的元…...

【maven】配置下载私有仓库的快照版本

1、setting.xml配置 <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/SETTINGS/1.0.0https://maven.apache.org/xsd/settings-1.0.0.…...

LabVIEW引用类型转换问题

一、问题描述 在LabVIEW中&#xff0c;refnum&#xff08;引用编号&#xff09;用于引用各种资源&#xff0c;如文件、队列、控件等。这些引用是与具体类型相关的&#xff0c;通常情况下&#xff0c;LabVIEW会根据引用的类型自动进行处理。然而&#xff0c;当不同类型的引用需…...