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

Linux 【杂谈】基础知识(一)

前言

本文主要是讲解在Linux指令阶段,一些比较重要的是又比较琐碎的相关知识。

本文对标的是

【Linux 第一讲 --- 基础指令 (一)-CSDN博客】与【Linux 第二讲 --- 基础指令(二)-CSDN博客】中出现的新名词,新概念但又于指令部分关联不深的内容。


 

目录

前言

零、Xshell上的用户管理 

0.1 用户的创建

0.2 用户密码的更改

0.3 用户的删除

userdel 指令

userdel 命令用于删除用户。

0.4 两种用户的区别

演示:

一、文件相关的概念

1.1为啥说文件系统是一颗倒着的多叉树

1.2 啥是通配符*

演示: 

二、关于cd命令的相关概念

2.1绝对路径 VS相对路径

       2.11绝对路径       

        2.12相对路径  

2.2  “/” / . / .. / ~ / - /是啥意思

演示: 

2.3 啥是家目录/根目录

1. 根目录

2. 家目录

三、指令/man手册是什么?

3.1、指令的本质

3.2man手册是啥?

四、Xshell当中的小技巧

4.1 快速终止程序

4.2 快速退出Xshell

4.3 优化Xshell的使用体验

4.4 Xshell的复制粘贴

总结: 


零、Xshell上的用户管理 

0.1 用户的创建

在我们第一次登上Xshell,连接到我们的远端云服务器的时候,我们会自动登陆上Root账号,但是root的权限极大,不方便我们后续的学习,所以我们要创建一个普通用户来完成后续的学习。

首先我们要知道,普通用户是由超级用户来创建,也就是在root用户下创建,root用户可以在操作系统下创建多个普通用户,并对这些用户进行管理

创建普通用户需要的指令是:

adduser指令

用法:adduser 用户名

但在创建完成后,还剩非常重要的一步,那就是为新账号设个密码 

0.2 用户密码的更改

passwd指令

方法:passwd 用户名

 上面的内容需要再次强调的就是输入密码时是不会显现的,不要误以为自己没有成功输入

 当看到successfully的时候,就代表你已经成功创建一个普通用户了,接下来我们可以通过这个用户登上Xshell,链接远程服务器了,开始我们Linux编程之旅了。

演示: 

0.3 用户的删除

userdel 指令

userdel 命令用于删除用户。
  • 基本语法如下:
  • sudo userdel [选项] 用户名
  • -r:同时删除该用户下主目录及其内容。

演示:

由于对于普通用户账号的管理是只有root账号才可以实施的,所以这里执行指令要提升权限。 

0.4 两种用户的区别

Linux下的用户类型

在Linux下用户其实有两种类型:

超级用户(root)和普通用户

超级用户就是我们配置好环境后默认的用户类型,它也叫root用户,而普通用户则是我们在超级用户下自己创建的,因为为了平时学习和工作方便,我们可能需要多个用户身份,就好比Windows下可以创建多个账户一般,而普通用户跟超级用户比是有权限约束问题的,当然这部分权限问题就是到我们的Linux权限再进行详细的讲解。

Linux 第五讲 --- 权限管理-CSDN博客

我们可以用这样一个指令来查看我们当前的身份:

whoami

演示:

这里的hu是普通用户的用户名,是自己创建的,而且一个超级用户可以创建多个普通用户


一、文件相关的概念

1.1为啥说文件系统是一颗倒着的多叉树

Linux的文件系统采用多叉树结构(即每个节点可以有多个子节点)作为其核心组织形式,主要源于这种结构在逻辑清晰性、管理效率实际需求上的天然优势。

其实这个特点在我们学习ls命令时就有所体现,例如使用ls指令时,看似是一个又一个单独的文件,但是实际上我们如果真的将每个文件排列起来,可以发现文件系统的任意一个目录下是存在多个文件的,就像多叉树的某个节点可能会有多个子节点。

 

例如:每个目录下套着目录与文件,而下面的目录与文件又可以这样,最后不就形成一个大的多叉树了吗。

 

1.2 啥是通配符*

这里的通配符*,我们不对它进行详细的概念解析,这里只是介绍如何使用它,

  • 匹配任意字符* 可以代替零个、一个或多个字符。
  • 例如:*.txt 匹配所有以 .txt 结尾的文件(如 file.txtnote.txt)。

  • file* 匹配所有以 file 开头的文件(如 file1file_backup)。

话不多说,下面直接看例子,我们用rm指令做演示

演示: 

1)以*做标识符

2) 

 


二、关于cd命令的相关概念

2.1绝对路径 VS相对路径

在我们使用cd命令进入下一个目录时我们经常会遇到两种截然不同的目录写法。

如下图所示

绝对路径(Absolute Path)和相对路径(Relative Path)是文件系统中用于定位文件或目录的两种不同方式,它们的核心区别在于路径的起点使用场景

       2.11绝对路径       

类型定义示例
绝对路径从文件系统的根目录(如 / 或 C:\)开始的完整路径,唯一标识文件位置。- Linux: /home/user/docs/report.txt
- Windows: C:\Users\user\file.txt

绝对路径(适合固定位置或跨层级操作),例如像某些程序要加载配置文件,一般使用的是绝对路径 

        2.12相对路径  

类型定义示例
相对路径当前工作目录(Current Working Directory)出发的路径,依赖上下文。- 当前目录下的文件:file.txt
- 上级目录的兄弟文件:../images/photo.jpg

 相对路径(适合项目内灵活操作),但是在实际的项目编写当中,我们明显不可能每次使用某个文件或程序,一直书写绝对路径,写相对路径要更为方便与简洁。

2.2  “/” / . / .. / ~ / - /是啥意思

符号名称示例路径作用
/根目录/usr/bin绝对路径起点或目录分隔符
.当前目录./file.txt操作当前目录下的内容
..上级目录../config操作上级目录中的内容
~用户家目录~/Downloads快速访问家目录
-上一个目录cd -返回上一个工作目录

演示: 

1)cd / ;ll,我们可以发现所谓根目录下都是存放这一些操作系统的文件,像我们之前说的,操作系统的文件系统不是一颗多叉树吗,那么根节点就是多叉树的“root”节点。

2) .

3) cd ..(可以返回上级目录,同时也是常见的相对路径的部分)

                

 

4) cd ~

2.3 啥是家目录/根目录

1. 根目录

  • 符号/

  • 定位:文件系统的最顶层目录,所有其他目录和文件的起点。

  • 用途

    • 存放系统核心文件和目录(如 /bin/etc/usr 等)。

    • 所有绝对路径的起点(例如 /home/user/file.txt)。

  • 特点

    • 唯一性:整个系统只有一个根目录。

    • 权限限制:普通用户无法直接修改根目录下的系统文件(需管理员权限)。

2. 家目录

  • 符号~

  • 定位:每个用户的个人专属目录,通常位于 /home/用户名 下。

    • 普通用户:/home/用户名(如 /home/alice)。

    • root 用户:/root(权限更高,普通用户无法访问)。

  • 用途

    • 存储用户的个人文件(文档、下载、配置等)。

    • 用户登录后默认进入的目录。

  • 特点

    • 用户隔离:每个用户的家目录默认只有自己和 root 可访问。

    • 快捷操作:通过 ~ 符号快速访问(例如 cd ~/Downloads


三、指令/man手册是什么?

3.1、指令的本质

其实在我们学习完alias与which后,我们不就可以感觉到,其实系统内置的指令不就是一个又一个前人编写好的可执行程序,如果想要的话我们也可以将我们自己写的程序放入系统的特定路径下,也可以达到使用指令的效果。

3.2man手册是啥?

在我们学习man指令的时候,我们说到man指令通过查询man手册,获得Linux操作系统的官方文档信息,快速查询某些指令或接口的使用,是系统管理员和开发者的必备工具。

man 手册按内容分为 9个标准章节,用数字标识,避免同名内容冲突:

章节内容类型示例
1用户命令(可执行程序)man 1 ls → ls 命令用法
2系统调用(内核函数)man 2 open → open() 系统调用
3库函数(C标准库等)man 3 printf → C 语言 printf
4特殊文件(如设备文件)man 4 tty → 终端设备说明
5配置文件格式man 5 passwd → /etc/passwd 文件格式
6游戏(较少使用)
7杂项(如协议、文件系统)man 7 hier → 文件系统层级说明
8系统管理命令(需 root 权限)man 8 fdisk → 磁盘分区工具

演示:

当我们查不同的内容时,尽量带上它们所对应的编号,我们以printf接口为例子,它既可以是指令也是C语言的函数接口。 

比如当我们想查C语言中的printf,它所对应 的就是3中的库函数,所以我们需要这样:

man 3 printf

切记要带上这个3,如果不带上3我们查的就不是C语言中的库函数了,而是普通命令中的printf,因为我们在查找一个命令时,Linux手册默认的是从上到下查找,所以就是先1,再2,再......如果一个指令,就比如printf,在第一章中有,那么就找到它,直接就返回了,而不是继续查找第三章中C语言中的printf,所以要加上章节号。


四、Xshell当中的小技巧

4.1 快速终止程序

         [Ctrl]-c按键---让当前的前台进程『停掉』,例如在面对一些死循环的程序或者卡住的进程都可以使其快速停掉。

        演示:

 

当然也有时候,我们会遇到crtl+c杀不掉的情况,这时候我们可以选择kill指令去强杀进程了,不过这个办法要等到我们将进程讲完,才能给大家演示了。 

4.2 快速退出Xshell

[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可 以用来取代exit

演示:

4.3 优化Xshell的使用体验

[Tab]按键---具有『命令补全』和『档案补齐』的功能

按一次,如果当前目录有匹配的上的文件就直接快速补全,如果有多个那么就显示出所有的可能匹配上的内容。

Ctrl+R。搜索历史命令 

 这个热键的作用就是搜索我们当前账号历史上使用的某条特定的指令,会进入搜索模式,输入字符就可以搜索,历史使用的指令,可以按Enter退出。

上下按键(就是小键盘的方向键)。

上下按键在Linux当中存储的是历史命令,通过按上下键我们可以查看我们最近敲的命令。


我们也可以使用history指令查看历史命令。 

4.4 Xshell的复制粘贴

复制: ctrl + insert (有些同学的 insert 需要配合 fn 来按)

粘贴: shift + insert

Windows的ctrl + c / ctrl + v 是不行的.


总结: 

通过本文的梳理,我们深入探讨了 Linux 学习初期看似零散却至关重要的核心概念——从用户管理、文件系统结构到路径操作的本质,从指令的底层逻辑到 man 手册的灵活使用,再到 Xshell 的高效技巧。这些内容不仅是日常操作的基石,更是后续学习进程管理、权限控制、线程管理等复杂主题的跳板。创造不易,看到这里的你,可以给一个小小的赞吗?我们下期见。

相关文章:

  • 双目RealSense系统配置rs_camera.launch----实现D435i自制rosbag数据集到离线场景的slam建图
  • 贪心算法-860.柠檬水找零-力扣(LeetCode)
  • Linux系统编程:信号量Semaphore详解 (IPC)
  • vue3中ref在js中为什么需要.value才能获取/修改值?
  • C++:STL——list
  • 可以隐藏列的表格
  • 单片机 + 图像处理芯片 + TFT彩屏 复选框控件
  • Linux内核中的编译时安全防护:以网络协议栈控制块校验为例
  • 单片机之间的双向通信
  • terraform查看资源建的关联关系
  • 一、linux系统启动过程操作记录
  • 插入排序(直接插入排序、折半插入排序和希尔排序)
  • C++中析构函数
  • log4cpp进阶指南
  • LeetCode 每日一题 2025/4/21-2025/4/27
  • 关于Spark知识点与代码测试的学习总结
  • element-ui dropdown 组件源码分享
  • 【c++】AVL树模拟实现
  • Comfy UI 笔记
  • 文章记单词 | 第47篇(六级)
  • 中共中央、国务院关于表彰全国劳动模范和先进工作者的决定
  • “85后”潘欢欢已任河南中豫融资担保有限公司总经理
  • 全过程人民民主研究基地揭牌,为推动我国民主政治建设贡献上海智慧
  • 伊朗港口爆炸已致40人死亡
  • 中国航天员乘组完成在轨交接,神十九乘组将于29日返回地球
  • 马上评|演唱会云集,上海如何把“流量”变“留量”