【Linux】基础指令 1
Linux中各个指令是相互联系的,所以一开始学习Linux时,对指令很陌生是正常的,不用花费大量的时间去刻意的记忆,在我们一次次的使用当中,这些指令自然会烂熟于心。
简单看看各个指令的功能
ls指令
显示当前目录下的文件

pwd指令
显示用户当前所处的目录

cd指令
改变到指定的路径
![]()
touch指令
新建一个普通文件
![]()
mkdir指令
创建一个新目录
![]()
ls指令
前边提到了ls指令可以显示当前目录下的全部文件,侧重于不同的板块,它还有很多的其他的选项。
例如我们加一个-a就可以显示一个目录下的所有文件(包括隐藏文件)。

. 和 ..就是隐藏文件。Linux中任何一个目录(包括空目录)中都会存在 .和..。目录就是我们理解的文件夹,文件由属性和内容两部分构成创建的一个新的文件夹(不额外储存任何信息)那么它任然会占用内存,储存文件的属性也需要内存;而学习文件无非就是对文件的内容和属性进行操作。用stat命令可以查看一个文件的详细信息,文件的时间包括三部分--ACM。
A(Access Time, atime)访问时间,记录文件最后被访问的时间。每次读取文件时,这个时间会更新。
C(Change Time, ctime)修改时间,记录文件元数据(如权限或所有者)最后被更改的时间。与文件内容无关,但如果文件的权限或其他属性被修改,这个时间会更新。
M(Modification Time, mtime)状态改变时间,记录文件内容最后被修改的时间。当文件内容被写入时,此时间会更新。

.指向(当前目录)当前的目录本身 ,而..指向(上级目录)当前目录的父目录。这是不是和我们数据结构中学习的二叉树很相似呢,Linux的文件结构就是一棵以/(根节点)开头的多叉树。并且子叶节点一定是普通文件或者空目录,非子叶节点一定是非空目录。windows的文件结构也一样,也是由根目录(此电脑)开头的多叉树。

通过..我们就可以切换到上一级目录

那么一直使用..向父目录切换,会发生什么呢?

我们发现,最终会停在根目录,就无法向上一级目录切换了。
ls -l可以以长格式显示文件的内容

在window中,以文件的扩展名(后缀)来区分文件
以exe结尾的是可执行程序:

PDF文件的后缀就是pdf。

在Linux中以d开头的是目录(文件夹),以-开头的是普通文件

在Linux中,几乎所有的命令本质都是可执行文件,当我们把自己写的程序编译后生成可执行程序后 再拷贝到当前路径下就可以像输入命令一样使用它,这里先埋个坑,这个我们后边再实现。
对于ls指令只了解到这里,这里是它其他的常用选项。
-a:显示所有文件,包括隐藏文件(以.开头的文件)。-l:以长格式显示详细信息,包括权限、所有者、文件大小和修改时间。-h:与-l结合使用,显示人类可读的文件大小(例如 KB, MB)。-R:递归地列出所有子目录。-t:按修改时间排序,最近的文件排在前面。-S:按文件大小排序。-r:反向排序。
pwd指令
在终端中输入pwd后,按下回车键,系统会输出当前所在的目录路径。
常用选项
-
-L(或--logical)- 输出当前工作目录的逻辑路径,包含符号链接的路径。
- 这是
pwd命令的默认行为。
-
-P(或--physical)- 输出当前工作目录的物理路径,解析所有符号链接,显示实际的文件系统路径。

cd命令
相对路径和绝对路径

绝对路径
- 定义:绝对路径是从根目录开始,描述文件或目录的完整路径。
- 示例:在Unix/Linux系统中,绝对路径通常以
/开头,比如/home/user/documents/file.txt;在Windows系统中,路径可能以驱动器字母开头,例如C:\Users\User\Documents\file.txt。 - 特点:无论当前工作目录是什么,绝对路径总是指向同一个位置。

以根目录为参考访问各个目录
相对路径
- 定义:相对路径是相对于当前工作目录来描述文件或目录的路径。
- 示例:如果当前工作目录是
/home/user,那么documents/file.txt就是一个相对路径,指向/home/user/documents/file.txt。 - 特点:相对路径依赖于当前工作目录,可能在不同的上下文中指向不同的位置。

通过..访问上一路径,参考当前目录。
用法
常用示例
-
更改到指定目录:
cd /path/to/directory -
返回上一级目录:
cd ..

3.返回用户主目录(家目录):
cd ~
4.更改到上一次访问的目录:
cd -

用户刚登录时所处的路径就是家目录。
touch指令
touch指令可以新建一个普通文件,也可以改变文档或目录的日期和时间。
常用选项
-
-a
仅更新文件的访问时间(Access time)。touch -a filename -
-m
仅更新文件的修改时间(Modification time)。touch -m filename -
-c
如果文件不存在,不会创建新文件。只会在文件存在时更新时间戳。touch -c filename -
-t
使用指定的时间戳格式设置时间,格式为[[CC]YY]MMDDhhmm[.ss]。例如:touch -t 202310031230.00 filename这将设置文件的时间戳为 2023 年 10 月 3 日 12:30:00。
-
-d
使用指定的日期字符串作为时间戳。可以使用人类可读的日期格式。touch -d "2023-10-03 12:30:00" filename -
-r
使用另一个文件的时间戳来更新目标文件的时间戳。touch -r referencefile targetfile -
--help
显示帮助信息。touch --help -
--version
显示版本信息。touch --version
mkdir指令
-
-p
可以连续创建一串目录
-
-m
设置新目录的权限模式,格式为八进制数字。例如,设置权限为 755:mkdir -m 755 newdir -
--help
显示帮助信息。mkdir --help -
--version
显示版本信息。mkdir --version
相关文章:
【Linux】基础指令 1
Linux中各个指令是相互联系的,所以一开始学习Linux时,对指令很陌生是正常的,不用花费大量的时间去刻意的记忆,在我们一次次的使用当中,这些指令自然会烂熟于心。 简单看看各个指令的功能 ls指令 显示当前目录下的文…...
Linux_kernel字符设备驱动12
一、字符设备的编程框架 在Linux_kernel驱动开发11中,我们介绍的系统调用。只是为了做一个实验,在真正开发时,我们并不会直接在内核中添加一个新的系统调用,这样做会导致内核体积变大。 1、字符设备结构体 我们实现一个硬件字符设…...
服务保护sentinel
线程隔离 - 线程池隔离:给每个服务调用业务分配一个线程池,利用线程池本身实现隔离效果。 - 信号量隔离:不创建线程池,而是计数器模式,记录业务使用的线程数量,达到信号量上限时,禁止新的请求。…...
【ubuntu】Ubuntu20.04安装中文百度输入法
1.download 百度Linux输入法-支持全拼、双拼、五笔 2.unzip unzip Ubuntu_Deepin-fcitx-baidupinyin-64.zip 3.setting 3.1 setting fcitx sudo apt install aptitude sudo aptitude install fcitx-bin fcitx-table fcitx-config-gtk fcitx-frontend-all sudo aptitude in…...
蓝桥杯【物联网】零基础到国奖之路:十八. 扩展模块之光敏和AS312
蓝桥杯【物联网】零基础到国奖之路:十八.扩展模块之光敏和AS312 第一节 硬件解读第二节 CubeMX配置第二节 代码 第一节 硬件解读 光敏和AS312如下图: 光敏电阻接到了扩展模块的5号引脚,5号引脚接了2个电阻,R8和光敏电阻。我们通过ADC读取这…...
如何在微信小程序中实现分包加载和预下载
如何在微信小程序中实现分包加载和预下载 概述 微信小程序提供了分包加载和预下载功能,这有助于优化应用的加载时间,提升用户体验。本文将详细介绍如何在微信小程序中配置分包加载和预下载。 步骤一:配置分包加载 修改app.json文件&#x…...
初识TCP/IP协议
回顾上文 来回顾一下TCP协议的特性,有一道比较经典的题:如何使用UDP实现可靠传输,通过应用程序的代码,完成可靠传输的过程? 原则,TCO有啥就吹啥,引入滑动窗口,引入流量控制&#x…...
使用 classification_report 评估 scikit-learn 中的分类模型
介绍 在机器学习领域,评估分类模型的性能至关重要。scikit-learn 是一个功能强大的 Python 机器学习工具,提供了多种模型评估工具。其中最有用的函数之一是 classification_report,它可以全面概述分类模型的关键指标。在这篇文章中ÿ…...
高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十)高翔书中的细节:参考链接;卫星导航;ESKF
一、 参考链接 我认真查找了好多地方:结果在最后一页。 作者GITHUB链接如下: https://github.com/gaoxiang12/slam_in_autonomous_driving 全书所有参考链接 :如下 1 https://www.sae.org/standards/content/j3016_202104 2 http://www.evinchina.com/articleshow-217.htm…...
【在Python中爬取网页信息并存储】
在Python中爬取网页信息并存储的过程通常涉及几个关键步骤:发送HTTP请求、解析HTML内容、提取所需数据,以及将数据存储到适当的格式中(如文本文件、CSV文件、数据库等)。以下是一个更详细的指南,包括示例代码ÿ…...
ESP32 Bluedroid 篇(1)—— ibeacon 广播
前言 前面我们已经了解了 ESP32 的 BLE 整体架构,现在我们开始实际学习一下Bluedroid 从机篇的广播和扫描。本文将会以 ble_ibeacon demo 为例子进行讲解,需要注意的一点是。ibeacon 分为两个部分,一个是作为广播者,一个是作为观…...
【通配符】粗浅学习
1 背景说明 首先要注意,通配符中的符号和正则表达式中的特殊符号具备不同的匹配意义,例如:*在正则表达式中表示里面是指匹配前面的子表达式0次或者多次,而在通配符领域则是表示代表0个到无穷个任意字符。 此外,要注意…...
Spring MVC 常用注解
目录 基础概念 常用注解介绍 基础概念 1、MVC :代表一种软件架构设计思想,通俗的理解:客户端发送请求到后台服务器的Controller(C),控制器调用Model(M)来处理业务逻辑,处理完成后,返回处理后的数据到Vie…...
水泵模块(5V STM32)
目录 一、介绍 二、传感器原理 1.尺寸介绍 2.继电器控制水泵电路原理图 三、程序设计 main.c文件 bump.h文件 bump.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 水泵模块(bump)通常是指用于液体输送系统的组件,它负责将水或其他流体从低处提…...
需求6:如何写一个后端接口?
这两天一直在对之前做的工作做梳理总结,不过前两天我都是在总结一些bug的问题。尽管有些bug问题我还没写文章,但是,我今天不得不先停下对bug的总结了。因为在国庆之后,我需要自己开发一个IT资产管理的功能,这个功能需要…...
《Linux从小白到高手》理论篇(五):文件权限控制及文件操作相关的命令
本篇介绍Linux文件权限控制及文件操作相关的命令,看完本文,有关Linux文件权限控制及文件操作相关的常用命令你就掌握了99%了。 文件权限 在介绍文件权限之前先来复习下Linux的文件类型,始终记住那句话:Linux系统下,一…...
异常场景分析
优质博文:IT-BLOG-CN 为了防止黑客从前台异常信息,对系统进行攻击。同时,为了提高用户体验,我们都会都抛出的异常进行拦截处理。 一、异常处理类 Java把异常当做是破坏正常流程的一个事件,当事件发生后,…...
Leetcode: 0001-0010题速览
Leetcode: 0001-0010题速览 本文材料来自于LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解 遵从开源协议为知识共享 版权归属-相同方式…...
计算机的错误计算(一百一十二)
摘要 计算机的错误计算(六十三)与(六十八)以及(六十九)分别探讨了大数与 附近数以及 附近数 的余切函数的计算精度问题。本节讨论余切序列(即迭代 )的计算精度问题。 余切序列是指…...
C++基础(7)——STL简介及string类
目录 1.STL简介 1.1什么是 1.2STL的历史版本 1.3STL的六大组件 编辑 1.4有用的网址 2.string类 2.1string的多种定义方式 2.2string的插入 2.2.1尾插(push_back) 2.2.2insert插入 2.3拼接(append) 2.4删除 2.4.1尾…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...
