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

【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后,按下回车键,系统会输出当前所在的目录路径。

常用选项

  1. -L(或 --logical

    • 输出当前工作目录的逻辑路径,包含符号链接的路径。
    • 这是 pwd 命令的默认行为。
  2. -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
  • 特点:相对路径依赖于当前工作目录,可能在不同的上下文中指向不同的位置。

 

通过..访问上一路径,参考当前目录。

用法

常用示例

  1. 更改到指定目录

    cd /path/to/directory
  2. 返回上一级目录

    cd ..

     3.返回用户主目录(家目录)

cd ~                                                   

     4.更改到上一次访问的目录

cd -

用户刚登录时所处的路径就是家目录。

touch指令

touch指令可以新建一个普通文件,也可以改变文档或目录的日期和时间。

常用选项

  1. -a
    仅更新文件的访问时间(Access time)。

    touch -a filename
  2. -m
    仅更新文件的修改时间(Modification time)。

    touch -m filename
  3. -c
    如果文件不存在,不会创建新文件。只会在文件存在时更新时间戳。

    touch -c filename
  4. -t
    使用指定的时间戳格式设置时间,格式为 [[CC]YY]MMDDhhmm[.ss]。例如:

    touch -t 202310031230.00 filename

    这将设置文件的时间戳为 2023 年 10 月 3 日 12:30:00。

  5. -d
    使用指定的日期字符串作为时间戳。可以使用人类可读的日期格式。

    touch -d "2023-10-03 12:30:00" filename
  6. -r
    使用另一个文件的时间戳来更新目标文件的时间戳。

    touch -r referencefile targetfile
  7. --help
    显示帮助信息。

    touch --help
  8. --version
    显示版本信息。

    touch --version

mkdir指令

  1. -p
    可以连续创建一串目录

  2. -m
    设置新目录的权限模式,格式为八进制数字。例如,设置权限为 755:

    mkdir -m 755 newdir
  3. --help
    显示帮助信息。

    mkdir --help
  4. --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,它可以全面概述分类模型的关键指标。在这篇文章中&#xff…...

高翔【自动驾驶与机器人中的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文件、数据库等)。以下是一个更详细的指南,包括示例代码&#xff…...

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语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

【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 编写的&#xff0c;需要先安…...

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...